Skip to main content

AIL Framework EUVDEUVD-2026-87096

| CVE-2026-100190 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-09-25 CIRCL GHSA-rpj3-jvgh-5qrf
6.3
CVSS 4.0 · Vendor: CIRCL
View

Attack ChainAIDerived

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

  1. Access
    Obtain user-role API client
  2. Delivery
    Import crawler capture with JS in item id/url/screenshot
  3. Exploit
    Payload stored in data layer
  4. Execution
    Privileged user opens domain page
  5. Persist
    Script executes in victim browser
  6. Impact
    Hijack 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% 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 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

ail framework unspecified <7.1

Affected Packages

euvd ail_framework_unspecified 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 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

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

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.

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:N/VI:N/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
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
High
Subsequent system: Integrity
High
Subsequent system: Availability
None

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

EPSS Score
0.3%
Top 78% exploitable
Prevalence
Low
AIL Framework is a niche CIRCL open-source CTI/crawler tool for security teams
Data Quality
5 sources
Confidence: Medium

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.3%
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

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
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-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-100174 MEDIUM
5.1 Sep 25

Stored cross-site scripting (XSS) in the AIL Framework tag selector (var/www/static/js/tags.js) allows an authenticated

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