Symfony Polyfill zawiera backporty funkcji PHP i warstwy kompatybilności dla rozszerzeń. Od wersji 1.17.1 do 1.38.1, symfony/polyfill-intl-idn akceptuje etykiety xn-- z pustą zawartością Punycode'u lub dekodujące się wyłącznie do ASCII, ponieważ Idn::process() nie wymusza warunku z UTS #46 revision 33, że zdekodowane etykiety ACE muszą zawierać co najmniej jeden punkt kodu spoza ASCII. Oryginalnie różne nazwy domen mogą być traktowane jako równe, co prowadzi do obejścia blacklist'y, niekonsystentnego parsowania URL-i i SSRF w aplikacjach używających polyfill'u do kanonicalizacji lub porównywania hostname'ów. Problem naprawiono w wersji 1.38.1.
▸ Pokaż oryginał (EN)
Symfony Polyfill backports PHP features and provides compatibility layers for extensions and functions. From 1.17.1 until 1.38.1, symfony/polyfill-intl-idn accepts xn-- labels whose Punycode payload is empty or decodes to ASCII-only code points because Idn::process() does not enforce the UTS #46 revision 33 requirement that decoded ACE labels contain at least one non-ASCII code point. Originally unequal domain names can be regarded as equal, which can lead to blacklist bypassing, inconsistent URL parsing, and server-side request forgery in applications using the polyfill to canonicalise or compare hostnames. This issue is fixed in version 1.38.1.
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X