2026-03-10 9:43CVE-2026-23907apache
PUBLISHED5.2CWE-22

Apache PDFBox Examples: Path Traversal in PDFBox ExtractEmbeddedFiles Example Code

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.

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.

Problem type

Affected products

Apache Software Foundation

Apache PDFBox Examples

<= 2.0.36 - AFFECTED

<= 3.0.7 - AFFECTED

References

JSON source

https://cveawg.mitre.org/api/cve/CVE-2026-23907
Click to expand
{
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "cveMetadata": {
    "cveId": "CVE-2026-23907",
    "assignerOrgId": "f0158376-9dc2-43b6-827c-5f631a4d8d09",
    "assignerShortName": "apache",
    "dateUpdated": "2026-03-10T09:43:40.384Z",
    "dateReserved": "2026-01-19T12:13:50.503Z",
    "datePublished": "2026-03-10T09:43:40.384Z",
    "state": "PUBLISHED"
  },
  "containers": {
    "cna": {
      "providerMetadata": {
        "orgId": "f0158376-9dc2-43b6-827c-5f631a4d8d09",
        "shortName": "apache",
        "dateUpdated": "2026-03-10T09:43:40.384Z"
      },
      "title": "Apache PDFBox Examples: Path Traversal in PDFBox ExtractEmbeddedFiles Example Code",
      "descriptions": [
        {
          "lang": "en",
          "value": "This issue affects the \nExtractEmbeddedFiles example in Apache PDFBox: from 2.0.24 through 2.0.36, from 3.0.0 through 3.0.7.\n\n\nThe ExtractEmbeddedFiles example contains a path traversal vulnerability (CWE-22) because \nthe filename that is obtained from \nPDComplexFileSpecification.getFilename() is appended to the extraction path.\n\nUsers who have copied this example into their production code should \nreview it to ensure that the extraction path is acceptable. The example \nhas been changed accordingly, now the initial path and the extraction \npaths are converted into canonical paths and it is verified that \nextraction path contains the initial path. The documentation has also \nbeen adjusted.",
          "supportingMedia": [
            {
              "type": "text/html",
              "base64": false,
              "value": "<p>This issue affects the \nExtractEmbeddedFiles example in&nbsp;Apache PDFBox: from 2.0.24 through 2.0.36, from 3.0.0 through 3.0.7.</p><p>\nThe ExtractEmbeddedFiles example contains a path traversal vulnerability (CWE-22) because \nthe filename that is obtained from \nPDComplexFileSpecification.getFilename() is appended to the extraction path.\n<br>Users who have copied this example into their production code should \nreview it to ensure that the extraction path is acceptable. The example \nhas been changed accordingly, now the initial path and the extraction \npaths are converted into canonical paths and it is verified that \nextraction path contains the initial path. The documentation has also \nbeen adjusted.</p>"
            }
          ]
        }
      ],
      "affected": [
        {
          "vendor": "Apache Software Foundation",
          "product": "Apache PDFBox Examples",
          "collectionURL": "https://repo.maven.apache.org/maven2",
          "packageName": "org.apache.pdfbox:pdfbox-examples",
          "defaultStatus": "unaffected",
          "versions": [
            {
              "version": "2.0.24",
              "status": "affected",
              "versionType": "semver",
              "lessThanOrEqual": "2.0.36"
            },
            {
              "version": "3.0.0",
              "status": "affected",
              "versionType": "semver",
              "lessThanOrEqual": "3.0.7"
            }
          ]
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "lang": "en",
              "description": "CWE-22 Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')",
              "cweId": "CWE-22",
              "type": "CWE"
            }
          ]
        }
      ],
      "references": [
        {
          "url": "https://github.com/JoakimBulow/"
        },
        {
          "url": "https://lists.apache.org/thread/gyfq5tcrxfv7rx0z2yyx4hb3h53ndffw",
          "tags": [
            "vendor-advisory"
          ]
        }
      ],
      "metrics": [
        {}
      ],
      "credits": [
        {
          "lang": "en",
          "value": "Joakim Bülow (Neo4j Security Team)",
          "type": "finder"
        }
      ]
    }
  }
}