Every CVE Search/ Get API key

CVE-2026-54078

veraPDF Validation XXE via Rich Text

8.7 HighFix available

veraPDF validation model is an implementation of the veraPDF validation model. From 1.25.73 until 1.30.2 and 1.31.71, veraPDF-validation contains an XML External Entity (XXE) vulnerability in validation-model/src/main/java/org/verapdf/gf/model/tools/DictionaryKeysHelper.java in getRichTextStringOrStreamEntryStringRepresentation(), where a crafted PDF containing a malicious rich-text /RC or /RV entry can cause external entity expansion and reflect local file contents into the validation report. This issue is fixed in versions 1.30.2 and 1.31.71.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
None
Availability
None

Exploit likelihood

0.56%Up 0.2 points since Jul 30, 2026
90%50%10%1%

What each source reports

CVE List Score used 8.7

veraPDF Validation XXE via Rich Text

veraPDF validation model is an implementation of the veraPDF validation model. From 1.25.73 until 1.30.2 and 1.31.71, veraPDF-validation contains an XML External Entity (XXE) vulnerability in validation-model/src/main/java/org/verapdf/gf/model/tools/DictionaryKeysHelper.java in getRichTextStringOrStreamEntryStringRepresentation(), where a crafted PDF containing a malicious rich-text /RC or /RV entry can cause external entity expansion and reflect local file contents into the validation report. This issue is fixed in versions 1.30.2 and 1.31.71.

Record
CVE-2026-54078
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Weakness
CWE-611
Updated
2026-11-02
EUVDEUVD-2026-50369 8.7

veraPDF validation model is an implementation of the veraPDF validation model. From 1.25.73 until 1.30.2 and 1.31.71, veraPDF-validation contains an XML External Entity (XXE) vulnerability in validation-model/src/main/java/org/verapdf/gf/model/tools/DictionaryKeysHelper.java in getRichTextStringOrStreamEntryStringRepresentation(), where a crafted PDF containing a malicious rich-text /RC or /RV entry can cause external entity expansion and reflect local file contents into the validation report. This issue is fixed in versions 1.30.2 and 1.31.71.

Record
EUVD-2026-50369
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-3jh7-wm29-q568 8.7

veraPDF Validation XXE via Rich Text

Summary

Description An XML External Entity Injection (CWE-611) vulnerability in veraPDF allows a remote attacker to read arbitrary files on the server file system and perform Server-Side Request Forgery by submitting a crafted PDF containing a malicious rich-text (/RC or /RV) entry. This affects all current versions of veraPDF-validation.

Details

The vulnerability resides in veraPDF-validation validation-model/src/main/java/org/verapdf/gf/model/tools/DictionaryKeysHelper.java within the getRichTextStringOrStreamEntryStringRepresentation() method. This helper extracts the XHTML rich-text body from a PDF dictionary string or stream and parses it with a DOM parser to return the concatenated text content.

The vulnerability stems from two combined issues:

  • The DocumentBuilderFactory is instantiated with default settings , no disallow-doctype-decl, no disabling of external general/parameter entities, no FEATURE_SECURE_PROCESSING, and no secure EntityResolver. The default JAXP/Xerces parser will therefore resolve <!DOCTYPE … SYSTEM "…"> and <!ENTITY … SYSTEM "…"> declarations.
  • After parsing, getAllNodeText() recursively concatenates every text node in the document and returns it as the model property value. This means the expanded contents of any external entity are reflected directly back into the validation report.

Impact

This impacts all current releases of the veraPDF validation-model module.

Successful exploitation requires only that the target validate an attacker-supplied PDF. A single markup annotation with a crafted /RC string is sufficient.

Proposed Patch

Harden the DocumentBuilderFactory in validation-model/src/main/java/org/verapdf/gf/model/tools/DictionaryKeysHelper.java per the OWASP XXE Prevention Cheat Sheet to disallow DOCTYPE outright.

Record
GHSA-3jh7-wm29-q568
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Weakness
CWE-611
Updated
2026-11-02
NVD 8.7

veraPDF validation model is an implementation of the veraPDF validation model. From 1.25.73 until 1.30.2 and 1.31.71, veraPDF-validation contains an XML External Entity (XXE) vulnerability in validation-model/src/main/java/org/verapdf/gf/model/tools/DictionaryKeysHelper.java in getRichTextStringOrStreamEntryStringRepresentation(), where a crafted PDF containing a malicious rich-text /RC or /RV entry can cause external entity expansion and reflect local file contents into the validation report. This issue is fixed in versions 1.30.2 and 1.31.71.

Record
CVE-2026-54078
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Weakness
CWE-611
Updated
2026-11-02
OSV 8.7

veraPDF Validation XXE via Rich Text

veraPDF validation model is an implementation of the veraPDF validation model. From 1.25.73 until 1.30.2 and 1.31.71, veraPDF-validation contains an XML External Entity (XXE) vulnerability in validation-model/src/main/java/org/verapdf/gf/model/tools/DictionaryKeysHelper.java in getRichTextStringOrStreamEntryStringRepresentation(), where a crafted PDF containing a malicious rich-text /RC or /RV entry can cause external entity expansion and reflect local file contents into the validation report. This issue is fixed in versions 1.30.2 and 1.31.71.

Record
CVE-2026-54078
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Weakness
CWE-611
Updated
2026-11-02
OSVGHSA-3jh7-wm29-q568 8.7

veraPDF Validation XXE via Rich Text

Summary

Description An XML External Entity Injection (CWE-611) vulnerability in veraPDF allows a remote attacker to read arbitrary files on the server file system and perform Server-Side Request Forgery by submitting a crafted PDF containing a malicious rich-text (/RC or /RV) entry. This affects all current versions of veraPDF-validation.

Details

The vulnerability resides in veraPDF-validation validation-model/src/main/java/org/verapdf/gf/model/tools/DictionaryKeysHelper.java within the getRichTextStringOrStreamEntryStringRepresentation() method. This helper extracts the XHTML rich-text body from a PDF dictionary string or stream and parses it with a DOM parser to return the concatenated text content.

The vulnerability stems from two combined issues:

  • The DocumentBuilderFactory is instantiated with default settings , no disallow-doctype-decl, no disabling of external general/parameter entities, no FEATURE_SECURE_PROCESSING, and no secure EntityResolver. The default JAXP/Xerces parser will therefore resolve <!DOCTYPE … SYSTEM "…"> and <!ENTITY … SYSTEM "…"> declarations.
  • After parsing, getAllNodeText() recursively concatenates every text node in the document and returns it as the model property value. This means the expanded contents of any external entity are reflected directly back into the validation report.

Impact

This impacts all current releases of the veraPDF validation-model module.

Successful exploitation requires only that the target validate an attacker-supplied PDF. A single markup annotation with a crafted /RC string is sufficient.

Proposed Patch

Harden the DocumentBuilderFactory in validation-model/src/main/java/org/verapdf/gf/model/tools/DictionaryKeysHelper.java per the OWASP XXE Prevention Cheat Sheet to disallow DOCTYPE outright.

Record
GHSA-3jh7-wm29-q568
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Weakness
CWE-611
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
org.verapdf:validation-model
Maven
1.25.73 to 1.30.1
1.30.2
org.verapdf:validation-model
Maven
1.31.1 to 1.31.70
1.31.71
org.verapdf:validation-model-jakarta
Maven
1.25.73 to 1.30.1
1.30.2
org.verapdf:validation-model-jakarta
Maven
1.31.1 to 1.31.70
1.31.71
org.verapdf:validation-model
Maven
1.25.73 up to 1.30.2, plus listed versions
1.26.11.26.21.26.51.28.11.28.21.30.1
1.30.2
org.verapdf:validation-model
Maven
1.31.1 up to 1.31.71
1.31.71
org.verapdf:validation-model-jakarta
Maven
1.25.73 up to 1.30.2, plus listed versions
1.26.11.26.21.26.51.28.11.28.21.30.1
1.30.2
org.verapdf:validation-model-jakarta
Maven
1.31.1 up to 1.31.71
1.31.71

History

History
RecordedChangedSources
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-54078 is a high vulnerability (CVSS 8.7) in Verapdf Verapdf-validation, published July 29, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.56%, the 46th percentile. Fixed in org.verapdf:validation-model 1.30.2.

References

MoveEnter Open