CRITICAL✓ PATCH🇬🇧 English

CVE-2025-15646

HTML::Gumbo – ujawnienie zawartości sterty przez type confusion przy obsłudze <template>

CVSS 9.8v3.1pub. 2026-07-01upd. 2026-07-02

Biblioteka HTML::Gumbo dla Perla w wersjach przed 0.19 ujawnia zawartość pamięci sterty (heap) wskutek błędu type confusion przy przetwarzaniu elementu HTML <template>. Podatność umożliwia atakującemu uzyskanie fragmentów wrażliwych danych z pamięci procesu.

Pokaż oryginał (EN)

HTML::Gumbo versions before 0.19 for Perl disclose heap memory via type confusion. Support for the <template> element was added to libgumbo 0.10.0 in 2015, but the walk_tree function in lib/HTML/Gumbo.xs was not updated to support it. The element was treated as a text-node, where strlen() over-reads the heap block that the pointer addresses. Any caller that runs parse() with the default format => 'string', or with format => 'tree', on input containing a <template> element serializes the over-read bytes into the returned result, disclosing bounded heap contents. format => 'callback' reaches a croak on the unhandled node type and is unaffected.

🤖 Analiza AI
Jak działa

Element <template> został dodany do libgumbo 0.10.0 w 2015 roku, jednak funkcja walk_tree w pliku lib/HTML/Gumbo.xs nie została zaktualizowana o jego obsługę. Element jest błędnie traktowany jako węzeł tekstowy (type confusion, CWE-843), co powoduje wywołanie strlen() na wskaźniku adresującym blok sterty przeznaczony dla innego typu danych. Skutkuje to odczytem poza granicami bufora (out-of-bounds read, CWE-125). Każdy wywołujący, który korzysta z parse() z domyślnym format => 'string' lub z format => 'tree' na danych wejściowych zawierających element <template>, otrzymuje w wyniku zserializowane bajty odczytane poza granicami bloku, tym samym ujawniając ograniczoną porcję zawartości sterty. Tryb format => 'callback' nie jest podatny, ponieważ nieobsługiwany typ węzła powoduje wywołanie croak.

Skutki

Atakujący może uzyskać fragmenty zawartości sterty procesu przetwarzającego dane HTML, co może prowadzić do ujawnienia wrażliwych informacji (np. kluczy, tokenów, danych użytkowników) przechowywanych w pamięci aplikacji.

Mitygacja

Należy zaktualizować HTML::Gumbo do wersji 0.19 lub nowszej. Patch dostępny jest w repozytorium GitHub projektu (commit 15c0598909d4a64f47ef0a1abc5051f4e113c186) oraz w dystrybucji CPAN pod oznaczeniem HTML-Gumbo-0.19.

Kogo dotyczy

HTML::Gumbo dla Perla w wersjach przed 0.19

Uwagi

Podatność została zgłoszona w Debian Bug Tracker pod numerem #1104789 oraz ogłoszona na liście oss-security w dniu 2026-07-01. Tryb format => 'callback' nie jest podatny.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
🟢
PATCH DOSTĘPNY
Aktualizacja od producenta gotowa. Wdrożenie w ramach standardowego cyklu.
CWE
Referencje