Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach endpoint that deserializes untrusted Java objects
-
DeliveryDeliver crafted serialization stream with oversized size field
-
ExploitTrigger eager unthrottled array allocation in readObject
-
ExecutionExhaust JVM heap (OutOfMemoryError)
-
ImpactDenial of service on target application
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation limits
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 that the target application performs Java native deserialization (ObjectInputStream.readObject) on attacker-influenced input, and that the deserialized graph includes a Guava CompactHashMap, CompactHashSet, or MapMakerInternalMap instance. The specific trigger is a forged size/element-count field in the serialization stream, which Guava's readObject uses to eagerly size a backing array without throttling. LIMITING FACTORS: the flaw is unreachable in applications that never deserialize untrusted serialized objects (a widely discouraged pattern), so despite PR:N/UI:N the CVSS 4.0 vector marks AT:P - a non-default application behavior is the gating prerequisite. No authentication or user interaction is required by Guava itself, but any authentication/authorization in front of the deserializing endpoint further limits reach. Impact is limited to availability; the oversized allocation does not yield code execution or data disclosure. |
| Impact | This is a genuine but conditional availability-only risk. The provided CVSS 4.0 vector (CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N, score 8.2) encodes network, unauthenticated reach with low complexity but an explicit Attack Requirement (AT:P) - that requirement is the crux: exploitation is only possible if the consuming application deserializes untrusted Java serialized data containing Guava's CompactHashMap, CompactHashSet, or MapMakerInternalMap. There is no confidentiality or integrity impact (VC:N/VI:N) - only availability via OutOfMemoryError (VA:H). No EPSS score, CISA KEV listing, or POC flag was provided in the input, so there is no public exploit identified at time of analysis and no evidence of active exploitation; the elevated score is driven by broad network reach plus Guava's enormous install base rather than by observed in-the-wild activity. One nuance to verify: the fix commit (b931fe9) ships regression tests that demonstrate triggering the condition by forging the size field, which lowers the practical difficulty of weaponization even though no standalone exploit is catalogued. Net: prioritize for patching anywhere the application accepts and deserializes untrusted serialized streams, but down-rank for applications that never deserialize attacker-controlled data, where the vulnerable code path is unreachable. |
| Exploit ScenarioDerived | An application exposes an endpoint or message consumer that deserializes Java serialized objects from an untrusted source and transitively uses affected Guava collections. An attacker submits a crafted serialization stream whose encoded element-count/size field is set to a very large value (e.g., Integer.MAX_VALUE), causing Guava's readObject to eagerly allocate a huge backing array and exhaust the JVM heap, crashing the service with OutOfMemoryError. No public standalone exploit is catalogued, but the fix commit includes a demonstrative regression test showing exactly how the oversized size field triggers the fault. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 09, 2026
Denial of service in Google Guava 4.0 through 33.7.1 can be triggered by remote unauthenticated attackers who can supply crafted Java serialization streams containing CompactHashMap, CompactHashSet, or MapMakerInternalMap objects, causing Guava to allocate an attacker-controlled backing array without throttling and exhaust memory with OutOfMemoryError. This is a genuine but conditional availability-only risk: exploitation requires the target application to perform Java native deserialization (ObjectInputStream.readObject) on attacker-influenced input, and any authentication or authorization in front of the deserializing endpoint further limits reach; no code execution or data disclosure results. A vendor fix is available in Guava 33.7.2, and no public exploit identified at time of analysis.
RemediationAI
Vendor-released patch: upgrade Google Guava to version 33.7.2 or later, the fix that caps deserialization-time initial allocation in CompactHashMap, CompactHashSet, and MapMakerInternalMap; see the advisory at https://github.com/google/guava/security/advisories/GHSA-xxph-c9ww-hj94 and release notes at https://github.com/google/guava/releases/tag/v33.7.2. If immediate upgrade is not possible, the most effective compensating control is to eliminate or strictly constrain Java native deserialization of untrusted input-avoid calling ObjectInputStream.readObject on attacker-influenced streams, or use a JEP 290 ObjectInputFilter allowlist that rejects Guava CompactHashMap, CompactHashSet, and MapMakerInternalMap classes before they are instantiated; this trades compatibility with applications that legitimately serialize those types. Requiring authentication/authorization and input validation on any endpoint that accepts serialized objects reduces exposure but does not fix the underlying unbounded allocation, and JVM heap limits or request-size limits may only reduce the blast radius rather than prevent an OutOfMemoryError from a single crafted stream.
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
CWE-770 (Allocation of Resources Without Limits or Throttling) is the root cause: during Java object deserialization, Guava's readObject methods for CompactHashMap, CompactHashSet, and MapMakerInternalMap read a caller-controlled size or element-count field and pass it to init() or equivalent array allocation logic before validating it against actual stream contents. The CPE cpe:2.3:a:google:guava:*:*:*:*:*:*:*:* identifies Google Guava as the affected package, with versions 4.0 through 33.7.1 vulnerable. The upstream commit b931fe9d6d5cf00bc55714ad3308d086f71850fe changes init(elementCount) to init(min(elementCount, 256)) in CompactHashMap and CompactHashSet and similarly caps MapMakerInternalMap, and tests demonstrate the issue by overriding ObjectInputStream.readInt to return Integer.MAX_VALUE, which previously caused huge allocation and now triggers IOException or a 64-element table. The attack operates over Java native serialization, not a custom protocol, so it is conditional on the application deserializing untrusted data. Our independent assessment maps the risk to CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H, consistent with the CVSS 4.0 vector's AT:P prerequisite and availability-only high impact; the flaw does not provide code execution, data disclosure, or integrity impact.
Know when Java 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:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
AV:N and PR:N/UI:N since the stream is attacker-supplied without auth, but AC:H because exploitation depends on the application deserializing untrusted data; impact is availability-only, so C:N/I:N/A:H.
Primary rating from Vendor (Google).
CVSS VectorVendor: Google
Lifecycle Timeline
2DescriptionCVE.org
Allocation of resources without limits or throttling (CWE-770) during Java object deserialization in Google Guava versions 4.0 through 33.7.1 allows an attacker to cause a Denial of Service via OutOfMemoryError. When deserializing CompactHashMap, CompactHashSet, or MapMakerInternalMap instances, Guava eagerly allocates an array based on a caller-specified size parameter without throttling, permitting memory exhaustion from crafted serialization streams.
Articles & Coverage 1
Technical POC Analysis
Note on scoring: the ticket header says CVSS 8.2 (HIGH); the advisory itself computes 5.9 (Moderate) from vector CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Google Guava, a Java utility library that is embedded - often transitively and invisibly - in a very large share of our internally built and third-party Java services, contains a HIGH-severity memory-exhaustion flaw (CVE-2026-102554, CVSS 8.2) that lets an attacker crash any service which deserializes untrusted Java objects. The impact is availability-only: no code execution and no data disclosure, but a successful attack drives the process to OutOfMemoryError and takes that service offline. Exposure is conditional (the application must perform native Java deserialization of attacker-influenced input), and no public exploit identified at time of analysis, so leadership should treat this as a manageable but urgent outage risk concentrated in services that accept serialized Java objects.
Apply vendor patch. If the upgrade to Guava 33.7.2 cannot be completed immediately, reduce exposure by disabling or blocking Java native deserialization of untrusted input, enforcing a JEP 290 serialization filter allowlist, restricting network reachability to deserializing endpoints, and capping JVM heap with OutOfMemoryError monitoring and alerting.
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
Insecure deserialization occurs when an application converts serialized data (a stream of bytes representing an object's state) back into a living object without proper validation.
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m
Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti
Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent
Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug
JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up
Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up
The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow
Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla
The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during
EUVD-2026-95889
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB