PyXML: Hash table collisions CPU usage Denial of Service
PyXML provides XML libraries for Python. The distribution contains avalidating XML parser, an implementation of the SAX and DOM programminginterfaces, and an interface to the Expat parser.A buffer over-read flaw was found in the way PyXML's Expat parser handledmalformed UTF-8 sequences when processing XML files. A specially-craftedXML file could cause Python applications using PyXML's Expat parser tocrash while parsing the file. (CVE-2009-3720)This update makes PyXML use the system Expat library rather than its owninternal copy; therefore, users must install the RHSA-2009:1625 expatupdate together with this PyXML update to resolve the CVE-2009-3720 issue.All PyXML users should upgrade to this updated package, which changes PyXMLto use the system Expat library. After installing this update along withRHSA-2009:1625, applications using the PyXML library must be restarted forthe update to take effect.
Peter Valchev discovered a flaw in the way expat handled malformed UTF-8 sequences when processing XML files. Incorrect UTF-8 sequenced could cause expat to fail to properly detect end of input and continue reading behind the end of input buffer. This results in a crash once reading reaches unmapped memory.
Non-public upstream bug report: http://sourceforge.net/tracker/?func=detail&aid=1990430&groupid=10127&atid=110127
Contents of the report leaked via expat-bugs mailing list posts: http://mail.python.org/pipermail/expat-bugs/2009-January/002781.html
Upstream patch: http://expat.cvs.sourceforge.net/viewvc/expat/expat/lib/xmltokimpl.c?r1=1.13&r2=1.15
References: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=551936 https://bugs.gentoo.org/showbug.cgi?id=280615