Details
-
Bug
-
Resolution: Duplicate
-
Not Evaluated
-
None
-
4.8.1
-
None
Description
I encountered a serious performance problem in the fix:
https://qt.gitorious.org/qt/qtbase/commit/779fa9c590a1bf399b34fbf293d8399e61a1e15c
to the:
XML Entity Expansion Denial of Service (CVE-2013-4549)
The attached MathML example, which defines about 2000 perfectly valid
entities leads to a halt when used in:
bool QDomDocument::setContent(
const QString& text,
bool namespaceProcessing,
QString *errorMsg,
int *errorLine,
int *errorColumn)
The cause is that:
bool QXmlSimpleReaderPrivate::isExpandedEntityValueTooLarge(
QString *errorMessage)
is called on each entity definition. Taking a lot of time once the list
of entities increases due to the nested foreach loops.