CVE-2016-3191
KrytyczneStreszczenie
Funkcja compile_branch w PCRE 8.x przed wersją 8.39 oraz w PCRE2 przed wersją 10.22 niewłaściwie obsługuje wzorce zawierające podciąg (*ACCEPT) w połączeniu z zagnieżdżonymi nawiasami. To umożliwia zdalnym atakującym wykonanie dowolnego kodu lub spowodowanie odmowy usługi poprzez złośliwie skonstruowany wyrażenie regularne.
Ocena ryzyka
Organizacje mogą być narażone na zdalne wykonanie kodu lub ataki typu denial of service, co może prowadzić do poważnych zakłóceń w działaniu systemów.
Rekomendacja
Zaleca się aktualizację do najnowszej wersji PCRE lub PCRE2, aby usunąć tę podatność oraz przeglądanie i weryfikację używanych wyrażeń regularnych pod kątem bezpieczeństwa.
Oryginalny opis (angielski, źródło NVD)
The compile_branch function in pcre_compile.c in PCRE 8.x before 8.39 and pcre2_compile.c in PCRE2 before 10.22 mishandles patterns containing an (*ACCEPT) substring in conjunction with nested parentheses, which allows remote attackers to execute arbitrary code or cause a denial of service (stack-based buffer overflow) via a crafted regular expression, as demonstrated by a JavaScript RegExp object encountered by Konqueror, aka ZDI-CAN-3542.

