CVE-2026-33929
Apache PDFBox Examples: Path Traversal in PDFBox ExtractEmbeddedFiles Example Code
Reported by apache · Published April 14, 2026
pdfbox-examples is fixed in 3.0.8, 3.0.7, 2.0.37 and 1 more (Maven Central)
Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') vulnerability in Apache PDFBox Examples. This issue affects the ExtractEmbeddedFiles example in Apache PDFBox: from 2.0.24 through 2.0.36, from 3.0.0 through 3.0.7. Users are recommended to update to version 2.0.37 or 3.0.8 once available. Until then, they should apply the fix provided in GitHub PR 427. The ExtractEmbeddedFiles example contained a path traversal vulnerability (CWE-22) mentioned in CVE-2026-23907. However the change in the releases 2.0.36 and 3.0.7 is flawed because it doesn't consider the file path separator. Because of that, a user having writing rights on /home/ABC could be victim to a malicious PDF resulting in a write attempt to any path starting with /home/ABC, e.g. "/home/ABCDEF". Users who have copied this example into their production code should apply the mentioned change. The example has been changed accordingly and is available in the project repository.
Fixed versions
Upgrade to a fixed version or later. Language registries are listed first, then Linux distributions, then vendor products.
| Package | Ecosystem | Fixed in |
|---|---|---|
| org.apache.pdfbox:pdfbox-examples | Maven Central | 3.0.8, 3.0.7, 2.0.37, 2.0.36 |
| pdfbox | apache | 3.0.8, 2.0.37 |
Risk scores
Affected products
| Vendor | Product | Versions |
|---|---|---|
| Apache Software Foundation | Apache PDFBox Examples | 2.0.24, 3.0.0 |
| Maven | org.apache.pdfbox:pdfbox-examples | 2.0.24, 3.0.0 |
| Apache Software Foundation | Apache PDFBox Examples | 2.0.24, 3.0.0 |
Timeline
- Apr 14, 2026 CVE Published
- Apr 14, 2026 PoC Published (2 in total, the first dated here)
- Apr 14, 2026 Security Advisory
- Apr 14, 2026 CVE Updated
- May 18, 2026 EPSS Score (30 in total, the first dated here)
- Jul 2, 2026 Coalition ESS Score
Query this with the API
The same record, from the CLI:
vulnetix vdb vuln CVE-2026-33929
vulnetix vdb fixes CVE-2026-33929
Or with curl, using the org id and key from your account page:
curl -s -H "Authorization: ApiKey ${VULNETIX_ORG_ID}:${VULNETIX_API_KEY}" \
"https://api.vdb.vulnetix.com/v2/vuln/CVE-2026-33929/fixes/registry"
The Community plan is free and allows 50 queries a day. Get a free API key · API quickstart
References
- patch
- mailing-list
- vendor-advisory
- https://nvd.nist.gov/vuln/detail/CVE-2026-33929 advisory
- https://github.com/advisories/GHSA-gcj8-76p4-g2fq advisory
- https://github.com/apache/pdfbox url