Executive brief
veraPDF is a software library used to validate that PDF files comply with international standards like PDF/A and PDF/UA. A security flaw allows an attacker to create a specially crafted PDF file that, when scanned by the software, can force the server to reveal local files or make unauthorized network requests. This could lead to the exposure of sensitive system information or internal network data.
Technical details
An XML External Entity (XXE) vulnerability (CWE-611) exists in the veraPDF-validation library within the getdynamicRender() method of GFPDAcroForm.java. The vulnerability is caused by the use of an insecurely configured DocumentBuilderFactory that does not disable DTDs or external entity expansion when parsing XFA streams from PDF files. An attacker can exploit this by providing a malicious PDF that triggers the PDF/UA-1 validation rule 'dynamicRender != required'. Successful exploitation allows for local file disclosure via out-of-band exfiltration or outbound Server-Side Request Forgery (SSRF). The issue has been resolved in versions 1.30.2 and 1.31.71 by implementing secure XML parsing defaults.
Affected products
- veraPDF veraPDF-validation >= 1.17.35, < 1.30.2; >= 1.31.1, < 1.31.71
- veraPDF validation-model-jakarta >= 1.17.35, < 1.30.2; >= 1.31.1, < 1.31.71
Timeline
- 2026-05-19: other: Pull request submitted to harden DocumentBuilder security
- 2026-05-28: patched: Fix merged into integration branch
- 2026-06-08: advisory: GitHub Security Advisory published
- 2026-07-29: disclosed: CVE published to NVD
References
- https://github.com/veraPDF/veraPDF-validation/commit/94caa46c1a594512247fbd46c808edae39469542
- https://github.com/veraPDF/veraPDF-validation/commit/cacd9436d0de40b0e58cc7d2dbb06451619e61ec
- https://github.com/veraPDF/veraPDF-validation/pull/730
- https://github.com/veraPDF/veraPDF-validation/security/advisories/GHSA-36mm-w85j-3q2j