Apache PDFBox has Path Traversal through PDComplexFileSpecification.getFilename() function
Moderate severity
GitHub Reviewed
Published
Mar 10, 2026
to the GitHub Advisory Database
•
Updated Mar 11, 2026
Package
Affected versions
>= 2.0.24, < 3.0.7
Patched versions
3.0.7
Description
Published by the National Vulnerability Database
Mar 10, 2026
Published to the GitHub Advisory Database
Mar 10, 2026
Last updated
Mar 11, 2026
Reviewed
Mar 11, 2026
This issue affects the ExtractEmbeddedFiles example in Apache PDFBox: from 2.0.24 through 2.0.35, from 3.0.0 through 3.0.6.
The ExtractEmbeddedFiles example contains a path traversal vulnerability (CWE-22) because the filename that is obtained from PDComplexFileSpecification.getFilename() is appended to the extraction path.
Users who have copied this example into their production code should review it to ensure that the extraction path is acceptable. The example has been changed accordingly, now the initial path and the extraction paths are converted into canonical paths and it is verified that extraction path contains the initial path. The documentation has also been adjusted.
References