Skip to main content

OW2 ASM EUVDEUVD-2026-101217

| CVE-2026-110263 MEDIUM
Uncontrolled Recursion (CWE-674)
2026-10-14 VulnCheck GHSA-9vfw-838x-23h7
6.8
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Craft class file with deeply nested generic Signature
  2. Delivery
    Submit class to ASM-based transformer
  3. Exploit
    Trigger unbounded recursion in SignatureReader.parseType()
  4. Execution
    Exhaust thread stack (StackOverflowError)
  5. Impact
    Denial of service on processing component

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Recursion depth limits
Exploitation Conditions

Exploitation requires that a vulnerable ASM version (3.0 up to but not including 9.11) read or transform an attacker-crafted Java class file whose Signature attribute contains many levels of nested generic type arguments, driving SignatureReader.parseType() into unbounded recursion. The concrete prerequisite is that ASM processes untrusted or externally supplied bytecode (e.g., uploaded plugins, user-submitted classes, build artifacts, instrumentation agents). Limiting factors: the CVSS vector is Local (AV:L) with passive user interaction (UI:P), meaning the victim application must actively ingest and parse the malicious class; impact is confined to availability (VA:H) with no confidentiality or integrity effect, so the worst case is a crash/DoS of the processing thread or service, not code execution or data loss. Deployments that only ever process trusted, first-party bytecode are not realistically exposed.

Impact

This is a moderate, availability-only issue rather than a top-tier priority. The CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P, VA:H, confidentiality and integrity N) correctly frames it as a local, passive-user-interaction denial of service with no data exposure or code execution - consistent with the CWE-674 uncontrolled-recursion root cause and the description's StackOverflowError outcome. The score of 6.8 is driven entirely by the availability impact; there is no privilege escalation or RCE path. Exploitation status: no public exploit identified at time of analysis - the CVE is not in CISA KEV and no POC is referenced, so there is no evidence of active or automated exploitation. EPSS and SSVC data were not provided in the input and therefore cannot be factored in. The key caveat is the attack vector: the vendor set AV:L, but ASM is a library that frequently transforms class files arriving from external or untrusted sources (uploads, plugins, build artifacts, deserialized bytecode). In deployments where attacker-controlled class files reach ASM over a network boundary, the real-world reachability is effectively remote even though the base metric is Local - verify how untrusted class input reaches ASM in your environment. Net: a real but bounded DoS best triaged as medium priority, patched on a normal cadence unless ASM processes attacker-supplied bytecode in a critical service.

Exploit ScenarioDerived

An attacker supplies a crafted Java class file whose Signature attribute contains deeply nested generic type arguments. When an application or tool uses a vulnerable ASM version (3.0 to before 9.11) to read or transform that class, SignatureReader.parseType() recurses without bound and throws a StackOverflowError, crashing the processing thread or service. No public exploit code is referenced, but the crafted-input requirement is trivial to satisfy for anyone who can feed bytecode into an ASM-based pipeline.

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

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

Alert me

AnalysisAIv1 – Oct 14, 2026

Uncontrolled recursion in OW2 ASM's SignatureReader.parseType() lets an attacker crash any application that reads or transforms a malicious Java class file, exhausting the stack with deeply nested generic type arguments in the class's Signature attribute. Versions 3.0 through 9.10.x (everything before 9.11) are affected; the flaw is availability-only, yielding at worst a StackOverflowError that kills the processing thread or service, with no confidentiality or integrity impact. Exploitation is local-vector and requires the victim application to actively ingest the crafted bytecode, for example through uploaded plugins, user-submitted classes, third-party build artifacts, or instrumentation input; there is no public exploit code identified at time of analysis and no indication of confirmed active exploitation (CISA KEV), and deployments that only ever parse trusted first-party bytecode are not realistically exposed.

RemediationAI

Upgrade to OW2 ASM 9.11 or later, which the upstream fix (GitLab merge request 465 and commit 8f87fc0317a4c5ee8f538bcbb641928def25dbd6) delivers; because the fix is landed as an upstream commit/merge request rather than being independently confirmed as a tagged release in the patch references, verify the fixed artifact against https://asm.ow2.io/versions.html and the VulnCheck advisory at https://www.vulncheck.com/advisories/ow2-asm-3.0-before-9.11-uncontrolled-recursion-in-signaturereader before certifying the version in use. Where immediate upgrade is not possible, the most effective compensating control is to stop feeding untrusted bytecode to the vulnerable SignatureReader - disable plugin/class-upload endpoints, reject externally supplied .class and .jar artifacts, and restrict transformation to first-party trusted inputs; the trade-off is loss of functionality for legitimate third-party extensions. A second option is to pre-screen incoming class files and reject any whose Signature attribute exceeds a conservative nesting depth (for example more than a few dozen nested type arguments) before ASM parses them, or to run ASM transformation in a sandboxed child process or dedicated thread with a bounded stack so a StackOverflowError is contained to that unit of work rather than the host service; both approaches risk rejecting legitimately complex generic signatures or adding isolation overhead and restart handling. Finally, keep ASM current as a transitive dependency and track embedded copies across your dependency tree, since patching a direct dependency while leaving an older shaded copy in place will not close the exposure. Note that no vendor-released patch version is being invented here beyond the 9.11 boundary implied by the advisory description; deployments should confirm the exact release artifact before relying on it.

Affected VersionsENISA

ASM 3.0 <9.11

Affected Packages

euvd asm fix: 9.11

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

ASM is the widely used Java bytecode engineering library (package org.objectweb.asm) that frameworks, build tools, APM agents, and scanners rely on to read, transform, and generate JVM class files. The Signature attribute of a class file carries the generic type information that the JVM uses for erasure-aware generics, and SignatureReader.parseType() walks that grammar recursively, descending into each nested type argument. Because there is no depth bound or iterative rewrite, an attacker can construct a class file whose signature contains a long chain of nested type arguments (for example List<List<List<...>>>) so that each nested argument adds another stack frame; a sufficiently deep signature overflows the thread stack and throws StackOverflowError, aborting the transformation. The root cause class is CWE-674 (Uncontrolled Recursion). The affected CPE is cpe:2.3:a:ow2:asm:*:*:*:*:*:*:*:*, and the upstream project tracks this in GitLab merge request 465 and commit 8f87fc0317a4c5ee8f538bcbb641928def25dbd6, with the vulnerable code line visible on the ASM_9_10_1 branch. Impact is confined to availability because the recursion merely exhausts the stack; there is no memory corruption, no type-confusion primitive, and no path to code execution or data disclosure. The supplied CVSS 4.0 base of 6.8 (AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H) and the independent CVSS 3.1 reassessment (AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H) agree that an unauthenticated but local path with user-driven ingestion is required and that only availability is degraded.

Know when Asm 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 (VulnCheck) PRIMARY 6.8 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 5.5 MEDIUM

Attacker supplies a crafted class file the victim app must parse, so AV:L and UI:R; no privileges needed (PR:N), and impact is availability-only (A:H), matching the StackOverflow DoS.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

DescriptionCVE.org

OW2 ASM 3.0 before 9.11 contains an uncontrolled recursion vulnerability in SignatureReader.parseType() that allows attackers to exhaust the stack via deeply nested generic type signatures. Attackers can supply a crafted class file with a long Signature attribute containing many nested type arguments to trigger a StackOverflowError during class transformation, causing denial of service.

Threat Intelligence Overview

EPSS Score
0.2%
Top 94% exploitable
Prevalence
High
core Java bytecode library embedded in countless frameworks and build tools
Data Quality
3 sources
Confidence: Low

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.2%
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
Small
Automatable
No
Human Impact· derived
High
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

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

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