Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSupply crafted Java class file
-
ExploitProcessed via ClassWriter.COMPUTE_FRAMES
-
ExecutionSlow computeAllFrames fix-point convergence
-
ImpactTransforming thread CPU exhausted (DoS)
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V2 - Validation and Business Logic Algorithmic complexity limits
|
| Exploitation Conditions | Exploitation requires that the target application process an attacker-supplied Java class file through ASM's ClassWriter configured with the COMPUTE_FRAMES flag, which invokes the unbounded MethodWriter.computeAllFrames() fix-point algorithm. This means the vulnerable path is only reachable in deployments that perform bytecode transformation/frame recomputation on untrusted or externally influenced class files (e.g., build/CI bytecode rewriters, instrumentation or AOP agents, class-loading sandboxes, or services that accept and transform uploaded bytecode). Limiting factors per the CVSS 4.0 vector: the attack vector is local (AV:L) and requires passive user interaction (UI:P) - a user or application must feed the crafted file into the ASM call path rather than the attacker triggering it directly over the network - and impact is confined to availability (CPU exhaustion of the transforming thread) with no confidentiality or integrity effect. Applications that do not use COMPUTE_FRAMES, or that only process trusted class files, are not realistically exposed. |
| Impact | This is a moderate-priority availability issue, not a critical one. The authoritative CVSS 4.0 vector (CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H) describes a local attack vector with passive user interaction, no privileges, and impact limited solely to availability (VA:H; confidentiality and integrity are N) - consistent with CWE-407 (inefficient algorithmic complexity / algorithmic-complexity DoS). The score of 6.8 is driven entirely by the availability impact, not by any code-execution or data-exposure risk. No EPSS score, CISA KEV listing, or public POC is present in the provided data, so there is no signal of active exploitation or weaponized exploit code; exploitation status is therefore 'no public exploit identified at time of analysis.' The realistic risk is confined to environments that process untrusted/attacker-influenced Java class files through ASM's ClassWriter.COMPUTE_FRAMES path (e.g., bytecode-transformation pipelines, build tooling, instrumentation agents, or sandboxes that recompute stack map frames). The AV:L and UI:P metrics indicate the attacker cannot directly trigger this over the network against a default service - a local user or an application must feed the crafted class file into the vulnerable code path - which meaningfully limits mass, unauthenticated remote exploitation. Net: a real but contained DoS affecting a very widely embedded library; patch promptly where untrusted bytecode is processed, but it is not a drop-everything network-exploitable flaw. |
| Exploit ScenarioDerived | An attacker submits a specially crafted Java class file to a service or tool that transforms bytecode using ASM's ClassWriter with the COMPUTE_FRAMES option (for example a bytecode-rewriting build step, an instrumentation agent, or an upload-and-transform pipeline). The crafted methods force MethodWriter.computeAllFrames()'s unbounded fix-point algorithm to converge extremely slowly, pinning the transforming thread at high CPU for an unbounded time and degrading or denying service. No public exploit code is identified at time of analysis, and the local attack vector with passive user interaction means the file must be ingested by an application that already calls the vulnerable path. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 14, 2026
CPU exhaustion in the OW2 ASM Java bytecode library (versions 3.0 through 9.10.x) lets attackers who can supply crafted class files stall bytecode-transforming threads for an unbounded amount of time whenever ClassWriter is used with the COMPUTE_FRAMES option. The crafted methods force the fix-point algorithm in MethodWriter.computeAllFrames() to converge very slowly, consuming CPU indefinitely; only availability is affected, with no confidentiality or integrity impact. The attack path is local and requires passive user interaction (a user or application must feed the crafted file into the ASM transformation call path), so exposure is limited to deployments that recompute frames on untrusted or externally influenced bytecode. Patch available per the vendor advisory, and no public exploit identified at time of analysis.
RemediationAI
Vendor-released patch: upgrade to OW2 ASM 9.11 (the vulnerable range is 3.0 through 9.10.x); the upstream fix is the merge request https://gitlab.ow2.org/asm/asm/-/merge_requests/463 and commit ab68bbd2521359b7c8cd3517c6331ced3d817ed0, which bound the convergence behavior of MethodWriter.computeAllFrames(). Where upgrading immediately is not possible, the most effective compensating control is to stop calling ClassWriter with COMPUTE_FRAMES on untrusted or externally supplied class files, using COMPUTE_MAXS only (or supplying precomputed frames) - the trade-off is that Java 7+ class files requiring recomputed stack map frames may fail verification or be rejected by the JVM. Alternatively, isolate any COMPUTE_FRAMES transformation into a separate, resource-capped worker process with a hard CPU/wall-clock timeout and kill-on-expiry, and route all bytecode transformation through a bounded thread pool with a per-request deadline so a single crafted class cannot starve the pool; the trade-off is added operational complexity and the risk that legitimate but expensive transformations are also terminated. Also restrict who can submit bytecode for transformation (authenticate upload endpoints and validate/limit class size and method complexity before queuing) so that only trusted inputs reach the frame computation path.
Affected VersionsENISA
Affected Packages
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 widely embedded Java library for reading, writing and transforming compiled bytecode; it underlies build tooling, instrumentation/AOP agents, JVM language compilers, class-loading sandboxes and any service that rewrites .class files. The root cause is CWE-407 (Inefficient Algorithmic Complexity): when ClassWriter is constructed or invoked with COMPUTE_FRAMES, ASM derives stack map frames by iteratively propagating frame information across the control-flow graph of each method, implemented in MethodWriter.computeAllFrames(). The fix-point loop is unbounded in iterations and work per iteration, so an attacker-controlled method with carefully arranged branching and merge points can be shaped to require a very large number of iterations before reaching a fixed point, monopolizing the CPU of the thread performing the transformation. The affected CPE is cpe:2.3:a:ow2:asm:*:*:*:*:*:*:*:* applying to releases from 3.0 up to (but excluding) 9.11. Note that the bug is not reachable through verification or loading of already-compiled classes alone: it requires the COMPUTE_FRAMES code path (which also implies COMPUTE_MAXS), which is an explicit opt-in chosen by the consuming application.
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
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
A local app must ingest the crafted class file via COMPUTE_FRAMES (AV:L, UI:R) with no auth (PR:N); only availability is affected (A:H), matching the algorithmic-complexity DoS.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
OW2 ASM 3.0 before 9.11 contains a denial of service vulnerability that allows attackers to exhaust CPU by supplying crafted class files processed with ClassWriter.COMPUTE_FRAMES. Attackers can craft methods that make the unbounded MethodWriter.computeAllFrames() fix point algorithm converge slowly, tying up transforming threads for unbounded time.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Excessive resource consumption in OW2 ASM versions 1.4.3 through 9.10.x allows an unauthenticated local attacker to trig
Denial of service in OW2 ASM versions 3.0 up to but not including 9.11 allows a crafted legacy class file with nested JS
Uncontrolled recursion in OW2 ASM's SignatureReader.parseType() lets an attacker crash any application that reads or tra
Denial of service in OW2 ASM versions 3.0 through 9.10.x allows a crafted class file to exhaust JVM heap memory when an
Denial of service in OW2 ASM versions 3.0 through 9.10.x (prior to 9.11) allows an attacker to crash applications that t
Denial of service in OW2 ASM (versions 3.0 up to but not including 9.11) allows an attacker who can get a crafted Java c
Denial of service in OW2 ASM 5.0 through 9.10.x allows an attacker who can supply a crafted Java class file to trigger e
Excessive memory allocation in the asm-commons AdviceAdapter of OW2 ASM (versions 3.1 through 9.10.x, fixed in 9.11) let
EUVD-2026-101215
GHSA-42q2-x6j4-w994
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB