Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain user-role API client
-
DeliveryImport crawler capture with JS in item id/url/screenshot
-
ExploitPayload stored in data layer
-
ExecutionPrivileged user opens domain page
-
PersistScript executes in victim browser
-
ImpactHijack session / act as victim
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated user-role AIL API client (PR:L) capable of importing crawler captures; the attacker injects JavaScript into the item ID, URL, or screenshot-path fields of a capture, which AIL stores and later renders unescaped in the showDomain.html inline onclick attribute and inline script block. Exploitation is LIMITED by: (1) needing valid API user-role credentials - not unauthenticated; (2) requiring a victim to subsequently open the affected domain page (UI:P), though no interaction beyond viewing is needed once loaded; (3) impact confined to the victim's browser session, with no direct compromise of the AIL server itself. Highest value when the viewing victim is a privileged/admin user. |
| Impact | This is a stored XSS (CWE-79) in AIL Framework's crawler splash domain page. The vendor-supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N, 6.3 Medium) is internally consistent with the description: the attacker must be an authenticated user-role API client (PR:L) who injects payloads via a malicious crawler-capture import, and a victim must load the affected domain view (UI:P/Passive). No impact accrues to the AIL server itself (VC/VI/VA:N); the damage lands in the victim's browser (subsequent-system SC/SI), which is why the vendor sets SC:H/SI:H - though for a typical reflected-in-browser XSS I would rate those as SC:L/SI:L, so 6.3 is arguably slightly high. There is no EPSS score, no CISA KEV listing, and no public exploit code, so this is 'no public exploit identified at time of analysis.' No SSVC data was provided. The realistic risk is moderate-and-targeted rather than broad: exploitation is gated on holding a valid API user role and on a privileged user subsequently viewing the poisoned domain page - but that second condition is plausible because analysts routinely review imported crawler captures, and a successful hit against an admin session enables session hijacking / actions-as-victim. Signals are not conflicting; they consistently point to a genuine-but-bounded, privilege-and-interaction-dependent web bug rather than a mass-exploitable network flaw. |
| Exploit ScenarioDerived | An attacker holding a user-role AIL API client submits a crafted crawler capture whose item ID, URL, or screenshot path fields contain a JavaScript payload, which is stored in the data layer. Later, when any operator - including a privileged admin - opens the affected domain's showDomain page, the payload executes in their browser via the unescaped inline onclick attribute and inline script variable, enabling session hijacking or unauthorized actions as that user. No public exploit code is identified, but the injection point and payload placement are fully documented in the vendor patch diff. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 25, 2026
Stored cross-site scripting (XSS) in the AIL Framework crawler splash domain page allows an authenticated user-role API client to inject JavaScript payloads via crafted crawler captures. The payloads are stored in the application's data layer and execute in the browser of any user who views the affected domain page, potentially enabling session hijacking, data exfiltration, or unauthorized actions. The vulnerability requires a valid API user-role credential (PR:L) and victim interaction (UI:R); no public exploit code has been identified, and no confirmed active exploitation is reported.
RemediationAI
Upstream fix available (PR/commit); released patched version not independently confirmed. Apply the patch commit 31376ee3d04519c898bb9b3671453a41c4117340 or upgrade to a version containing this commit. If immediate patching is not possible, restrict AIL API access to fully trusted users only and avoid importing crawler captures from untrusted sources, as this reduces the attack surface; however, note that this does not remove the risk for already imported malicious captures, and any authenticated user can still inject payloads. No other workarounds are documented in the advisory. After patching, audit existing crawler captures for injected JavaScript content.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The AIL Framework is an open-source threat intelligence platform for analyzing unstructured data. The vulnerability resides in the showDomain.html template, which renders the crawler splash domain page. User-supplied data from imported crawler captures-specifically item IDs, URLs, and screenshot file paths-was interpolated directly into inline JavaScript contexts: an onclick attribute that embedded raw screenshot and URL values into a JavaScript function call, and an inline script block that assigned a screenshot value to a JavaScript variable without escaping. This is a classic CWE-79 (Improper Neutralization of Input During Web Page Generation, i.e., stored XSS) issue. The affected product is AIL Framework (cpe:2.3:a:ail_project:ail_framework:*:*:*:*:*:*:*:*), covering all versions prior to the fix. The upstream patch (commit 31376ee3d04519c898bb9b3671453a41c4117340) replaces the inline JavaScript with data attributes and event listeners, and applies encodeURIComponent for the item ID, mitigating the XSS.
Know when Ail Framework gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N
Authenticated API user injects (PR:L), victim must view the poisoned page (UI:R), payload runs in browser crossing into a different security scope (S:C) with limited C/I and no availability impact.
Primary rating from Vendor (CIRCL).
CVSS VectorVendor: CIRCL
DescriptionCVE.org
The AIL Framework crawler splash domain page (showDomain.html) is vulnerable to stored cross-site script injection (XSS). User-supplied data originating from imported crawler captures-specifically item IDs, URLs, and screenshot file paths-was interpolated directly into inline JavaScript contexts within the HTML template. This included an onclick attribute that embedded raw screenshot and URL values into a JavaScript function call, and an inline script block that assigned a screenshot value to a JavaScript variable without escaping. An attacker with a user-role API client could craft a malicious crawler capture import containing JavaScript payloads in these fields. When any user (including privileged users) subsequently viewed the affected domain page, the injected script would execute in the victim's browser context, potentially allowing session hijacking, data exfiltration, or unauthorized actions on behalf of the victim. The vulnerability is stored in the application's data layer and triggered upon page rendering, requiring no further interaction beyond loading the domain view.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
More in Ail Framework
View allStored cross-site scripting in AIL Framework <6.8 allows authenticated high-privilege attackers to inject malicious Java
Stored cross-site scripting in the AIL Framework's username timeline lets a remote, unauthenticated attacker execute arb
Stored cross-site scripting in AIL Framework allows an authenticated attacker who can influence matched, tracked, or tag
Authenticated path traversal in AIL Framework (CIRCL's Analysis Information Leak threat-intel platform) lets a low-privi
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
Crafted URL injection in the Onion module of the AIL Framework lets unauthenticated content publishers push arbitrary no
Cross-tenant authorization bypass in the AIL Framework crawler task API (api_add_crawler_task) lets an authenticated use
Path traversal in AIL Framework's `/objects/item/diff` endpoint exposes gzip-compressed server-side files to authenticat
Stored cross-site scripting (XSS) in the AIL Framework tag selector (var/www/static/js/tags.js) allows an authenticated
Unlimited OTP brute-force against AIL Framework's two-factor authentication endpoint allows an attacker who already poss
EUVD-2026-87096
GHSA-rpj3-jvgh-5qrf
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB