CVE-2026-102554: Guava: unbounded deserialization allocation causes DoS

GHSA-xxph-c9ww-hj94HIGHCISA: TRACK*
Published October 9, 2026
CISO Take

Google Guava versions up to 33.7.1 allocate arrays based on an attacker-controlled size when deserializing CompactHashMap, CompactHashSet, or MapMakerInternalMap, so a crafted Java serialization stream can trigger an OutOfMemoryError and crash the process. Guava is a ubiquitous transitive dependency in Java-based AI/ML tooling (for example Spark, Hadoop, and Java inference or data pipeline components), so the potential blast radius is wide, although the vulnerable path is only reachable where an application deserializes untrusted Java objects. There is no CISA KEV listing, no public exploit, no Nuclei template, and no EPSS score yet, so exploitation is not currently observed and the impact is limited to availability. Upgrade to Guava 33.7.2, inventory Java services that deserialize untrusted data, and prefer eliminating native Java deserialization of external input altogether.

Sources:NVDGitHub AdvisoryATLAS

What is the risk?

Medium-to-high risk, driven by availability impact only. No CVSS vector, EPSS, or exploit data is available (Sources: NVD description, GitHub Advisory). Exploitation requires a service that accepts untrusted Java-serialized streams and that actually deserializes Guava compact collections, which narrows real-world exposure. Where reachable, exploitation is low-complexity because a small payload can force a large allocation. Confidence: MEDIUM, since the affected version range is only partly specified and the CVSS vector is missing.

How does the attack unfold?

Initial Access
Attacker identifies a Java service that accepts untrusted serialized objects over RPC, a queue, or a cache.
AML.T0049
Exploitation
A crafted stream with an oversized CompactHashMap, CompactHashSet, or MapMakerInternalMap size triggers eager array allocation during deserialization.
Impact
The JVM throws OutOfMemoryError, crashing or stalling the service and disrupting inference or pipeline operations.
AML.T0029

What systems are affected?

PackageEcosystemVulnerable RangePatched
Microsoft APMmaven>= 4.0, <= 33.7.133.7.2
4.1KPushed 8d ago63% patched~20d to patchFull package profile →
Guava——No patch

How severe is it?

CVSS 3.1
5.9 / 10
EPSS
0.4%
chance of exploitation in 30 days
Higher than 29% of all CVEs
Exploitation Status
Exploit Available
Exploitation: MEDIUM
Sophistication
Trivial
Exploitation Confidence
medium
○CISA SSVC: Public PoC
Composite signal derived from CISA KEV, VulnCheck KEV, CISA SSVC, EPSS, Metasploit, Exploit-DB, trickest/cve, Nuclei templates, and inthewild.io exploitation reports.

What is the attack surface?

AVACPRUISCIA
AVNetwork
ACHigh
PRNone
UINone
SUnchanged
CNone
INone
AHigh

What should I do?

1 step
  1. 1) Upgrade Guava to 33.7.2 or later, and check transitive dependencies with mvn dependency:tree or gradle dependencies, including shaded or fat JARs. 2) Use ObjectInputFilter (JEP 290) allow-lists to restrict deserializable classes and limit stream size and array length. 3) Do not deserialize untrusted Java objects; switch to safer formats such as JSON or Protobuf. 4) Set JVM heap limits and container memory limits, and enable restart policies so one crash does not cascade. 5) Monitor for OutOfMemoryError events, abnormal heap growth, and unexpected restarts in Java services, and alert on large inbound serialized payloads.

What does CISA's SSVC say?

DecisionTrack*
Exploitationpoc
AutomatableNo
Technical Impactpartial

Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.

How is it classified?

Which compliance frameworks are affected?

This CVE is relevant to:

EU AI Act
Article 15-Accuracy, robustness and cybersecurity
ISO 42001
A.6.2.6-AI system operation and monitoring
NIST AI RMF
MANAGE 2.3-Responses to previously unknown risks and mechanisms to supersede or deactivate AI systems
OWASP LLM Top 10
LLM03-Supply Chain

Frequently Asked Questions

What is CVE-2026-102554?

Google Guava versions up to 33.7.1 allocate arrays based on an attacker-controlled size when deserializing CompactHashMap, CompactHashSet, or MapMakerInternalMap, so a crafted Java serialization stream can trigger an OutOfMemoryError and crash the process. Guava is a ubiquitous transitive dependency in Java-based AI/ML tooling (for example Spark, Hadoop, and Java inference or data pipeline components), so the potential blast radius is wide, although the vulnerable path is only reachable where an application deserializes untrusted Java objects. There is no CISA KEV listing, no public exploit, no Nuclei template, and no EPSS score yet, so exploitation is not currently observed and the impact is limited to availability. Upgrade to Guava 33.7.2, inventory Java services that deserialize untrusted data, and prefer eliminating native Java deserialization of external input altogether.

Is CVE-2026-102554 actively exploited?

No confirmed active exploitation of CVE-2026-102554 has been reported, but organizations should still patch proactively.

How to fix CVE-2026-102554?

1) Upgrade Guava to 33.7.2 or later, and check transitive dependencies with mvn dependency:tree or gradle dependencies, including shaded or fat JARs. 2) Use ObjectInputFilter (JEP 290) allow-lists to restrict deserializable classes and limit stream size and array length. 3) Do not deserialize untrusted Java objects; switch to safer formats such as JSON or Protobuf. 4) Set JVM heap limits and container memory limits, and enable restart policies so one crash does not cascade. 5) Monitor for OutOfMemoryError events, abnormal heap growth, and unexpected restarts in Java services, and alert on large inbound serialized payloads.

What systems are affected by CVE-2026-102554?

This vulnerability affects the following AI/ML architecture patterns: Model serving, Data and feature pipelines, Distributed training and compute frameworks, Java-based ML services.

What is the CVSS score for CVE-2026-102554?

CVE-2026-102554 has a CVSS v3.1 base score of 5.9 (HIGH). The EPSS exploitation probability is 0.35%.

What is the AI security impact?

Affected AI Architectures

Model servingData and feature pipelinesDistributed training and compute frameworksJava-based ML services

MITRE ATLAS Techniques

AML.T0029Denial of AI Service
AML.T0049Exploit Public-Facing Application

Compliance Controls Affected

EU AI Act: Article 15
ISO 42001: A.6.2.6
NIST AI RMF: MANAGE 2.3
OWASP LLM Top 10: LLM03

What are the technical details?

Original Advisory

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.

Exploitation Scenario

An attacker finds a Java-based ML data ingestion or model-serving service that accepts serialized objects over an RPC endpoint, message queue, or cache. They send a small crafted serialization stream representing a CompactHashMap with an enormous declared size. During deserialization, Guava eagerly allocates a huge array, triggering OutOfMemoryError. The service crashes or hangs, and repeated requests keep inference or pipeline processing offline.

Weaknesses (CWE)

CWE-400 — Uncontrolled Resource Consumption: The product does not properly control the allocation and maintenance of a limited resource.

  • [Architecture and Design] Design throttling mechanisms into the system architecture. The best protection is to limit the amount of resources that an unauthorized user can cause to be expended. A strong authentication and access control model will help prevent such attacks from occurring in the first place. The login application should be protected against DoS attacks as much as possible. Limiting the database access, perhaps by caching result sets, can help minimize the resources expended. To further limit the potential for a DoS attack, consider tracking the rate of requests received from users and blocking requests that exceed a defined rate threshold.
  • [Architecture and Design] Mitigation of resource exhaustion attacks requires that the target system either: The first of these solutions is an issue in itself though, since it may allow attackers to prevent the use of the system by a particular valid user. If the attacker impersonates the valid user, they may be able to prevent the user from accessing the server in question. The second solution is simply difficult to effectively institute -- and even when properly done, it does not provide a full solution. It simply makes the attack require more resources on the part of the attacker. recognizes the attack and denies that user further access for a given amount of time, or uniformly throttles all requests in order to make it more difficult to consume resources more quickly than they can again be freed.

Source: MITRE CWE corpus.

CVSS Vector

CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H

Timeline

Published
October 9, 2026
Last Modified
October 27, 2026
First Seen
October 9, 2026

Related Vulnerabilities