Błąd w regule 922110 zestawu OWASP ModSecurity Core Rule Set (CRS) powoduje, że złośliwy charset w nagłówkach wcześniejszych części żądania multipart może zostać zignorowany przez firewall. Jest to podatność umożliwiająca obejście zabezpieczeń WAF, co czyni ją krytyczną dla systemów polegających na CRS jako warstwie ochrony.
▸ Pokaż oryginał (EN)
The OWASP core rule set (CRS) is a set of generic attack detection rules for use with compatible web application firewalls. Prior to versions 4.22.0 and 3.3.8, the current rule 922110 has a bug when processing multipart requests with multiple parts. When the first rule in a chain iterates over a collection (like `MULTIPART_PART_HEADERS`), the capture variables (`TX:0`, `TX:1`) get overwritten with each iteration. Only the last captured value is available to the chained rule, which means malicious charsets in earlier parts can be missed if a later part has a legitimate charset. Versions 4.22.0 and 3.3.8 patch the issue.
Reguła 922110 iteruje po kolekcji `MULTIPART_PART_HEADERS`, aby wykryć nieprawidłowe wartości charset w żądaniach multipart. Podczas każdej iteracji zmienne przechwytywania (`TX:0`, `TX:1`) są nadpisywane, a powiązana reguła w łańcuchu otrzymuje jedynie ostatnią przechwyconą wartość. W efekcie, jeżeli żądanie zawiera wiele części, złośliwy charset obecny we wcześniejszych częściach jest tracony — warunek wykrycia sprawdzany jest wyłącznie dla ostatniej, potencjalnie legalnej części.
Atakujący może przesłać żądanie multipart zawierające złośliwy charset w nagłówkach wcześniejszych części, które zostanie przepuszczone przez WAF bez alarmu. Skutkuje to skutecznym obejściem ochrony (WAF bypass) i możliwością dostarczenia szkodliwego payloadu do chronionej aplikacji.
Należy zaktualizować OWASP CRS do wersji 4.22.0 lub 3.3.8, które zawierają poprawkę dla reguły 922110. Patche dostępne są w repozytoriach GitHub projektu (tagi v4.22.0 oraz v3.3.8).
OWASP ModSecurity Core Rule Set (CRS) w wersjach poprzedzających 4.22.0 oraz 3.3.8
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:NOwasp Modsecurity Core Rule Set
APPOwasp< 3.3.84.0.0 – 4.22.0 (bez)
Powiązane podatności
Modsecurity owasp-modsecurity-crs 3.2.0 (Paranoia level at PL1) has a SQL injection bypass vulnerability. Atta...
OWASP ModSecurity Core Rule Set 3.1.x before 3.1.2, 3.2.x before 3.2.1, and 3.3.x before 3.3.2 is affected by ...
The OWASP ModSecurity Core Rule Set (CRS) is affected by a response body bypass to sequentially exfiltrate sma...
The OWASP ModSecurity Core Rule Set (CRS) is affected by a partial rule set bypass by submitting a specially c...
The OWASP ModSecurity Core Rule Set (CRS) is affected by a partial rule set bypass for HTTP multipart requests...