Skip to main content

AIL Framework CVE-2026-100174

| EUVDEUVD-2026-87087 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-09-25 CIRCL GHSA-rm3v-pc8w-cwxj
5.1
CVSS 4.0 · Vendor: CIRCL
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain authenticated tag-creation account
  2. Delivery
    Create custom tag with HTML event-handler payload
  3. Exploit
    Payload stored persistently in tag store
  4. Execution
    Victim analyst loads page rendering tag selector
  5. Persist
    jQuery .html() parses tag name as raw HTML
  6. Impact
    Arbitrary 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

ail framework 0 <7.1

Affected Packages

euvd ail_framework fix: 7.1

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

Vendor (CIRCL) PRIMARY 5.1 MEDIUM
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
vuln.today AI 5.4 MEDIUM

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.

3.1 AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (CIRCL).

CVSS VectorVendor: CIRCL

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
Passive
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
Low
Subsequent system: Availability
None

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

EPSS Score
0.4%
Top 68% exploitable
Prevalence
Low
niche CIRCL CTI/OSINT analysis framework used by CERTs and security teams
Data Quality
5 sources
Confidence: Medium
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

CVE-2026-39416 HIGH
8.5 Apr 08

Stored cross-site scripting in AIL Framework <6.8 allows authenticated high-privilege attackers to inject malicious Java

CVE-2026-100176 HIGH
8.5 Sep 25

Stored cross-site scripting in the AIL Framework's username timeline lets a remote, unauthenticated attacker execute arb

CVE-2026-100172 HIGH
8.5 Sep 25

Stored cross-site scripting in AIL Framework allows an authenticated attacker who can influence matched, tracked, or tag

CVE-2026-56448 HIGH
8.3 Jun 22

Authenticated path traversal in AIL Framework (CIRCL's Analysis Information Leak threat-intel platform) lets a low-privi

CVE-2020-8545 HIGH
7.5 Feb 03

Global.py in AIL framework 2.8 allows path traversal. Rated high severity (CVSS 7.5), this vulnerability is remotely exp

CVE-2026-59510 HIGH
7.1 Jul 05

Path traversal in AIL Framework's PDF object handling lets an authenticated user read files outside the intended PDF sto

CVE-2026-76164 HIGH
7.1 Aug 19

Non-blind SSRF in AIL Framework's crawler submission interface allows low-privileged authenticated users to pivot throug

CVE-2026-100187 MEDIUM
6.9 Sep 25

Crafted URL injection in the Onion module of the AIL Framework lets unauthenticated content publishers push arbitrary no

CVE-2026-100190 MEDIUM
6.3 Sep 25

Stored cross-site scripting (XSS) in the AIL Framework crawler splash domain page allows an authenticated user-role API

CVE-2026-100177 MEDIUM
6.3 Sep 25

Cross-tenant authorization bypass in the AIL Framework crawler task API (api_add_crawler_task) lets an authenticated use

CVE-2026-56138 MEDIUM
5.3 Jun 19

Path traversal in AIL Framework's `/objects/item/diff` endpoint exposes gzip-compressed server-side files to authenticat

CVE-2026-56450 MEDIUM
5.1 Jun 22

Unlimited OTP brute-force against AIL Framework's two-factor authentication endpoint allows an attacker who already poss

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy