Vigil@nce - libxml2: file reading via an entity in xmlParserHandlePEReference
May 2014 by Vigil@nce
This bulletin was written by Vigil@nce : http://vigilance.fr/offer
SYNTHESIS OF THE VULNERABILITY
An attacker can transmit malicious XML data to an application
linked to libxml2, in order to force it to include a file, which
can then be returned to the attacker.
Impacted products: libxml2, MBS, MES, openSUSE, RHEL, Ubuntu
Severity: 2/4
Creation date: 07/05/2014
DESCRIPTION OF THE VULNERABILITY
XML data can contain external entities (DTD):
A program which reads these XML data can replace these entities by
data coming from the indicated file. When the program uses XML
data coming from an untrusted source, this behavior leads to:
– content disclosure from files of the server
– private web site scan
– a denial of service by opening a blocking file
This feature thus must be disabled to process XML data coming from
an untrusted source.
The XML_PARSE_NOENT option indicates to load external entities.
However, when this option is unset, the xmlParserHandlePEReference()
function of libxml2 still loads external entities.
An attacker can therefore transmit malicious XML data to an
application linked to libxml2, in order to force it to include a
file, which can then be returned to the attacker.
ACCESS TO THE COMPLETE VIGIL@NCE BULLETIN