CVE-2025-15646 PUBLISHED

HTML::Gumbo versions before 0.19 for Perl disclose heap memory via type confusion

Assigner: CPANSec
Reserved: 22.05.2026 Published: 01.07.2026 Updated: 01.07.2026

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.

Product Status

Vendor BPS
Product HTML::Gumbo
Versions Default: unaffected
  • affected from 0 to 0.19 (excl.)

Solutions

Upgrade to HTML-Gumbo 0.19 or later, which adds GUMBO_NODE_TEMPLATE to the container node types handled by walk_tree.

Credits

  • Vincent Lefevre finder
  • Niko Tyni remediation developer

References

Problem Types

  • CWE-843 Access of Resource Using Incompatible Type (Type Confusion) CWE
  • CWE-125 Out-of-bounds Read CWE