Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate / seed matchable content
-
DeliveryInject HTML into tracked/tagged fields
-
ExploitPayload stored in match data
-
ExecutionAnalyst opens item and popover renders
-
PersistScript executes in victim session
-
ImpactExfiltrate data or act with victim privileges
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 attacker (PR:L) who can influence content that AIL matches, tracks, or tags - specifically the fields interpolated into Bootstrap popovers rendered by var/www/templates/chats_explorer/block_message.html and var/www/templates/objects/item/show_item.html (icon color/style/glyph, subtype, identifier, name, description, and matched value). Exploitation is enabled by the popover configuration data-html="true", which causes the data-content attribute to be parsed as HTML. It also requires victim interaction (UI:P): a victim analyst must open the affected chat message or item view so the popover renders (typically on hover). It does NOT require a special non-default configuration - the vulnerable popovers are standard rendering paths - but it is limited to versions before the fix commit ee63a0a and to sessions of users who view attacker-influenced matched/tracked/tagged content. |
| Impact | This is a moderate-risk stored XSS in a niche threat-intelligence tool, not an emergency. The vendor-supplied CVSS 4.0 vector (8.5, AV:N/AC:L/PR:L/UI:P/VC:H/VI:H) rates it High, but that VC:H/VI:H rating is aggressive for browser-context XSS whose real impact is script execution in another authenticated analyst's session rather than full compromise of the vulnerable system's data. There is no EPSS score, no CISA KEV listing, and no public exploit code identified at time of analysis, so no evidence of active or automatable exploitation exists. Two mitigating signals bound real-world risk: exploitation is authenticated (PR:L - the attacker must be able to influence matched/tracked/tagged content inside AIL) and requires victim interaction (UI:P - a victim analyst must display/hover the affected popover). The patch is confirmed available (vendor commit ee63a0a). Net: a real, verifiable bug worth patching on a normal cadence, but not a widespread-exploitation priority given the small deployment footprint and the authenticated + interaction preconditions. |
| Exploit ScenarioDerived | An authenticated user (or an actor who can seed content that AIL's trackers/taggers will match) plants a payload such as an icon color, subtype, tracker name/description, or matched value containing HTML like <img src=x onerror=...>. Because the popover uses data-html="true" and the values are interpolated into the data-content attribute without output encoding, the markup persists in the match/tracking data. When an analyst later views the chat message or item and the popover renders, the injected JavaScript executes in that analyst's authenticated session. No public POC is currently identified, but the patch diff clearly shows the unescaped sinks. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 25, 2026
Stored cross-site scripting in AIL Framework allows an authenticated attacker who can influence matched, tracked, or tagged content to inject HTML or JavaScript into Bootstrap popovers rendered with data-html="true", executing in a victim analyst's session when they view the affected popover. The vulnerability affects versions prior to the fix commit ee63a0a and requires victim interaction (opening the popover, typically on hover); no public exploit code was identified at time of analysis. A vendor patch is available via the referenced commit, but practical risk is moderate given the authenticated attacker prerequisite, required victim interaction, and the niche threat-intelligence context of the tool.
RemediationAI
Apply the upstream fix commit ee63a0a96646790255e038f5ca5dd0ab5fe98db2 (upstream fix available as a commit; released patched version not independently confirmed) or upgrade to a future AIL Framework release that incorporates it. The commit adds |forceescape|forceescape to the dynamic values in both vulnerable templates; be aware that this double-escaping may produce visible entity or backslash artifacts in popovers, a trade-off for eliminating the XSS. As a temporary workaround without patching, change data-html="true" to data-html="false" on the affected popover elements, which prevents HTML parsing but breaks the intended rich formatting (SVG icons, lists) inside the popovers. Additionally, restrict the ability to create or modify matched, tracked, or tagged content to trusted users, reducing the attack surface. No vendor-released patch version number was provided in the available data; apply the commit directly if a tagged release is not yet available.
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 (ail-project/ail-framework) uses Jinja2 templates to render dynamic content in web views. Two templates-var/www/templates/chats_explorer/block_message.html and var/www/templates/objects/item/show_item.html-interpolate values such as icon color, icon style, icon glyph, subtype, identifier, name, description, and matched value directly into the data-content attribute of Bootstrap popover elements without proper output encoding. Because the popovers are configured with data-html="true", the content of data-content is parsed as HTML rather than plain text, enabling arbitrary markup or script injection. This is a classic CWE-79 (Improper Neutralization of Input During Web Page Generation) stored XSS, as the malicious payload can persist in match, tracking, or tag-related data and is delivered to any user who views the affected content. The provided CPE cpe:2.3:a:ail_project:ail_framework:*:*:*:*:*:*:*:* identifies the product as AIL Framework from the ail_project vendor. The vulnerability requires an authenticated attacker (CVSS PR:L) and victim interaction (UI:P) to trigger the popover; the fix commit applies Jinja2’s |forceescape|forceescape filter to the dynamic values, preventing HTML interpretation but potentially causing visible escaping artifacts in the rendered popovers.
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:H/VI:H/VA:N/SC:N/SI:N/SA:N
Authenticated attacker (PR:L) and a victim must view the popover (UI:R); stored XSS crosses into the victim's browser context (S:C) with limited confidentiality/integrity impact (C:L/I:L).
Primary rating from Vendor (CIRCL).
CVSS VectorVendor: CIRCL
DescriptionCVE.org
The AIL Framework (ail-project/ail-framework) contains a stored cross-site scripting (XSS) vulnerability in two Jinja2 templates that render popovers for matched, tracked, or tagged content: var/www/templates/chats_explorer/block_message.html and var/www/templates/objects/item/show_item.html. In both templates, dynamic values associated with this content, including icon color, icon style, icon glyph, subtype, identifier, name, description, and matched value, are interpolated directly into the data-content HTML attribute of Bootstrap popover elements without appropriate output encoding. Because the popovers are configured with data-html="true", the content is interpreted as HTML in the victim's browser. An authenticated attacker who can influence matched, tracked, or tagged content may inject arbitrary HTML or JavaScript into these values. When a victim displays the affected popover, the injected markup may execute in the victim's session, potentially enabling data exfiltration or actions with the victim's privileges. The vulnerability is classified as stored XSS because the malicious payload can persist in the affected match, tracking, or tag-related data and be delivered to users who view the affected content.
Articles & Coverage 1
Executive ViewAI
The AIL Framework, a threat intelligence analysis tool, contains a stored cross-site scripting vulnerability that could allow an attacker with content injection capabilities to compromise an analyst's session when they view affected popovers. Although no public exploit code has been identified, the high severity rating and potential for unauthorized access to sensitive intelligence data warrant immediate attention. A vendor patch is available and should be applied promptly to mitigate the risk.
Apply vendor patch.
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
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
Stored cross-site scripting (XSS) in the AIL Framework crawler splash domain page allows an authenticated user-role API
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-87064
GHSA-fg9r-9hmh-7x8c
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB