CVE-2026-33691 (GCVE-0-2026-33691)

Vulnerability from cvelistv5 – Published: 2026-04-02 15:03 – Updated: 2026-04-18 19:16
VLAI
Title
OWASP CRS: Whitespace padding in filenames bypasses file upload extension checks
Summary
The OWASP core rule set (CRS) is a set of generic attack detection rules for use with compatible web application firewalls. Prior to versions 3.3.9 and 4.25.0, a bypass was identified in OWASP CRS that allows uploading files with dangerous extensions (.php, .phar, .jsp, .jspx) by inserting whitespace padding in the filename (e.g. photo. php or shell.jsp ). The affected rules do not normalize whitespace before evaluating the file extension regex, so the dot-extension check fails to match. This issue has been patched in versions 3.3.9 and 4.25.0.
SSVC
Exploitation: none Automatable: no Technical Impact: partial
CISA Coordinator (v2.0.3)
CWE
  • CWE-178 - Improper Handling of Case Sensitivity
Assigner
Impacted products
Vendor Product Version
coreruleset coreruleset Affected: < 3.3.9
Affected: >= 4.0.0-rc1, < 4.25.0
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "adp": [
      {
        "providerMetadata": {
          "dateUpdated": "2026-04-18T19:16:54.006Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "url": "http://www.openwall.com/lists/oss-security/2026/03/29/2"
          },
          {
            "url": "http://seclists.org/fulldisclosure/2026/Apr/0"
          },
          {
            "url": "http://www.openwall.com/lists/oss-security/2026/04/18/4"
          }
        ],
        "title": "CVE Program Container"
      },
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2026-33691",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2026-04-02T17:38:01.007742Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2026-04-02T17:38:10.247Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "product": "coreruleset",
          "vendor": "coreruleset",
          "versions": [
            {
              "status": "affected",
              "version": "\u003c 3.3.9"
            },
            {
              "status": "affected",
              "version": "\u003e= 4.0.0-rc1, \u003c 4.25.0"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "The OWASP core rule set (CRS) is a set of generic attack detection rules for use with compatible web application firewalls. Prior to versions 3.3.9 and 4.25.0, a bypass was identified in OWASP CRS that allows uploading files with dangerous extensions (.php, .phar, .jsp, .jspx) by inserting whitespace padding in the filename (e.g. photo. php or shell.jsp ). The affected rules do not normalize whitespace before evaluating the file extension regex, so the dot-extension check fails to match. This issue has been patched in versions 3.3.9 and 4.25.0."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "attackComplexity": "HIGH",
            "attackVector": "NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 6.8,
            "baseSeverity": "MEDIUM",
            "confidentialityImpact": "NONE",
            "integrityImpact": "HIGH",
            "privilegesRequired": "NONE",
            "scope": "CHANGED",
            "userInteraction": "NONE",
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:H/A:N",
            "version": "3.1"
          }
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "cweId": "CWE-178",
              "description": "CWE-178: Improper Handling of Case Sensitivity",
              "lang": "en",
              "type": "CWE"
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-04-02T15:03:52.126Z",
        "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "shortName": "GitHub_M"
      },
      "references": [
        {
          "name": "https://github.com/coreruleset/coreruleset/security/advisories/GHSA-rw5f-9w43-gv2w",
          "tags": [
            "x_refsource_CONFIRM"
          ],
          "url": "https://github.com/coreruleset/coreruleset/security/advisories/GHSA-rw5f-9w43-gv2w"
        },
        {
          "name": "https://github.com/coreruleset/coreruleset/pull/4546",
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://github.com/coreruleset/coreruleset/pull/4546"
        },
        {
          "name": "https://github.com/coreruleset/coreruleset/pull/4547",
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://github.com/coreruleset/coreruleset/pull/4547"
        },
        {
          "name": "https://github.com/coreruleset/coreruleset/pull/4548",
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://github.com/coreruleset/coreruleset/pull/4548"
        },
        {
          "name": "https://github.com/coreruleset/coreruleset/commit/2a8c63512811c5dd74472becebb79a783e68ff02",
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://github.com/coreruleset/coreruleset/commit/2a8c63512811c5dd74472becebb79a783e68ff02"
        },
        {
          "name": "https://github.com/coreruleset/coreruleset/releases/tag/v3.3.9",
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://github.com/coreruleset/coreruleset/releases/tag/v3.3.9"
        },
        {
          "name": "https://github.com/coreruleset/coreruleset/releases/tag/v4.25.0",
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://github.com/coreruleset/coreruleset/releases/tag/v4.25.0"
        }
      ],
      "source": {
        "advisory": "GHSA-rw5f-9w43-gv2w",
        "discovery": "UNKNOWN"
      },
      "title": "OWASP CRS: Whitespace padding in filenames bypasses file upload extension checks"
    }
  },
  "cveMetadata": {
    "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
    "assignerShortName": "GitHub_M",
    "cveId": "CVE-2026-33691",
    "datePublished": "2026-04-02T15:03:52.126Z",
    "dateReserved": "2026-03-23T16:34:59.932Z",
    "dateUpdated": "2026-04-18T19:16:54.006Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-33691",
      "date": "2026-07-24",
      "epss": "0.03579",
      "percentile": "0.88168"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-33691\",\"sourceIdentifier\":\"security-advisories@github.com\",\"published\":\"2026-04-02T16:16:22.593\",\"lastModified\":\"2026-07-24T21:10:00.143\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"The OWASP core rule set (CRS) is a set of generic attack detection rules for use with compatible web application firewalls. Prior to versions 3.3.9 and 4.25.0, a bypass was identified in OWASP CRS that allows uploading files with dangerous extensions (.php, .phar, .jsp, .jspx) by inserting whitespace padding in the filename (e.g. photo. php or shell.jsp ). The affected rules do not normalize whitespace before evaluating the file extension regex, so the dot-extension check fails to match. This issue has been patched in versions 3.3.9 and 4.25.0.\"},{\"lang\":\"es\",\"value\":\"El conjunto de reglas base de OWASP (CRS) es un conjunto de reglas gen\u00e9ricas de detecci\u00f3n de ataques para usar con firewalls de aplicaciones web compatibles. Antes de las versiones 3.3.9 y 4.25.0, se identific\u00f3 un bypass en OWASP CRS que permite la carga de archivos con extensiones peligrosas (.PHP, .phar, .jsp, .jspx) insertando relleno de espacios en blanco en el nombre del archivo (por ejemplo, photo. PHP o shell.jsp ). Las reglas afectadas no normalizan los espacios en blanco antes de evaluar la expresi\u00f3n regular de la extensi\u00f3n de archivo, por lo que la comprobaci\u00f3n de extensi\u00f3n de punto falla al coincidir. Este problema ha sido parcheado en las versiones 3.3.9 y 4.25.0.\"}],\"affected\":[{\"source\":\"security-advisories@github.com\",\"affectedData\":[{\"vendor\":\"coreruleset\",\"product\":\"coreruleset\",\"versions\":[{\"version\":\"\u003c 3.3.9\",\"status\":\"affected\"},{\"version\":\"\u003e= 4.0.0-rc1, \u003c 4.25.0\",\"status\":\"affected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:H/A:N\",\"baseScore\":6.8,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"HIGH\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"CHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"NONE\"},\"exploitabilityScore\":2.2,\"impactScore\":4.0},{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N\",\"baseScore\":7.5,\"baseSeverity\":\"HIGH\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"NONE\"},\"exploitabilityScore\":3.9,\"impactScore\":3.6}],\"ssvcV203\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"ssvcData\":{\"timestamp\":\"2026-04-02T17:38:01.007742Z\",\"id\":\"CVE-2026-33691\",\"options\":[{\"exploitation\":\"none\"},{\"automatable\":\"no\"},{\"technicalImpact\":\"partial\"}],\"role\":\"CISA Coordinator\",\"version\":\"2.0.3\"}}]},\"weaknesses\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-178\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:owasp:owasp_modsecurity_core_rule_set:*:*:*:*:*:*:*:*\",\"versionEndExcluding\":\"3.3.9\",\"matchCriteriaId\":\"33F8A888-1ED5-40BC-B1B9-7AA88411B0E0\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:owasp:owasp_modsecurity_core_rule_set:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"4.0.0\",\"versionEndExcluding\":\"4.25.0\",\"matchCriteriaId\":\"8822CE75-E018-4576-B30B-A25A1A2F60E0\"}]}]}],\"references\":[{\"url\":\"https://github.com/coreruleset/coreruleset/commit/2a8c63512811c5dd74472becebb79a783e68ff02\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Patch\"]},{\"url\":\"https://github.com/coreruleset/coreruleset/pull/4546\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Issue Tracking\",\"Patch\"]},{\"url\":\"https://github.com/coreruleset/coreruleset/pull/4547\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Issue Tracking\",\"Patch\"]},{\"url\":\"https://github.com/coreruleset/coreruleset/pull/4548\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Patch\"]},{\"url\":\"https://github.com/coreruleset/coreruleset/releases/tag/v3.3.9\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Product\",\"Release Notes\"]},{\"url\":\"https://github.com/coreruleset/coreruleset/releases/tag/v4.25.0\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Product\",\"Release Notes\"]},{\"url\":\"https://github.com/coreruleset/coreruleset/security/advisories/GHSA-rw5f-9w43-gv2w\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Mitigation\",\"Patch\",\"Vendor Advisory\"]},{\"url\":\"http://seclists.org/fulldisclosure/2026/Apr/0\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Mailing List\",\"Third Party Advisory\"]},{\"url\":\"http://www.openwall.com/lists/oss-security/2026/03/29/2\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Mailing List\",\"Third Party Advisory\"]},{\"url\":\"http://www.openwall.com/lists/oss-security/2026/04/18/4\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"}]}}",
    "redhat_vex": {
      "current_release_date": "2026-06-28T07:30:21+00:00",
      "cve": "CVE-2026-33691",
      "id": "CVE-2026-33691",
      "initial_release_date": "2026-04-02T15:03:52.126000+00:00",
      "product_status:known_not_affected": "1",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "coreruleset: OWASP Core Rule Set: File upload bypass via whitespace padding in filenames",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-33691.json",
      "version": "3"
    },
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CVE Program Container\", \"references\": [{\"url\": \"http://www.openwall.com/lists/oss-security/2026/03/29/2\"}, {\"url\": \"http://seclists.org/fulldisclosure/2026/Apr/0\"}, {\"url\": \"http://www.openwall.com/lists/oss-security/2026/04/18/4\"}], \"providerMetadata\": {\"orgId\": \"af854a3a-2127-422b-91ae-364da2661108\", \"shortName\": \"CVE\", \"dateUpdated\": \"2026-04-18T19:16:54.006Z\"}}, {\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2026-33691\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2026-04-02T17:38:01.007742Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2026-04-02T17:38:04.990Z\"}}], \"cna\": {\"title\": \"OWASP CRS: Whitespace padding in filenames bypasses file upload extension checks\", \"source\": {\"advisory\": \"GHSA-rw5f-9w43-gv2w\", \"discovery\": \"UNKNOWN\"}, \"metrics\": [{\"cvssV3_1\": {\"scope\": \"CHANGED\", \"version\": \"3.1\", \"baseScore\": 6.8, \"attackVector\": \"NETWORK\", \"baseSeverity\": \"MEDIUM\", \"vectorString\": \"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:H/A:N\", \"integrityImpact\": \"HIGH\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"HIGH\", \"availabilityImpact\": \"NONE\", \"privilegesRequired\": \"NONE\", \"confidentialityImpact\": \"NONE\"}}], \"affected\": [{\"vendor\": \"coreruleset\", \"product\": \"coreruleset\", \"versions\": [{\"status\": \"affected\", \"version\": \"\u003c 3.3.9\"}, {\"status\": \"affected\", \"version\": \"\u003e= 4.0.0-rc1, \u003c 4.25.0\"}]}], \"references\": [{\"url\": \"https://github.com/coreruleset/coreruleset/security/advisories/GHSA-rw5f-9w43-gv2w\", \"name\": \"https://github.com/coreruleset/coreruleset/security/advisories/GHSA-rw5f-9w43-gv2w\", \"tags\": [\"x_refsource_CONFIRM\"]}, {\"url\": \"https://github.com/coreruleset/coreruleset/pull/4546\", \"name\": \"https://github.com/coreruleset/coreruleset/pull/4546\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/coreruleset/coreruleset/pull/4547\", \"name\": \"https://github.com/coreruleset/coreruleset/pull/4547\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/coreruleset/coreruleset/pull/4548\", \"name\": \"https://github.com/coreruleset/coreruleset/pull/4548\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/coreruleset/coreruleset/commit/2a8c63512811c5dd74472becebb79a783e68ff02\", \"name\": \"https://github.com/coreruleset/coreruleset/commit/2a8c63512811c5dd74472becebb79a783e68ff02\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/coreruleset/coreruleset/releases/tag/v3.3.9\", \"name\": \"https://github.com/coreruleset/coreruleset/releases/tag/v3.3.9\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/coreruleset/coreruleset/releases/tag/v4.25.0\", \"name\": \"https://github.com/coreruleset/coreruleset/releases/tag/v4.25.0\", \"tags\": [\"x_refsource_MISC\"]}], \"descriptions\": [{\"lang\": \"en\", \"value\": \"The OWASP core rule set (CRS) is a set of generic attack detection rules for use with compatible web application firewalls. Prior to versions 3.3.9 and 4.25.0, a bypass was identified in OWASP CRS that allows uploading files with dangerous extensions (.php, .phar, .jsp, .jspx) by inserting whitespace padding in the filename (e.g. photo. php or shell.jsp ). The affected rules do not normalize whitespace before evaluating the file extension regex, so the dot-extension check fails to match. This issue has been patched in versions 3.3.9 and 4.25.0.\"}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-178\", \"description\": \"CWE-178: Improper Handling of Case Sensitivity\"}]}], \"providerMetadata\": {\"orgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"shortName\": \"GitHub_M\", \"dateUpdated\": \"2026-04-02T15:03:52.126Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2026-33691\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-04-18T19:16:54.006Z\", \"dateReserved\": \"2026-03-23T16:34:59.932Z\", \"assignerOrgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"datePublished\": \"2026-04-02T15:03:52.126Z\", \"assignerShortName\": \"GitHub_M\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }
  }
}



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…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Loading…