Skip to main content

AIL Framework EUVDEUVD-2026-87093

| CVE-2026-100187 MEDIUM
Improper Input Validation (CWE-20)
2026-09-25 CIRCL GHSA-8f5g-55q8-r2c9
6.9
CVSS 4.0 · Vendor: CIRCL
View

Attack ChainAIDerived

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

  1. Access
    Publish crafted 69-char '.onion'-suffixed URL in crawled source
  2. Exploit
    AIL Onion module extracts via length/suffix shortcut
  3. Execution
    Bogus domain sliced and queued as onion task
  4. Impact
    Crawler fetches attacker-chosen non-onion target

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
Exploitation Conditions

Requires only that the attacker can place crafted content in a source that the AIL Framework's crawler is configured to ingest (e.g., a monitored paste/leak/web source), and the payload must be a URL that is EXACTLY 69 characters long and ends in '.onion' to satisfy the vulnerable perf shortcut in the Onion module. No authentication, no user interaction, and default configuration are sufficient (PR:N/UI:N). Limiting factors: the target instance must actually run an affected (unpatched) AIL Framework version and be crawling a source the attacker can influence; impact is confined to crawler target selection integrity, not host compromise, so realistic risk is contained to poisoning the analysis pipeline.

Impact

This is a moderate-integrity issue, not a high-priority emergency. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) confirms remote, unauthenticated, low-complexity exploitation with no user interaction, but the impact is deliberately scoped to VI:L (low integrity) with VC:N/VA:N - no confidentiality or availability loss. The commit diff corroborates the description exactly: the removed 'perf' shortcut (len==69 and endswith '.onion') is a genuine input-validation gap (CWE-20), so the technical claim is well-founded. There is NO EPSS score, NO CISA KEV listing, and NO public exploit code, so exploitation is theoretical at this time. The realistic worst case is crawler task-queue poisoning / target redirection (an SSRF-adjacent behavior the description hints at with 'unintended network resources'), but the vendor did not rate any confidentiality or scope-change impact, so it should be treated as a data-integrity defect in an internal analysis tool rather than a server-compromise vector. Net: real but low urgency - patch on normal cycle.

Exploit ScenarioDerived

An attacker posts crafted content (e.g., on a paste site, forum, or leak source that an AIL instance crawls) containing a URL exactly 69 characters long that ends in '.onion' but actually points to an IP address or ordinary hostname with a '.onion' path segment. When AIL's Onion module ingests it, the naive length/suffix shortcut slices out a bogus 'domain' and queues it as a legitimate onion crawler task, steering the crawler toward an attacker-chosen resource. No public exploit code exists, but the length/suffix trick is trivial to reproduce from the description and patch.

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

Crafted URL injection in the Onion module of the AIL Framework lets unauthenticated content publishers push arbitrary non-onion addresses into the crawler's task queue, degrading the integrity of the framework's target selection. The module used a performance shortcut that accepted any URL of exactly 69 characters ending in '.onion' as a valid onion target, then sliced the domain directly out of the string without proper hostname parsing, so an attacker who can place content in a source the crawler ingests (a monitored paste, leak site, or web feed) can steer the crawler toward unintended network resources. No authentication or user interaction is needed and default configuration is sufficient; the assessed vector (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N) confirms impact limited to low integrity with no confidentiality or availability effect, and there is no public exploit identified at time of analysis.

RemediationAI

Apply the vendor fix by updating to a revision that includes commit 5c8a68b3d8c7d7b03e5febe4ac5b5aca91826adb (https://github.com/ail-project/ail-framework/commit/5c8a68b3d8c7d7b03e5febe4ac5b5aca91826adb), which replaces the 69-character length/suffix shortcut with crawlers.get_url_domain() plus crawlers.is_valid_onion_domain() validation; a released tagged version is not independently confirmed, so verify the deployed commit hash after upgrading. If immediate patching is not possible, reduce exposure by limiting crawling to trusted, non-attacker-influenceable sources and by adding a pre-queue validation filter that parses URLs with a real host component and rejects any 'onion task' whose hostname is an IP literal or non-onion domain - the trade-off is added processing overhead and possible false rejections of legitimate v3 onion addresses if the filter is too broad. Additional compensating controls include monitoring the onion task queue for entries resolving to IP addresses or clearnet hostnames (detects successful poisoning, with the cost of extra logging/alerting) and disabling or sandboxing the Onion crawler module until the fix is applied, which removes the feature entirely for that period. Note that because no authentication is required, network- or credential-based restrictions do not mitigate this issue; validation at the URL-parsing layer is the effective control.

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 flaw is a classic improper input validation issue (CWE-20) introduced as an optimization in bin/modules/Onion.py. Rather than resolving the host portion of a candidate URL and validating it against onion-domain rules, the code path checked only len(url) == 69 and url.endswith('.onion'), then derived the domain with a positional slice (url[7:]) - a 'perf' shortcut that assumes the fixed 7-character 'http://' prefix and a fixed 56-character v3 onion address. Because the length and suffix checks operate on the whole URL string rather than the parsed hostname, any URL whose host is an IP address or ordinary hostname can satisfy them as long as a path segment ending in '.onion' pads the string to exactly 69 characters. The extracted hostname is then handed to the Onion crawler as a legitimate task, meaning validation is bypassed at the extraction stage and the framework acts on a non-onion target. The patched logic removes the shortcut entirely and instead calls crawlers.get_url_domain(url) followed by crawlers.is_valid_onion_domain(domain), restoring hostname-aware parsing and proper onion-domain validation. The CPE cpe:2.3:a:ail_project:ail_framework:*:*:*:*:*:*:*:* indicates all listed AIL Framework versions are in scope for this code path.

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.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
vuln.today AI 5.3 MEDIUM

Remote unauthenticated content injection with no interaction (AV:N/AC:L/PR:N/UI:N); only crawler target-selection integrity is affected (I:L), with no confidentiality or availability impact.

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

Primary rating from Vendor (CIRCL).

CVSS VectorVendor: CIRCL

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

DescriptionCVE.org

The Onion module in AIL Framework contained a performance shortcut in its URL extraction logic that accepted URLs as valid .onion targets based solely on a length check (exactly 69 characters) and a suffix check (ending in ".onion"), without performing proper hostname parsing or onion-domain validation. An unauthenticated attacker who could publish or control web content crawled by the framework could embed a crafted URL containing an IP address or non-onion hostname with a path ending in ".onion" that satisfied the length and suffix conditions. Such a URL would be extracted, its domain naively sliced from the string, and queued as a legitimate onion crawler task. This allowed unauthenticated content publishers to inject arbitrary non-onion targets into the crawler's task queue, influencing crawler behavior and potentially directing it toward unintended network resources. The vulnerability required no authentication, no user interaction, and only the ability to place crafted content in a location the framework would crawl. The security impact is a loss of integrity in the crawler's target selection: the framework processes and acts upon URLs that do not correspond to legitimate .onion services.

Threat Intelligence Overview

EPSS Score
0.4%
Top 65% exploitable
Prevalence
Low
CIRCL's AIL open-source CTI/leak-analysis framework, niche security-team tooling
Data Quality
4 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.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
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0
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-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-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