CVE-2026-109786 (GCVE-0-2026-109786)

Vulnerability from cvelistv5 – Published: 2026-10-13 02:40 – Updated: 2026-10-13 02:40
VLAI
Summary
In fail2ban 0.10.5 through 1.1.1 before ddd879d, the sshd filter (config/filter.d/sshd.conf) accepts an "on <token>" suffix after the host address. Because OpenSSH logs the offered username verbatim, a remote unauthenticated attacker can use a username such as "x VICTIM-SOURCE-IP-ADDRESS on" to make fail2ban associate failed login attempts with an arbitrary source IP address and ban it (e.g., to block logins from a legitimate user). The default filter mode is affected.
CWE
  • CWE-117 - Improper Output Neutralization for Logs
Assigner
mitre CNA under the mitre root
CNA scorecard E 28/100 over 2311 records in the last 180 days details
Impacted products
Vendor Product Version CPE status
fail2ban fail2ban Affected: 0.10.5 , ≤ 1.1.1 (custom)
    cpe:2.3:a:fail2ban:fail2ban:*:*:*:*:*:*:*:*
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unknown",
          "modules": [
            "sshd filter"
          ],
          "platforms": [
            "Linux",
            "Unix"
          ],
          "product": "fail2ban",
          "programFiles": [
            "config/filter.d/sshd.conf"
          ],
          "repo": "https://github.com/fail2ban/fail2ban",
          "vendor": "fail2ban",
          "versions": [
            {
              "lessThanOrEqual": "1.1.1",
              "status": "affected",
              "version": "0.10.5",
              "versionType": "custom"
            }
          ]
        }
      ],
      "configurations": [
        {
          "lang": "en",
          "supportingMedia": [
            {
              "base64": false,
              "type": "text/html",
              "value": "The sshd jail is enabled with the stock filter.d/sshd.conf (any mode: normal, the default, extra, or aggressive). Before 1.1.1 the filter only matches log lines from a process named sshd (OpenSSH before 10, or systems that log as sshd); 1.1.1 also matches OpenSSH 10\u0027s sshd-session."
            }
          ],
          "value": "The sshd jail is enabled with the stock filter.d/sshd.conf (any mode: normal, the default, extra, or aggressive). Before 1.1.1 the filter only matches log lines from a process named sshd (OpenSSH before 10, or systems that log as sshd); 1.1.1 also matches OpenSSH 10\u0027s sshd-session."
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:a:fail2ban:fail2ban:*:*:*:*:*:*:*:*",
                  "versionEndIncluding": "1.1.1",
                  "versionStartIncluding": "0.10.5",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In fail2ban 0.10.5 through 1.1.1 before ddd879d, the sshd filter (config/filter.d/sshd.conf) accepts an \"on \u003ctoken\u003e\" suffix after the host address. Because OpenSSH logs the offered username verbatim, a remote unauthenticated attacker can use a username such as \"x VICTIM-SOURCE-IP-ADDRESS on\" to make fail2ban associate failed login attempts with an arbitrary source IP address and ban it (e.g., to block logins from a legitimate user). The default filter mode is affected."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "attackComplexity": "LOW",
            "attackVector": "NETWORK",
            "availabilityImpact": "LOW",
            "baseScore": 5.3,
            "baseSeverity": "MEDIUM",
            "confidentialityImpact": "NONE",
            "integrityImpact": "NONE",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "NONE",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L",
            "version": "3.1"
          },
          "format": "CVSS",
          "scenarios": [
            {
              "lang": "en",
              "value": "GENERAL"
            }
          ]
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "cweId": "CWE-117",
              "description": "CWE-117 Improper Output Neutralization for Logs",
              "lang": "en",
              "type": "CWE"
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-10-13T02:40:13.899Z",
        "orgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
        "shortName": "mitre"
      },
      "references": [
        {
          "tags": [
            "patch"
          ],
          "url": "https://github.com/fail2ban/fail2ban/commit/ddd879d22664904ace24e1255ac6571808c58187"
        },
        {
          "tags": [
            "related"
          ],
          "url": "https://coredump.ws/repos/mail-hardening.git/"
        }
      ],
      "solutions": [
        {
          "lang": "en",
          "supportingMedia": [
            {
              "base64": false,
              "type": "text/html",
              "value": "Apply upstream commit ddd879d22664904ace24e1255ac6571808c58187, or upgrade to the first fail2ban release after 1.1.1 that contains it."
            }
          ],
          "value": "Apply upstream commit ddd879d22664904ace24e1255ac6571808c58187, or upgrade to the first fail2ban release after 1.1.1 that contains it."
        }
      ],
      "workarounds": [
        {
          "lang": "en",
          "supportingMedia": [
            {
              "base64": false,
              "type": "text/html",
              "value": "Override __on_port_opt and __suff in a local filter.d/sshd.local so that only an optional \"port N\" may follow the host address, as in the upstream fix: __on_port_opt = (?: port \\d+)? and __suff = %(__on_port_opt)s(?: \\[preauth\\])?\\s*. Add the administrator\u0027s own addresses to ignoreip."
            }
          ],
          "value": "Override __on_port_opt and __suff in a local filter.d/sshd.local so that only an optional \"port N\" may follow the host address, as in the upstream fix: __on_port_opt = (?: port \\d+)? and __suff = %(__on_port_opt)s(?: \\[preauth\\])?\\s*. Add the administrator\u0027s own addresses to ignoreip."
        }
      ],
      "x_generator": {
        "engine": "CVE-Request-form 0.0.1"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
    "assignerShortName": "mitre",
    "cveId": "CVE-2026-109786",
    "datePublished": "2026-10-13T02:40:13.899Z",
    "dateReserved": "2026-10-13T02:40:12.792Z",
    "dateUpdated": "2026-10-13T02:40:13.899Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-109786",
      "date": "2026-10-13",
      "epss": "0.00314",
      "percentile": "0.2254"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unknown",
                "modules": [
                  "sshd filter"
                ],
                "platforms": [
                  "Linux",
                  "Unix"
                ],
                "product": "fail2ban",
                "programFiles": [
                  "config/filter.d/sshd.conf"
                ],
                "repo": "https://github.com/fail2ban/fail2ban",
                "vendor": "fail2ban",
                "versions": [
                  {
                    "lessThanOrEqual": "1.1.1",
                    "status": "affected",
                    "version": "0.10.5",
                    "versionType": "custom"
                  }
                ]
              }
            ],
            "source": "cve@mitre.org"
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In fail2ban 0.10.5 through 1.1.1 before ddd879d, the sshd filter (config/filter.d/sshd.conf) accepts an \"on \u003ctoken\u003e\" suffix after the host address. Because OpenSSH logs the offered username verbatim, a remote unauthenticated attacker can use a username such as \"x VICTIM-SOURCE-IP-ADDRESS on\" to make fail2ban associate failed login attempts with an arbitrary source IP address and ban it (e.g., to block logins from a legitimate user). The default filter mode is affected."
          }
        ],
        "id": "CVE-2026-109786",
        "lastModified": "2026-10-13T03:16:40.943",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "LOW",
                "baseScore": 5.3,
                "baseSeverity": "MEDIUM",
                "confidentialityImpact": "NONE",
                "integrityImpact": "NONE",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L",
                "version": "3.1"
              },
              "exploitabilityScore": 3.9,
              "impactScore": 1.4,
              "source": "cve@mitre.org",
              "type": "Secondary"
            }
          ]
        },
        "published": "2026-10-13T03:16:40.943",
        "references": [
          {
            "source": "cve@mitre.org",
            "url": "https://coredump.ws/repos/mail-hardening.git/"
          },
          {
            "source": "cve@mitre.org",
            "url": "https://github.com/fail2ban/fail2ban/commit/ddd879d22664904ace24e1255ac6571808c58187"
          }
        ],
        "sourceIdentifier": "cve@mitre.org",
        "vulnStatus": "Received",
        "weaknesses": [
          {
            "description": [
              {
                "lang": "en",
                "value": "CWE-117"
              }
            ],
            "source": "cve@mitre.org",
            "type": "Primary"
          }
        ]
      }
    },
    "redhat_vex": {
      "current_release_date": "2026-10-13T05:24:10+00:00",
      "cve": "CVE-2026-109786",
      "id": "CVE-2026-109786",
      "initial_release_date": "2026-10-13T02:40:13.899000+00:00",
      "product_status:known_not_affected": "1",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "fail2ban: fail2ban: Denial of Service via improper host parsing in sshd filter",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-109786.json",
      "version": "3"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…