Summary
libexpat through 2.9.0 contains a denial of service vulnerability because billion laughs protection in accountingDiffTolerated() in xmlparse.c detects entity amplification too late. Attackers can supply a moderately sized XML document with a large DTD and nested entity expansions to consume tens of seconds of CPU per parse.
Remediation
References
- Patchhttps://github.com/hannob/lololol
- Patchhttps://github.com/libexpat/libexpat/pull/1433
- Patchhttps://www.vulncheck.com/advisories/libexpat-through-2.9.0-denial-of-service-via-billion-laughs-detection-delay
- Advisoryhttps://github.com/libexpat/libexpat/issues/1160
- Referencehttps://github.com/libexpat/libexpat