Skip to main content

AIL Framework EUVDEUVD-2026-54194

| CVE-2026-71447 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-08-06 5a6e4751-2f3f-4070-9419-94fb35b644e8 GHSA-6vfp-xx86-86wv
6.9
CVSS 4.0 · Vendor: 5a6e4751-2f3f-4070-9419-94fb35b644e8
Share

Severity by source

Vendor (5a6e4751-2f3f-4070-9419-94fb35b644e8) PRIMARY
6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:H/VI:L/VA:N/SC:L/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
8.2 HIGH

AV:N and PR:N because the attacker posts to an external monitored source without AIL credentials; UI:R and S:C reflect required analyst click and browser scope change; C:H for session hijacking risk, I:L for limited browser-context integrity impact.

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

Primary rating from Vendor (5a6e4751-2f3f-4070-9419-94fb35b644e8).

CVSS VectorVendor: 5a6e4751-2f3f-4070-9419-94fb35b644e8

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
A
Scope
X

Lifecycle Timeline

2
Source Code Evidence Fetched
Aug 06, 2026 - 23:19 vuln.today
Analysis Generated
Aug 06, 2026 - 23:19 vuln.today

DescriptionCVE.org

AIL Project contains a stored cross-site scripting vulnerability in the translation controls displayed for chat messages and forum posts.

The affected templates inserted message and post identifiers directly into inline JavaScript onclick handlers:

onclick="translateMessageToPreferredLanguage('{{ message['id'] }}', '{{ mess_id_escape }}', this)"

and:

onclick="translatePostToPreferredLanguage('{{ post['id'] }}', '{{ post_id_escape }}', this)"

These values were HTML-template escaped but were not safely encoded for use as JavaScript string literals inside an HTML attribute. A specially crafted identifier containing quotation marks, escape characters, or other JavaScript syntax could therefore terminate the expected string argument and inject arbitrary JavaScript into the event handler.

Because the affected values are associated with indexed chat messages or forum posts, a malicious value may remain stored by AIL and be rendered whenever an analyst accesses the corresponding chat or forum explorer view.

Successful exploitation requires the victim to click the affected Translate to preferred language button. The injected code would then execute in the victim’s browser under the security origin of the AIL instance.

AnalysisAI

Stored cross-site scripting in AIL Framework's Chat Explorer and Forum Explorer views allows an attacker who can influence indexed dark-web content to inject arbitrary JavaScript into translation button onclick handlers, executing in the analyst's browser under the AIL security origin. Versions up to and including 7.0.0 are affected; the vulnerability stems from Jinja2 templates passing message and post identifiers through HTML escaping rather than JavaScript-safe encoding, leaving single-quote and escape-sequence injection paths open. No active exploitation has been confirmed (not in CISA KEV) and no public exploit code has been identified; exploitation requires the victim analyst to click the 'Translate to preferred language' button, limiting automated attack surface.

Technical ContextAI

AIL Framework (Analysis Information Leak framework) is a modular threat-intelligence platform that ingests, indexes, and analyzes data from dark-web sources including chat channels and forums. The vulnerable components are two Jinja2 HTML templates: var/www/templates/chats_explorer/block_message.html and var/www/templates/forums_explorer/forums_explorer_thread.html. These templates rendered message['id'], mess_id_escape, post['id'], and post_id_escape values directly into inline onclick attribute handlers using Jinja2's default HTML auto-escaping ({{ value }}). CWE-79 (Improper Neutralization of Input During Web Page Generation - XSS) identifies the root cause: HTML auto-escaping encodes <, >, &, and " for HTML contexts but does not encode single quotes, backslashes, or other JavaScript metacharacters needed for safe embedding inside single-quote-delimited JavaScript string arguments. Because the onclick handlers wrapped arguments in single quotes, a crafted identifier containing a single quote could escape the string literal and inject arbitrary JavaScript into the event handler. The upstream fix (commit 884662517cf02c3eac928fa68c5a19ec35138b45) replaces '{{ value }}' patterns with {{ value | tojson }}, which JSON-encodes values as proper JavaScript literals with all necessary escaping, and switches the outer attribute delimiter to single quotes to remain syntactically consistent.

RemediationAI

Apply the upstream fix available at https://github.com/ail-project/ail-framework/commit/884662517cf02c3eac928fa68c5a19ec35138b45, which corrects the template interpolation in both block_message.html and forums_explorer_thread.html by replacing raw HTML-escaped string embedding with the Jinja2 | tojson filter, ensuring JavaScript-safe encoding of all identifier values. A formally tagged patched release version was not confirmed from available data - verify with the AIL Project GitHub releases page whether a version after 7.0.0 incorporates this commit before deploying. If immediate patching is not possible, restrict access to the Chat Explorer and Forum Explorer views to only fully trusted analysts via AIL's role controls, which reduces but does not eliminate the attack surface. Alternatively, removing the Translate to preferred language buttons from both templates eliminates the injection entry point entirely at the cost of losing translation functionality. Applying a Content Security Policy header that blocks inline event handler execution (script-src 'self') would mitigate this class of stored XSS broadly, though retrofitting CSP to an application with inline onclick handlers requires additional template refactoring to be effective.

Share

EUVD-2026-54194 vulnerability details – vuln.today

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