CVE-2026-107381
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 35 - wyżej niż 35% wszystkich znanych CVE
Streszczenie
svg-sanitizer to sanitizer SVG/XML w PHP. W wersjach przed 1.0.0 metoda Resolver::processReferences() w src/ElementReference/Resolver.php buduje graf referencji <use> z predykatem atrybutu href z rozróżnianiem wielkości liter, zanim cleanHrefAttributes() znormalizuje nazwy o mieszanej wielkości liter. Atakujący może podać xlink:HrEf w zagnieżdżonych elementach <use>, aby graf pominął te referencje, po czym sanitizer konwertuje atrybut do kanonicznego xlink:href i zwraca aktywną strukturę zagnieżdżenia bez zastosowania ochrony useNestingLimit. Aplikacja renderująca oczyszczony SVG może być narażona na wyczerpanie zasobów, któremu ma zapobiegać ta kontrola. Problem naprawiono w wersji 1.0.0.
Ocena ryzyka
Atakujący może zdalnie dostarczyć spreparowany SVG, który po oczyszczeniu i renderowaniu przez aplikację powoduje wyczerpanie zasobów, prowadząc do odmowy usługi (DoS). Może to zakłócić działanie aplikacji przetwarzających niezaufane pliki SVG.
Rekomendacja
Zaktualizuj bibliotekę svg-sanitizer do wersji 1.0.0 lub nowszej. Jeśli aktualizacja nie jest możliwa, ogranicz renderowanie niezaufanych plików SVG lub zastosuj dodatkowe limity zasobów.
Inne podatności w svg-sanitizer
Zobacz wszystkie- CVE-2026-117541Średnie
svg-sanitizer od wersji 0.11.0 przed 1.1.0 zawiera podatność nieprzechwyconego wyjątku, która pozwala atakującym na zawieszenie wywołujących poprzez przesłanie poprawnego XML bez głównego elementu svg. Atakujący mogą dostarczyć dokumenty z nie-svg korzeniem lub zagnieżdżonym elementem svg, powodując, że Sanitizer::sanitize() rzuca LogicException zamiast zwracać false, co prowadzi do awarii workerów lub obejścia odrzucenia uploadu.
- CVE-2026-117540Wysokie
Biblioteka svg-sanitizer w wersjach od 0.5.3 przed 1.1.0 zawiera podatność typu denial of service w metodzie Sanitizer::sanitize(), która wielokrotnie skanuje cały wejściowy tekst podczas usuwania tagów PHP. Nieuwierzytelniony atakujący może przesłać pliki SVG z wieloma nakładającymi się otwierającymi i zamykającymi tagami PHP, wymuszając kwadratowe przebiegi preg_replace i wyczerpując CPU procesu roboczego na wiele minut.
- CVE-2026-117539Niskie
Biblioteka darylldoyle svg-sanitizer w wersjach przed 1.0.0 zawiera podatności polegające na wstrzyknięciu CSS i obejściu zdalnych odwołań, umożliwiające atakującym osadzanie zewnętrznych zasobów poprzez przesyłanie spreparowanych plików SVG. Atakujący mogą wykorzystać nieoczyszczoną zawartość stylów, niecytowane wartości url() lub atrybuty href obrazów do eksfiltracji danych strony, śledzenia użytkowników lub ujawniania adresów IP odwiedzających.
Oryginalny opis (angielski, źródło NVD)
svg-sanitizer is a PHP SVG/XML sanitizer. Prior to 1.0.0, Resolver::processReferences() in src/ElementReference/Resolver.php builds the SVG <use> reference graph with a case-sensitive href attribute predicate before cleanHrefAttributes() normalizes mixed-case names. An attacker can provide xlink:HrEf on nested <use> elements so the graph omits those references, after which the sanitizer converts the attribute to canonical xlink:href and returns the live nesting structure without applying the useNestingLimit protection. A consuming application that renders the sanitized SVG can therefore be exposed to the resource exhaustion that control is designed to prevent. This issue is fixed in version 1.0.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

