CVE-2026-9390
KrytyczneCVSS 9.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 20 - wyżej niż 20% wszystkich znanych CVE
Streszczenie
Podatność XPath injection w module XML::Sig dla Perla przed wersją 0.71. Funkcje verify() i _get_signed_xml() budują wyrażenia XPath bez odpowiedniego escapowania wartości URI z dokumentu, co pozwala na wstrzyknięcie własnych operatorów XPath.
Ocena ryzyka
Atakujący może spreparować URI tak, aby weryfikacja podpisu XML wybrała inne elementy niż zamierzone, co może prowadzić do obejścia integralności podpisu.
Rekomendacja
Zaktualizuj XML::Sig do wersji 0.71 lub nowszej, która zawiera poprawkę.
Inne podatności w XML::Sig
Zobacz wszystkie- CVE-2026-9487Krytyczne
Podatność w bibliotece XML::Sig dla Perla (wersje przed 0.71) pozwala na ominięcie weryfikacji podpisu poprzez duplikację identyfikatora ID. Funkcja _get_signed_xml() wybiera pierwszy węzeł z zestawu pasującego do wyrażenia XPath, co umożliwia atakującemu podmianę treści podpisanego dokumentu.
- CVE-2025-40934Krytyczne
XML-Sig w wersjach od 0.27 do 0.67 dla Perla nieprawidłowo weryfikuje pliki XML, jeśli podpisy są pominięte. Atakujący może usunąć podpis z dokumentu XML, aby przeszedł on weryfikację. XML-Sig to moduł Perla do walidacji podpisów w plikach XML. Niepodpisany plik XML powinien zwracać komunikat o błędzie, ale dotknięte wersje zwracają true podczas próby walidacji pliku XML bez podpisów.
- CVE-2026-18568Wysokie
XML::Sig dla Perla w wersjach od 0.29 do 0.71 pozwala na ominięcie weryfikacji podpisu. Funkcja verify zwraca true, gdy każdy podpis został pominięty przed jakimkolwiek sprawdzeniem kryptograficznym. Atakujący może dostarczyć dokument XML z dwoma elementami Signature, których URI odwołuje się do nieistniejącego ID, co powoduje, że verify zwraca true bez sprawdzenia podpisu.
Oryginalny opis (angielski, źródło NVD)
XML::Sig versions before 0.71 for Perl allow XPath injection in ID lookup. verify() and _get_signed_xml() in lib/XML/Sig.pm build XPath expressions by concatenating the SignedInfo/Reference/@URI value read from the document being verified. The value is neither escaped nor checked against the NCName grammar that XML requires of an ID, so a URI containing a single quote closes the string literal in the generated expression and appends arbitrary XPath operators. A crafted URI can make the lookup match elements the reference does not name, or every element in the document, so which node is selected for digest verification is decided by the injected expression rather than by the reference.

