Skip to main content

OW2 ASM CVE-2026-112046

| EUVDEUVD-2026-103508 MEDIUM
Loop with Unreachable Exit Condition (Infinite Loop) (CWE-835)
2026-10-18 VulnCheck GHSA-84qw-843w-9rmf
6.8
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Deliver crafted class to build tool
  2. Delivery
    ASM rewrites method past 64KB
  3. Exploit
    16-bit offset truncates in Label.resolve()
  4. Execution
    ClassReader.accept() enters infinite loop
  5. Impact
    Tool process hangs, service denied

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Loop termination conditions
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires a tool using the vulnerable OW2 ASM 9.11 (before 9.11.1) to parse and TRANSFORM an attacker-supplied class via ClassReader.accept(), where the rewritten method body grows beyond 65535 bytes, causing 16-bit forward-reference offsets to truncate in Label.resolve(). The specific prerequisite is a code-growing transformation path (instrumentation/rewriting) - not merely reading an unmodified class. Limiting factors: the attack vector is local (AV:L), a victim must actively run the vulnerable build tool, instrumenter, agent, or analyzer against the malicious input (UI passive), and only availability of that single process is affected - there is no code execution or data disclosure.

Impact

This is a denial-of-service issue in the OW2 ASM bytecode library (CWE-835, infinite loop in Label.resolve()). The supplied CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H) and base score 6.8 (Medium) are internally consistent and align well with the description: a local attack vector, no privileges, passive user interaction (a victim must run a tool that parses the malicious class), and impact limited to availability (no confidentiality or integrity impact). There is no CISA KEV listing and no POC flag in the input, so exploitation status is 'no public exploit identified at time of analysis' - there is no EPSS value provided either, so widespread-exploitation probability cannot be quantified. The realistic risk is moderate and bounded: this hangs a single process (a build, an instrumentation agent, or an analyzer) rather than granting code execution or data access. It is a genuine supply-chain/tooling hazard because ASM is embedded in a huge number of Java build and analysis pipelines, but it is NOT a 'drop everything' critical issue - the local vector and required user interaction (feeding an attacker-crafted class into a vulnerable tool) limit mass exploitation. Note the trigger is conditional: it only manifests when ASM rewrites a method such that the transformed code grows past 65535 bytes, which depends on the transformation being performed, not merely on parsing any class.

Exploit ScenarioDerived

An attacker publishes a malicious JAR/class (e.g., to a public artifact repository or as a dependency/plugin) crafted so that when an ASM 9.11-based tool transforms it, the rewritten method body grows past 64 KB. When a CI build, instrumentation agent, or static analyzer runs ClassReader.accept() over that class, Label.resolve() enters an infinite loop and the process hangs, stalling the pipeline. No public exploit code is identified at time of analysis, and the local attack vector plus required processing (UI:P) mean the victim must actually run the vulnerable tool against the crafted input.

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

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

Alert me

AnalysisAIv1 – Oct 18, 2026

Denial of service in OW2 ASM 9.11 before 9.11.1 occurs when a build tool, instrumenter, agent, or analyzer uses ClassReader.accept() to transform an attacker-supplied class whose rewritten method body grows beyond 65535 bytes; 16-bit forward-reference offsets truncate in Label.resolve() and cause an infinite loop that hangs the affected process. The issue is local (AV:L) and requires the victim to process a crafted class through a code-growing transformation path (UI:R), with impact limited to availability of that single process and no code execution or data disclosure. No public exploit code was identified at time of analysis and no CISA KEV entry is associated; the vendor addressed the flaw in ASM 9.11.1.

RemediationAI

Upgrade OW2 ASM to 9.11.1 or later; the fix is tracked in the vendor merge request https://gitlab.ow2.org/asm/asm/-/merge_requests/480 and commit https://gitlab.ow2.org/asm/asm/-/commit/4bb1a4701e7b61c2163525b987a96a8db815cb68, with version guidance at https://asm.ow2.io/versions.html. If immediate upgrade is not possible, enforce a hard cap on rewritten method-body size before the transformation completes, so classes whose output would exceed 65535 bytes are rejected rather than passed into Label.resolve(); the trade-off is that very large but legitimate generated methods may be refused. Configure watchdog timeouts around ClassReader.accept() in build tools, instrumenters, agents, and analyzers so a hung transformation is terminated; the trade-off is that legitimate long-running transformations may be aborted. Avoid applying code-growing transformations to untrusted class files where feasible, and run such tooling with least privilege and process isolation to contain availability impact; these are compensating controls only and do not replace the 9.11.1 upgrade.

Affected VersionsENISA

ASM 9.11 <9.11.1

Affected Packages

euvd asm fix: 9.11.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

OW2 ASM is a Java bytecode manipulation and analysis framework used by build tools, instrumentation agents, bytecode analyzers, and other JVM tooling. The defect is CWE-835 (Infinite Loop) in Label.resolve(): class-file method bodies and their branch offsets are constrained by 16-bit structures, and when a transformation causes a rewritten method to exceed 65535 bytes, forward-reference offsets are truncated rather than safely rejected or widened. That truncated offset leads to an infinite loop while ClassReader.accept() processes the transformed class, so the consuming tool stalls. The affected CPE entry, cpe:2.3:a:ow2:asm:*:*:*:*:*:*:*:*, is a wildcard and does not pin a version by itself; version confirmation against the advisory is required. Exploitation is not a simple parse of an unmodified class: the prerequisite is a code-growing transformation/rewriting path that accepts attacker-controlled bytecode and then lets the rewritten method body cross the 64 KB boundary, which is why the assessed vector is local with user interaction and availability-only impact.

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

A victim-run tool must process an attacker-crafted class locally, so AV:L and UI:R with PR:N; impact is an unrecoverable hang, so A:H only with C:N/I:N.

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
Red Hat 5.5 MEDIUM

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 9.11 before 9.11.1 contains an infinite loop vulnerability in Label.resolve() caused by 16-bit forward-reference offsets truncating when rewritten methods exceed 64 KB. Attackers can supply crafted class files whose transformed code grows past 65535 bytes, hanging ClassReader.accept() and denying service to build tools, instrumenters, agents, or analyzers.

Threat Intelligence Overview

EPSS Score
0.1%
Top 98% exploitable
Prevalence
High
ASM is a core Java bytecode library embedded across most JVM build/analysis tooling
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.1%
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· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact· derived
High

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.

More in Asm

View all

Vendor StatusVendor

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