Authenticated Path Traversal in AIL Framework PDF Object Handling Enables Potential Arbitrary File Read
AIL Framework contains a path traversal vulnerability in its PDF object handling. Prior to commit 14c618fce4d1df02358717c48ea903706abecdf2, the PDF.get_filepath() function constructed a file path by joining the configured PDF storage directory with a path derived from a PDF object identifier, without verifying that the resolved path remained within the intended PDF_FOLDER directory. An authenticated attacker able to invoke PDF object operations with a crafted identifier could use relative traversal sequences or absolute path components to cause AIL Framework to open files located outside the PDF storage directory. This could allow disclosure of files readable by the AIL process, including application configuration, credentials, or other sensitive local data. This vulnerability is potential due to additional errors before being able to be executed. The fix canonicalises the resulting path with os.path.realpath() and rejects paths whose common directory is outside the configured PDF directory.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-59510
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 01:23 UTC · Revision 1
Source evidence
Authenticated Path Traversal in AIL Framework PDF Object Handling Enables Potential Arbitrary File Read
core-osv · Original sourcePublished 5 Jul 2026, 17:52 UTC
AIL Framework contains a path traversal vulnerability in its PDF object handling. Prior to commit 14c618fce4d1df02358717c48ea903706abecdf2, the PDF.get_filepath() function constructed a file path by joining the configured PDF storage directory with a path derived from a PDF object identifier, without verifying that the resolved path remained within the intended PDF_FOLDER directory. An authenticated attacker able to invoke PDF object operations with a crafted identifier could use relative traversal sequences or absolute path components to cause AIL Framework to open files located outside the PDF storage directory. This could allow disclosure of files readable by the AIL process, including application configuration, credentials, or other sensitive local data. This vulnerability is potential due to additional errors before being able to be executed. The fix canonicalises the resulting path with os.path.realpath() and rejects paths whose common directory is outside the configured PDF directory.
osv:CVE-2026-59510
Complete source record
{
"id": "c5f98b18d40873b74a9a6ac3367612a1259d5dd6c70b9ca141a7e531b91d35dd",
"url": "https://osv.dev/vulnerability/CVE-2026-59510",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Authenticated Path Traversal in AIL Framework PDF Object Handling Enables Potential Arbitrary File Read",
"summary": "AIL Framework contains a path traversal vulnerability in its PDF object handling. Prior to commit 14c618fce4d1df02358717c48ea903706abecdf2, the PDF.get_filepath() function constructed a file path by joining the configured PDF storage directory with a path derived from a PDF object identifier, without verifying that the resolved path remained within the intended PDF_FOLDER directory. An authenticated attacker able to invoke PDF object operations with a crafted identifier could use relative traversal sequences or absolute path components to cause AIL Framework to open files located outside the PDF storage directory. This could allow disclosure of files readable by the AIL process, including application configuration, credentials, or other sensitive local data. This vulnerability is potential due to additional errors before being able to be executed. The fix canonicalises the resulting path with os.path.realpath() and rejects paths whose common directory is outside the configured PDF directory.",
"evidence": "osv:CVE-2026-59510",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2026-59510",
"aliases": [
"CVE-2026-59510"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:L/SI:N/SA:N/U:Clear"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/ail-project/ail-framework",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "14c618fce4d1df02358717c48ea903706abecdf2"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "14c618fce4d1df02358717c48ea903706abecdf2"
}
],
"source": "DESCRIPTION"
},
{
"range": [
{
"fixed": "14c618fce4d1df02358717c48ea903706abecdf2"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"versions": [
"v7.0",
"v6.9",
"v6.8",
"v6.7",
"v6.6",
"v6.1",
"v6.0.1",
"v6.0",
"v5.9",
"v5.8",
"v5.7",
"v5.5",
"v5.4",
"v5.3",
"v5.0",
"v4.1",
"v4.0",
"v3.7",
"v3.6",
"v3.5",
"v3.1",
"v3.0",
"v2.8",
"v2.7",
"v2.6",
"v2.5",
"v2.4",
"v2.3",
"v2.2",
"v2.1",
"v2.0",
"v1.8",
"v1.7",
"v1.6",
"v1.5",
"v1.3",
"v1.2",
"v1.1",
"v1.0",
"v0.90"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-59510.json"
}
}
],
"modified": "2026-10-28T02:30:24.778755436Z",
"provider": "osv",
"references": [
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/59xxx/CVE-2026-59510.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-59510",
"https://github.com/ail-project/ail-framework/commit/14c618fce4d1df02358717c48ea903706abecdf2.patch",
"https://github.com/ail-project/ail-framework0"
],
"provider_metadata": {
"cwe_ids": [
"CWE-22"
],
"cna_assigner": "CIRCL",
"unresolved_ranges": [
{
"extracted_events": [
{
"range": [
{
"last_affected": "v6.9.0"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StandardRange"
}
]
}
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/59xxx/CVE-2026-59510.json"
}
},
"related_cves": [
{
"value": "CVE-2026-59510",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 491571,
"published_at": "2026-07-05T17:52:29.429+00:00"
}