Skip to main content

Google Guava CVE-2026-102554

| EUVDEUVD-2026-95889 HIGH
Allocation of Resources Without Limits or Throttling (CWE-770)
2026-10-09 Google
8.2
CVSS 4.0 · Vendor: Google
View

Attack ChainAIDerived

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

  1. Access
    Reach endpoint that deserializes untrusted Java objects
  2. Delivery
    Deliver crafted serialization stream with oversized size field
  3. Exploit
    Trigger eager unthrottled array allocation in readObject
  4. Execution
    Exhaust JVM heap (OutOfMemoryError)
  5. Impact
    Denial 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.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 – 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

Guava 4.0 <33.7.2

Affected Packages

euvd guava fix: 33.7.2

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

Vendor (Google) PRIMARY 8.2 HIGH
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
vuln.today AI 5.9 MEDIUM

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.

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

Primary rating from Vendor (Google).

CVSS VectorVendor: Google

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

Lifecycle Timeline

2
Patch available
Oct 09, 2026 - 17:02 EUVD
CVE Published
Oct 09, 2026 - 15:07 cve.org
HIGH 8.2

DescriptionCVE.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.

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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.4%
Top 73% exploitable
Prevalence
Ubiquitous
Guava is a core Java library embedded in vast numbers of JVM applications
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment MSRC Vendor GitHub

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 HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

41
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +41
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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.

More in Java

View all
CVE-2012-4681 CRITICAL POC
9.8 Aug 28

Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m

CVE-2015-7450 CRITICAL POC
9.8 Jan 02

Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti

CVE-2013-2465 CRITICAL POC
9.8 Jun 18

Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent

CVE-2011-3544 CRITICAL POC
9.8 Oct 19

Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug

CVE-2010-1871 HIGH POC
8.8 Aug 05

JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to

CVE-2012-1723 CRITICAL POC
9.8 Jun 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up

CVE-2013-0422 CRITICAL POC
9.8 Jan 10

Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using

CVE-2012-0507 CRITICAL POC
9.8 Jun 07

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up

CVE-2015-4852 CRITICAL POC
9.8 Nov 18

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

CVE-2012-5076 CRITICAL POC
9.8 Oct 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow

CVE-2017-3066 CRITICAL POC
9.8 Apr 27

Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla

CVE-2012-0391 CRITICAL POC
9.8 Jan 08

The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during

Vendor StatusVendor

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