Security Advisories (2)
CVE-2006-10002 (2026-03-19)

XML::Parser versions through 2.45 for Perl could overflow the pre-allocated buffer size cause a heap corruption (double free or corruption) and crashes. A :utf8 PerlIO layer, parse_stream() in Expat.xs could overflow the XML input buffer because Perl's read() returns decoded characters while SvPV() gives back multi-byte UTF-8 bytes that can exceed the pre-allocated buffer size. This can cause heap corruption (double free or corruption) and crashes.

CVE-2006-10003 (2026-03-19)

XML::Parser versions through 2.47 for Perl has an off-by-one heap buffer overflow in st_serial_stack. In the case (stackptr == stacksize - 1), the stack will NOT be expanded. Then the new value will be written at location (++stackptr), which equals stacksize and therefore falls just outside the allocated buffer. The bug can be observed when parsing an XML file with very deep element nesting

Changes for version 2.19 - 1999-01-03

  • When the recognized string is long enough, expat uses multiple calls to reportDefault. Fixed recString handler in Expat.xs to deal with this properly.
  • Added original_string method to Expat. This returns the untranslated string (i.e. original encoding) that caused current event.
  • Alberto Accomazzi <alberto@cfa0.harvard.edu> sent in more patches for perl5.005_54 incompatibilities.
  • Alberto also fingered a nasty memory bug in Expat.xs that arose sometimes when you registered a declaration handler but no default handler. It would give you a "Not a CODE reference" error in a place that wasn't using any CODE references.
  • <schinder@pobox.com> reported a problem with compiling expat on a Sun 4 due to non-exsitance of memmove on that OS. Provided a workaround in Makefile.PL
  • Now using expat Version 19981231 from James Clark's test directory.
  • Made patch to this version in order to support original_string (see Expat/expat.patches.)
  • Added CdataStart and CdataEnd handlers to expat.

Modules

Lowlevel access to James Clark's expat XML parser
Lowlevel access to James Clark's expat XML parser
A perl module for parsing XML documents

Provides

in Parser.pm
in Expat/Expat.pm
in Mac_Changes/Expat.pm
in Parser.pm
in Parser.pm
in Parser.pm
in Parser.pm