Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/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:P/AU:X/R:X/V:X/RE:X/U:X
Network-reachable web endpoint (AV:N), no special conditions (AC:L), requires AIL login (PR:L), no user interaction (UI:N); traversal reads files outside AIL's storage scope (S:C, C:H) with no write or DoS (I:N/A:N).
Primary rating from Vendor (CIRCL).
CVSS VectorVendor: CIRCL
Lifecycle Timeline
2DescriptionCVE.org
A path traversal vulnerability exists in AIL Framework before the release containing commit 0041456af25da0cdea1c1c4624e46baff2731d8f. An authenticated AIL user can supply crafted object identifiers through the investigation workflow to cause file paths to resolve outside the intended image, favicon, or screenshot storage directories. This may allow the attacker to download and read arbitrary files that are accessible to the AIL process.
The issue occurs because user-controlled path components were joined with application storage paths without verifying that the resolved path remained within the expected directory. The affected download functionality could then include the contents of such files in a generated archive.
AnalysisAI
Authenticated path traversal in AIL Framework (CIRCL's Analysis Information Leak threat-intel platform) lets a low-privileged user abuse the investigation workflow to read arbitrary files readable by the AIL process and exfiltrate them inside a generated archive. The flaw is fixed in commit 0041456af25da0cdea1c1c4624e46baff2731d8f, and no public exploit is identified at time of analysis. CVSS 4.0 is 8.3 (High), driven by a scope change where the leaked filesystem content is considered subsequent-system confidentiality impact.
Technical ContextAI
AIL Framework is an open-source modular framework from CIRCL used to crawl, parse, and analyze unstructured information leaks. The vulnerable code paths are in bin/lib/objects/Favicons.py, Images.py, and Screenshots.py, where a user-supplied object identifier was concatenated with FAVICON_FOLDER, IMAGE_FOLDER, or SCREENSHOT_FOLDER via os.path.join without canonicalization or containment validation - a textbook CWE-22 (Improper Limitation of a Pathname to a Restricted Directory). When an investigation triggered the download_objects() routine in ail_objects.py, the resulting archive (zipfile) included the contents of whatever the resolved path pointed to. The patch wraps the join in os.path.realpath() and gates access with an os.path.commonpath() check against the intended storage root, and the investigations_b.py blueprint now validates object_type/subtype/id existence before lookup.
RemediationAI
Upstream fix available (commit 0041456af25da0cdea1c1c4624e46baff2731d8f); a released patched version is not independently confirmed from the provided data, so pull the latest main/HEAD from https://github.com/ail-project/ail-framework or the next tagged release that includes this commit. If immediate upgrade is not possible, restrict AIL UI access to a trusted analyst subnet via reverse-proxy ACLs, audit and reduce AIL user accounts to the minimum needed (since PR:L is required), and consider running the AIL process under a dedicated unprivileged UID with a tightly scoped filesystem view (chroot, systemd ProtectHome/ReadOnlyPaths, or container with bind-mounts limited to FAVICON_FOLDER, IMAGE_FOLDER, SCREENSHOT_FOLDER) so that traversal cannot reach sensitive files outside AIL's data directories - note this may break modules that legitimately read from other paths. As an additional compensating control, disable or block the investigation download/export endpoint at the proxy until patched.
More in Ail Framework
View allStored cross-site scripting in AIL Framework <6.8 allows authenticated high-privilege attackers to inject malicious Java
Global.py in AIL framework 2.8 allows path traversal. Rated high severity (CVSS 7.5), this vulnerability is remotely exp
Path traversal in AIL Framework's PDF object handling lets an authenticated user read files outside the intended PDF sto
Non-blind SSRF in AIL Framework's crawler submission interface allows low-privileged authenticated users to pivot throug
Path traversal in AIL Framework's `/objects/item/diff` endpoint exposes gzip-compressed server-side files to authenticat
Unlimited OTP brute-force against AIL Framework's two-factor authentication endpoint allows an attacker who already poss
Same weakness CWE-22 – Path Traversal
View allSame technique Path Traversal
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-38238
GHSA-j4qv-932q-xmx8