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.23 - 1999-04-26

  • Fixed a bug in the ExpatNB class reported by Gabe Beged-Dov <begeddov@jfinity.com>. The ErrorMessage attribute wasn't being initialized for ExpatNB. This should have been done in the Expat constructor.
  • Applied patch provided by Nathan Kurz <nate@valleytel.net> to fix more perl stack manipulation errors in Expat.xs.
  • Applied another patch by Nathan to change perl_call_sv flag from G_DISCARD to G_VOID for callbacks, which helps performance.
  • Murata Makoto <murata@apsdc.ksp.fujixerox.co.jp> reported a problem on Win32 platforms that only showed up when UTF-16 was being used. The needed call to binmode was added to the parsefile methods.
  • Added documentation for release method that was added in release 2.20 to Expat pod. (Point raised by <mookie@undef.com>)
  • Now using Version 19990425 of expat. No local patches.
  • Added specified_attr method and made ineffective the is_defaulted method.

Modules

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 Expat/Expat.pm
in Parser.pm
in Parser.pm
in Parser.pm
in Parser.pm