Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain authenticated tag-creation account
-
DeliveryCreate custom tag with HTML event-handler payload
-
ExploitPayload stored persistently in tag store
-
ExecutionVictim analyst loads page rendering tag selector
-
PersistjQuery .html() parses tag name as raw HTML
-
ImpactArbitrary JS executes in victim origin (session hijack/data access)
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 a multi-user AIL Framework deployment where the attacker holds an authenticated account with permission to create custom tags (PR:L) - this is the primary gating condition and is not available to anonymous users. Exploitation is stored/persistent: the payload fires when any other authenticated user (UI:P, passive) simply loads a page that renders the tag selector containing the malicious tag, with no further victim action. Limiting factors: attacker must have tag-creation rights (insider or compromised account), the target must be a logged-in AIL user viewing the affected UI, and unpatched code prior to commit b2d0ed05 must be running. Impact is confined to the application origin (client-side script execution), not direct server compromise. |
| Impact | This is a genuine but moderate-severity stored XSS (CWE-79) in the AIL Framework tag selector. The provided CVSS 4.0 vector (5.1) and its metrics are internally consistent with the description: AV:N (web app), AC:L, PR:L (attacker needs an authenticated account with tag-creation rights), UI:P (victim passively loads a page), and low confidentiality/integrity impact on both the vulnerable and subsequent (browser) systems, no availability impact. No EPSS score, no CISA KEV listing, and no public exploit code were provided - so this is no public exploit identified at time of analysis. The realistic risk is bounded by three factors that keep it below its raw CVSS: (1) the attacker must already be an authenticated, tag-creating user (insider or compromised low-priv account), (2) the impact is client-side script execution in-origin rather than direct server compromise, and (3) AIL is a niche multi-user CTI tool, not internet-facing mass-deployed software. The patch is confirmed available (vendor commit b2d0ed05). Net: a real, patchable issue worth prioritizing in multi-user AIL deployments, but not an urgent internet-wide emergency - treat as a privilege-escalation/lateral-movement risk within an already-authenticated analyst team rather than a pre-auth RCE. |
| Exploit ScenarioDerived | A low-privileged AIL analyst (or attacker using a stolen analyst account) with permission to create custom tags creates a tag whose name embeds a payload such as '<img src=x onerror=...>' or '<svg onload=...>'. When a higher-privileged analyst later opens any page that renders the tag selector containing that tag, the stored payload is injected via jQuery's html property and executes in the victim's browser session. No public exploit code was provided, but the payload is trivial to craft. |
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 tag selector (var/www/static/js/tags.js) allows an authenticated user with permission to create custom tags to inject JavaScript that executes in the browser of another authenticated user who loads a page rendering the tag selector, potentially leading to session hijacking or unauthorized data access within the application origin. The vulnerability (CWE-79) is persistent and requires the attacker to hold a valid account with tag-creation rights (PR:L), while the victim must be logged in and view the affected UI (UI:P, passive). A vendor fix is available via commit b2d0ed05; no public exploit code has been identified at time of analysis.
RemediationAI
Upstream fix available in commit b2d0ed05f6cf79b2312a3f1f923d0d1a5d7a9edb (released patched version not independently confirmed). Apply the commit or later by updating the AIL Framework instance; the fix replaces jQuery's .html() with .text() or document.createTextNode for tag display values and replaces eval(data) with JSON.parse(data). If immediate patching is not possible, restrict the ability to create custom tags to trusted users only, as the vulnerability requires tag-creation privileges. This compensating control reduces the attack surface from insiders or compromised accounts but does not eliminate the risk entirely. Additionally, a Content Security Policy that disallows inline scripts may mitigate execution, though it can break other application functionality. No other workarounds are provided.
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 and data leak analysis platform with a web interface built on jQuery. The flaw resides in var/www/static/js/tags.js, where custom tag names are rendered into the DOM. In the _renderComboItems function (suggestion/combo-item rendering) and the selected-tag rendering logic, the display value derived from the tag's displayField is passed directly to jQuery's .html() property, which parses the string as raw HTML rather than text. An attacker with tag-creation privileges can store a tag name containing HTML event handlers (e.g., <img src=x onerror=alert(1)> or <svg onload=...>), which executes when another user views the tag selector. The patch also replaces an unsafe eval(data) call with JSON.parse(data). The root cause is CWE-79, improper neutralization of input during web page generation. The CPE cpe:2.3:a:ail_project:ail_framework:*:*:*:*:*:*:*:* confirms all versions prior to the fix are affected.
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:L/VI:L/VA:N/SC:L/SI:L/SA:N
Authenticated tag-creation account gives PR:L; stored payload requires victim to load a page (UI:R); XSS executing in victim's browser is a scope change (S:C) with limited C/I and no availability impact.
Primary rating from Vendor (CIRCL).
CVSS VectorVendor: CIRCL
DescriptionCVE.org
The AIL Framework tag selector component (var/www/static/js/tags.js) is vulnerable to stored cross-site scripting (XSS). A user with the ability to create a custom tag could embed an HTML payload containing JavaScript event handlers (e.g., <img src=x onerror=alert(1)> or <svg onload=...>) in the tag name. When another authenticated user opened a page containing the tag selector, the malicious tag name was inserted into the DOM using jQuery's html property, causing the embedded script to execute in the victim's browser context.
The vulnerable code paths affected both the suggestion/combo-item rendering (_renderComboItems) and the selected-tag rendering logic. In both cases, the display value derived from the tag's displayField was passed directly to the html property of a jQuery element constructor, which parses and inserts the string as raw HTML rather than as text.
Preconditions: the attacker must have an authenticated account with permission to create custom tags, and the victim must be an authenticated user who views a page that renders the tag selector with the attacker's stored tag. The attack is stored (persistent) and does not require the victim to perform any action beyond loading the page.
Security impact: successful exploitation allows arbitrary JavaScript execution in the victim's browser within the application's origin, potentially leading to session hijacking, unauthorized data access, form manipulation, or further client-side attacks.
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
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
Unlimited OTP brute-force against AIL Framework's two-factor authentication endpoint allows an attacker who already poss
EUVD-2026-87087
GHSA-rm3v-pc8w-cwxj
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB