CVE-2026-102554
Denial of Service via Eager Array Allocation During Deserialization in Guava
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
8.2
Denial of Service via Eager Array Allocation During Deserialization in Guava
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.
- Record
CVE-2026-102554- CVSS 4.0
- 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 - Weakness
- CWE-770, CWE-502
- Updated
- 2026-11-02
EUVDEUVD-2026-95889
8.2
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.
- Record
EUVD-2026-95889- CVSS 4.0
- 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 - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-xxph-c9ww-hj94
8.2
Google Guava: CompactHashMap/CompactHashSet/MapMakerInternalMap deserialization triggers uncontrolled memory allocation
CompactHashMap/CompactHashSet/MapMakerInternalMap native deserialization triggers uncontrolled memory allocation
Summary
CompactHashMap, CompactHashSet, and MapMakerInternalMap implement readObject(ObjectInputStream) by reading an attacker-controlled elementCount or initialCapacity from the stream. On the very first insertion during or after deserialization (for the CompactHash* collections, inside allocArrays()) or immediately during deserialization (for MapMakerInternalMap), the implementation eagerly allocates arrays sized to that full, unvalidated value (up to CompactHashing.MAX_SIZE = 2^30-1, ~1.07 billion, for example) before the rest of the stream's actual content has been consumed. A 72-byte malicious serialized stream containing a single tiny element can force a multi-gigabyte allocation and crash a JVM with OutOfMemoryError, dynamically confirmed against the current release.
Details
CompactHashMap.readObject() (guava/src/com/google/common/collect/CompactHashMap.java):
private void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException {
stream.defaultReadObject();
int elementCount = stream.readInt();
if (elementCount < 0) {
throw new InvalidObjectException("Invalid size: " + elementCount);
}
init(elementCount);
for (int i = 0; i < elementCount; i++) {
K key = (K) stream.readObject();
V value = (V) stream.readObject();
put(key, value);
}
}
elementCount is only checked for being non-negative; there is no upper bound and no relationship enforced between the declared count and how much data actually follows in the stream. init(elementCount) (line 251) just stores the value (clamped to [1, CompactHashing.MAX_SIZE], i.e. up to 2^30-1):
void init(int expectedSize) {
Preconditions.checkArgument(expectedSize >= 0, "Expected size must be >= 0");
this.metadata = Ints.constrainToRange(expectedSize, 1, CompactHashing.MAX_SIZE);
}
The real allocation is deferred to allocArrays(), which fires lazily on the first put() call — i.e. after only one key/value pair has actually been read off the wire:
int allocArrays() {
...
int expectedSize = metadata;
int buckets = CompactHashing.tableSize(expectedSize);
this.table = CompactHashing.createTable(buckets);
setHashTableMask(buckets - 1);
this.entries = new int[expectedSize];
this.keys = new Object[expectedSize];
this.values = new Object[expectedSize];
return expectedSize;
}
With expectedSize near CompactHashing.MAX_SIZE (2^30-1), this single call allocates a hash table plus three expectedSize-length arrays — multiple gigabytes — triggered by a stream that has, at that point, only supplied one small real element. CompactHashSet.readObject()/allocArrays() have the identical shape. CompactLinkedHashMap/CompactLinkedHashSet extend these classes and inherit the same unguarded path.
The problem with MapMakerInternalMap is similar, with a size read from the serialized data and stored in a MapMaker instance for later user during deserialization, when the MapMaker is passed back to MapMakerInternalMap and segments are allocated by calling newSegment, whose implementations…
- Record
GHSA-xxph-c9ww-hj94- CVSS 4.0
- 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 - CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-400, CWE-502, CWE-770
- Updated
- 2026-11-02
NVD
8.2
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.
- Record
CVE-2026-102554- CVSS 4.0
- 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - Weakness
- CWE-502, CWE-770
- Updated
- 2026-11-02
OSV
8.2
Denial of Service via Eager Array Allocation During Deserialization in Guava
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.
- Record
CVE-2026-102554- CVSS 4.0
- 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 - Weakness
- CWE-502, CWE-770
- Updated
- 2026-11-05
OSVDEBIAN-CVE-2026-102554
8.2
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.
- Record
DEBIAN-CVE-2026-102554- CVSS 4.0
- 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - Updated
- 2026-11-02
Show 9 moreShow less
OSVGHSA-xxph-c9ww-hj94
8.2
Google Guava: CompactHashMap/CompactHashSet/MapMakerInternalMap deserialization triggers uncontrolled memory allocation
CompactHashMap/CompactHashSet/MapMakerInternalMap native deserialization triggers uncontrolled memory allocation
Summary
CompactHashMap, CompactHashSet, and MapMakerInternalMap implement readObject(ObjectInputStream) by reading an attacker-controlled elementCount or initialCapacity from the stream. On the very first insertion during or after deserialization (for the CompactHash* collections, inside allocArrays()) or immediately during deserialization (for MapMakerInternalMap), the implementation eagerly allocates arrays sized to that full, unvalidated value (up to CompactHashing.MAX_SIZE = 2^30-1, ~1.07 billion, for example) before the rest of the stream's actual content has been consumed. A 72-byte malicious serialized stream containing a single tiny element can force a multi-gigabyte allocation and crash a JVM with OutOfMemoryError, dynamically confirmed against the current release.
Details
CompactHashMap.readObject() (guava/src/com/google/common/collect/CompactHashMap.java):
private void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException {
stream.defaultReadObject();
int elementCount = stream.readInt();
if (elementCount < 0) {
throw new InvalidObjectException("Invalid size: " + elementCount);
}
init(elementCount);
for (int i = 0; i < elementCount; i++) {
K key = (K) stream.readObject();
V value = (V) stream.readObject();
put(key, value);
}
}
elementCount is only checked for being non-negative; there is no upper bound and no relationship enforced between the declared count and how much data actually follows in the stream. init(elementCount) (line 251) just stores the value (clamped to [1, CompactHashing.MAX_SIZE], i.e. up to 2^30-1):
void init(int expectedSize) {
Preconditions.checkArgument(expectedSize >= 0, "Expected size must be >= 0");
this.metadata = Ints.constrainToRange(expectedSize, 1, CompactHashing.MAX_SIZE);
}
The real allocation is deferred to allocArrays(), which fires lazily on the first put() call — i.e. after only one key/value pair has actually been read off the wire:
int allocArrays() {
...
int expectedSize = metadata;
int buckets = CompactHashing.tableSize(expectedSize);
this.table = CompactHashing.createTable(buckets);
setHashTableMask(buckets - 1);
this.entries = new int[expectedSize];
this.keys = new Object[expectedSize];
this.values = new Object[expectedSize];
return expectedSize;
}
With expectedSize near CompactHashing.MAX_SIZE (2^30-1), this single call allocates a hash table plus three expectedSize-length arrays — multiple gigabytes — triggered by a stream that has, at that point, only supplied one small real element. CompactHashSet.readObject()/allocArrays() have the identical shape. CompactLinkedHashMap/CompactLinkedHashSet extend these classes and inherit the same unguarded path.
The problem with MapMakerInternalMap is similar, with a size read from the serialized data and stored in a MapMaker instance for later user during deserialization, when the MapMaker is passed back to MapMakerInternalMap and segments are allocated by calling newSegment, whose implementations…
- Record
GHSA-xxph-c9ww-hj94- CVSS 4.0
- 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 - CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-400, CWE-502, CWE-770
- Updated
- 2026-11-02
OSVROOT-APP-MAVEN-CVE-2026-102554
5.9
CVE-2026-102554 in com.google.guava:guava - Patched by Root
Root has patched CVE-2026-102554 in the com.google.guava:guava package for Root:Maven. Multiple fixed versions available.
- Record
ROOT-APP-MAVEN-CVE-2026-102554- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-05
OSVUBUNTU-CVE-2026-102554
8.2
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.
- Record
UBUNTU-CVE-2026-102554- CVSS 4.0
- 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 - Updated
- 2026-11-02
OSVAZL-106919 No score
CVE-2026-102554 affecting package guava 33.0.0-1
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.
- Record
AZL-106919- Updated
- 2026-11-05
OSVAZL-107988 No score
CVE-2026-102554 affecting package javapackages-bootstrap 1.14.0-5
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.
- Record
AZL-107988- Updated
- 2026-11-05
OSVopenSUSE-SU-2026:12109-1 No score
guava-33.7.2-1.1 on GA media
These are all security issues fixed in the guava-33.7.2-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:12109-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:22143-1 No score
Security update for guava
This update for guava fixes the following issue:
- CVE-2026-102554: Allocation of resources without limits or throttling (CWE-770) during Java object deserialization allows an attacker to cause a Denial of Service via OutOfMemoryError (bsc#1284985).
Changes for guava:
- Adapt the generated OSGi data to reality
- Upgrade to guava 33.7.2
- Changes of 33.7.2
- collect: Changed MapMaker, CompactHashMap, and CompactHashSet deserialization to avoid eagerly allocating as much memory as a serialization payload requests (bsc#1284985, CVE-2026-102554)
- Changes of 33.7.1
- removes the Multi-Release line from our jar manifest, fixing an issue under Java 9 and 10 that was introduced to guava-jre in version 33.7.0.
- Changes of 33.7.0
- Guava module-info.class is now present at the root of the jar instead of under a multi-release root. This prevents the jar from containing a file at META-INF/versions/9/OSGI-INF/ /MANIFEST.MF, which occasionally causes trouble for some users
- collect: Changed some ImmutableMap implementations to create a new, lightweight object on each call to view methods like keySet(), rather than creating and storing that object during the first call for reuse later. This is likely to slightly improve performance for some users, but it could lead to regressions in unusual cases, such as repeatedly calling asMultimap().inverse() on the same ImmutableMap instance.
- net: Added HttpHeaders constant for on-prefetch-activation.
- net: Added MediaType constants for application/yaml and application/x-pem-file.
- util.concurrent: Fixed ExecutionSequencer queue stall when delegate executor throws RejectedExecutionException.
- Changes of 33.6.0
- Migrated some classes from finalize() to PhantomReference in preparation for the removal of finalization.
- cache: Deprecated CacheBuilder APIs that use TimeUnit in favor of those that use Duration.
- collect: Added toImmutableSortedMap collectors that use the natural comparator.
- collect: Changed ConcurrentHashMultiset, ImmutableMultimap, and TreeMultiset deserialization to avoid mutating final fields. In extremely unlikely scenarios in which an instance of that type contains an object that refers back to that instance, this could lead to a broken instance that throws NullPointerException when used.
- graph: Removed @Beta from all APIs in the package.
- graph: Added support to Graphs.transitiveClosure() for different strategies for adding self-loops.
- graph: Added an asNetwork() view to Graph and ValueGraph.
- hash: Added BloomFilter.serializedSize().
- net: Added HttpHeaders.CDN_CACHE_CONTROL.
- Changes of 33.5.0
- For users of guava-gwt: Google has moved off GWT internally. We plan to continue to release guava-gwt for users of GWT and J2CL, but the artifact is no longer tested for GWT-specific issues, and we have limited resources to fix any unexpected issues that might arise. While we do not anticipate any specific problems, we can't guarantee how long support will continue.
- Listed the JSpecify annotations as an optional dependency in our OSGi metadata.
- cache: Improved the handling of exceptions from compute functions in Cache.asMap(). (We do still recommend using Caffeine rather than com.google.common.cache.)
- collect: Improved Iterators.mergeSorted() to preserve stability for equal elements.
- math: Added saturatedAbs methods to IntMath and LongMath.
- net: Added image/avif to MediaType.
- util.concurrent: Added Striped.custom.
- Record
openSUSE-SU-2026:22143-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:24263-1 No score
Security update for guava
This update for guava fixes the following issue:
- CVE-2026-102554: Allocation of resources without limits or throttling (CWE-770) during Java object deserialization allows an attacker to cause a Denial of Service via OutOfMemoryError (bsc#1284985).
Changes for guava:
- Adapt the generated OSGi data to reality
- Upgrade to guava 33.7.2
- Changes of 33.7.2
- collect: Changed MapMaker, CompactHashMap, and CompactHashSet deserialization to avoid eagerly allocating as much memory as a serialization payload requests (bsc#1284985, CVE-2026-102554)
- Changes of 33.7.1
- removes the Multi-Release line from our jar manifest, fixing an issue under Java 9 and 10 that was introduced to guava-jre in version 33.7.0.
- Changes of 33.7.0
- Guava module-info.class is now present at the root of the jar instead of under a multi-release root. This prevents the jar from containing a file at META-INF/versions/9/OSGI-INF/ /MANIFEST.MF, which occasionally causes trouble for some users
- collect: Changed some ImmutableMap implementations to create a new, lightweight object on each call to view methods like keySet(), rather than creating and storing that object during the first call for reuse later. This is likely to slightly improve performance for some users, but it could lead to regressions in unusual cases, such as repeatedly calling asMultimap().inverse() on the same ImmutableMap instance.
- net: Added HttpHeaders constant for on-prefetch-activation.
- net: Added MediaType constants for application/yaml and application/x-pem-file.
- util.concurrent: Fixed ExecutionSequencer queue stall when delegate executor throws RejectedExecutionException.
- Changes of 33.6.0
- Migrated some classes from finalize() to PhantomReference in preparation for the removal of finalization.
- cache: Deprecated CacheBuilder APIs that use TimeUnit in favor of those that use Duration.
- collect: Added toImmutableSortedMap collectors that use the natural comparator.
- collect: Changed ConcurrentHashMultiset, ImmutableMultimap, and TreeMultiset deserialization to avoid mutating final fields. In extremely unlikely scenarios in which an instance of that type contains an object that refers back to that instance, this could lead to a broken instance that throws NullPointerException when used.
- graph: Removed @Beta from all APIs in the package.
- graph: Added support to Graphs.transitiveClosure() for different strategies for adding self-loops.
- graph: Added an asNetwork() view to Graph and ValueGraph.
- hash: Added BloomFilter.serializedSize().
- net: Added HttpHeaders.CDN_CACHE_CONTROL.
- Changes of 33.5.0
- For users of guava-gwt: Google has moved off GWT internally. We plan to continue to release guava-gwt for users of GWT and J2CL, but the artifact is no longer tested for GWT-specific issues, and we have limited resources to fix any unexpected issues that might arise. While we do not anticipate any specific problems, we can't guarantee how long support will continue.
- Listed the JSpecify annotations as an optional dependency in our OSGi metadata.
- cache: Improved the handling of exceptions from compute functions in Cache.asMap(). (We do still recommend using Caffeine rather than com.google.common.cache.)
- collect: Improved Iterators.mergeSorted() to preserve stability for equal elements.
- math: Added saturatedAbs methods to IntMath and LongMath.
- net: Added image/avif to MediaType.
- util.concurrent: Added Striped.custom.
- Record
SUSE-SU-2026:24263-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:5061-1 No score
Security update for guava, j2objc-annotations
This update for guava, j2objc-annotations fixes the following issue:
- CVE-2026-102554: Allocation of resources without limits or throttling (CWE-770) during Java object deserialization allows an attacker to cause a Denial of Service via OutOfMemoryError (bsc#1284985).
Changes for guava:
- Upgrade to version 33.7.2
Changes for j2objc-annotations:
- Update to version 3.0.0
- Record
SUSE-SU-2026:5061-1- Updated
- 2026-11-03
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
com.google.guava:guavaMaven |
4.0 to 33.7.1 | 33.7.2 |
guavaAzure Linux:3 |
through 33.0.0-1 | None known |
javapackages-bootstrapAzure Linux:3 |
through 1.14.0-5 | None known |
guava-librariesDebian:12 |
All versions, plus listed versions 31.1-132.0.1-133.7.1-1 |
None known |
guava-librariesDebian:13 |
All versions, plus listed versions 32.0.1-133.7.1-1 |
None known |
guava-librariesDebian:14 |
All versions, plus listed versions 32.0.1-133.7.1-1 |
None known |
com.google.guava:guavaMaven |
4.0 up to 33.7.2, plus listed versions 10.010.0-rc110.0-rc210.0-rc310.0.1 Show 45 moreShow less11.011.0-rc111.0.111.0.212.012.0-rc112.0-rc212.0.113.013.0-rc113.0-rc213.0.114.014.0-rc114.0-rc214.0-rc314.0.115.015.0-rc116.016.0-rc116.0.117.017.0-rc117.0-rc218.018.0-rc118.0-rc219.019.0-rc119.0-rc219.0-rc320.020.0-rc121.021.0-rc121.0-rc222.022.0-android22.0-rc122.0-rc1-android23.023.0-android23.0-rc123.0-rc1-android |
33.7.2 |
com.google.guava:guavaRoot:Maven |
before 33.4.8-jre-aikido.1 | 33.4.8-jre-aikido.132.0.1-jre-aikido.133.4.0-jre-aikido.133.4.6-jre-aikido.133.6.0-jre-aikido.133.5.0-jre-aikido.1 |
io.root.com.google.guava:guavaRoot:Maven |
before 33.4.8-jre-root.io.1 | 33.4.8-jre-root.io.132.0.1-jre-root.io.133.4.0-jre-root.io.133.4.6-jre-root.io.133.6.0-jre-root.io.133.5.0-jre-root.io.1 |
guavaSUSE:Linux Enterprise Server 16.0 |
before 33.7.2-160000.1.1 | 33.7.2-160000.1.1 |
Show 44 moreShow less
| Package | Affected | Fixed |
|---|---|---|
guavaSUSE:Linux Enterprise Server for SAP applications 16.0 |
before 33.7.2-160000.1.1 | 33.7.2-160000.1.1 |
guavaSUSE:Linux Enterprise Module for Development Tools 15 SP7 |
before 33.7.2-150200.3.20.1 | 33.7.2-150200.3.20.1 |
j2objc-annotationsSUSE:Linux Enterprise Module for Development Tools 15 SP7 |
before 3.0.0-150200.5.8.1 | 3.0.0-150200.5.8.1 |
jspecifySUSE:Linux Enterprise Module for Development Tools 15 SP7 |
before 1.0.0-150200.5.5.1 | 1.0.0-150200.5.5.1 |
guavaSUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS |
before 33.7.2-150200.3.20.1 | 33.7.2-150200.3.20.1 |
j2objc-annotationsSUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS |
before 3.0.0-150200.5.8.1 | 3.0.0-150200.5.8.1 |
jspecifySUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS |
before 1.0.0-150200.5.5.1 | 1.0.0-150200.5.5.1 |
guavaSUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS |
before 33.7.2-150200.3.20.1 | 33.7.2-150200.3.20.1 |
j2objc-annotationsSUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS |
before 3.0.0-150200.5.8.1 | 3.0.0-150200.5.8.1 |
jspecifySUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS |
before 1.0.0-150200.5.5.1 | 1.0.0-150200.5.5.1 |
guavaSUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS |
before 33.7.2-150200.3.20.1 | 33.7.2-150200.3.20.1 |
j2objc-annotationsSUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS |
before 3.0.0-150200.5.8.1 | 3.0.0-150200.5.8.1 |
jspecifySUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS |
before 1.0.0-150200.5.5.1 | 1.0.0-150200.5.5.1 |
guavaSUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS |
before 33.7.2-150200.3.20.1 | 33.7.2-150200.3.20.1 |
j2objc-annotationsSUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS |
before 3.0.0-150200.5.8.1 | 3.0.0-150200.5.8.1 |
jspecifySUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS |
before 1.0.0-150200.5.5.1 | 1.0.0-150200.5.5.1 |
guavaSUSE:Linux Enterprise Server 15 SP4-LTSS |
before 33.7.2-150200.3.20.1 | 33.7.2-150200.3.20.1 |
j2objc-annotationsSUSE:Linux Enterprise Server 15 SP4-LTSS |
before 3.0.0-150200.5.8.1 | 3.0.0-150200.5.8.1 |
jspecifySUSE:Linux Enterprise Server 15 SP4-LTSS |
before 1.0.0-150200.5.5.1 | 1.0.0-150200.5.5.1 |
guavaSUSE:Linux Enterprise Server 15 SP5-LTSS |
before 33.7.2-150200.3.20.1 | 33.7.2-150200.3.20.1 |
j2objc-annotationsSUSE:Linux Enterprise Server 15 SP5-LTSS |
before 3.0.0-150200.5.8.1 | 3.0.0-150200.5.8.1 |
jspecifySUSE:Linux Enterprise Server 15 SP5-LTSS |
before 1.0.0-150200.5.5.1 | 1.0.0-150200.5.5.1 |
guavaSUSE:Linux Enterprise Server 15 SP6-LTSS |
before 33.7.2-150200.3.20.1 | 33.7.2-150200.3.20.1 |
j2objc-annotationsSUSE:Linux Enterprise Server 15 SP6-LTSS |
before 3.0.0-150200.5.8.1 | 3.0.0-150200.5.8.1 |
jspecifySUSE:Linux Enterprise Server 15 SP6-LTSS |
before 1.0.0-150200.5.5.1 | 1.0.0-150200.5.5.1 |
guavaSUSE:Linux Enterprise Server for SAP Applications 15 SP4 |
before 33.7.2-150200.3.20.1 | 33.7.2-150200.3.20.1 |
j2objc-annotationsSUSE:Linux Enterprise Server for SAP Applications 15 SP4 |
before 3.0.0-150200.5.8.1 | 3.0.0-150200.5.8.1 |
jspecifySUSE:Linux Enterprise Server for SAP Applications 15 SP4 |
before 1.0.0-150200.5.5.1 | 1.0.0-150200.5.5.1 |
guavaSUSE:Linux Enterprise Server for SAP Applications 15 SP5 |
before 33.7.2-150200.3.20.1 | 33.7.2-150200.3.20.1 |
j2objc-annotationsSUSE:Linux Enterprise Server for SAP Applications 15 SP5 |
before 3.0.0-150200.5.8.1 | 3.0.0-150200.5.8.1 |
jspecifySUSE:Linux Enterprise Server for SAP Applications 15 SP5 |
before 1.0.0-150200.5.5.1 | 1.0.0-150200.5.5.1 |
guavaSUSE:Linux Enterprise Server for SAP Applications 15 SP6 |
before 33.7.2-150200.3.20.1 | 33.7.2-150200.3.20.1 |
j2objc-annotationsSUSE:Linux Enterprise Server for SAP Applications 15 SP6 |
before 3.0.0-150200.5.8.1 | 3.0.0-150200.5.8.1 |
jspecifySUSE:Linux Enterprise Server for SAP Applications 15 SP6 |
before 1.0.0-150200.5.5.1 | 1.0.0-150200.5.5.1 |
guava-librariesUbuntu:14.04:LTS |
All versions, plus listed versions 14.0.1-115.0-2ubuntu1 |
None known |
guava-librariesUbuntu:16.04:LTS |
All versions, plus listed versions 18.0-4ubuntu119.0-1 |
None known |
guava-librariesUbuntu:18.04:LTS |
All versions, plus listed versions 19.0-1 |
None known |
guava-librariesUbuntu:20.04:LTS |
All versions, plus listed versions 19.0-1 |
None known |
guava-librariesUbuntu:22.04:LTS |
All versions, plus listed versions 29.0-6 |
None known |
guava-librariesUbuntu:24.04:LTS |
All versions, plus listed versions 32.0.1-1 |
None known |
guava-librariesUbuntu:26.10 |
All versions, plus listed versions 32.0.1-1build1 |
None known |
guava-librariesUbuntu:26.04:LTS |
All versions, plus listed versions 32.0.1-132.0.1-1build1 |
None known |
guavaopenSUSE:Tumbleweed |
before 33.7.2-1.1 | 33.7.2-1.1 |
guavaopenSUSE:Leap 16.0 |
before 33.7.2-160000.1.1 | 33.7.2-160000.1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | OSV | |
| affected, aliases, facts, references | OSV | |
| affected | OSV | |
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-102554 is a high vulnerability (CVSS 8.2) in Google Guava, published October 9, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.35%, the 28th percentile. Fixed in com.google.guava:guava 33.7.2.
References
github.com/google/guava/security/advisories/GHSA-xxph-c9ww-hj94
github.com/google/guava/commit/b931fe9d6d5cf00bc55714ad3308d086f71850fe
github.com/google/guava/releases/tag/v33.7.2
nvd.nist.gov/vuln/detail/CVE-2026-102554
github.com/advisories/GHSA-xxph-c9ww-hj94
github.com/CVEProject/cvelistV5/tree/main/cves/2026/102xxx/CVE-2026-102554.json
Show 9 moreShow less
github.com/google/guava
security-tracker.debian.org/tracker/CVE-2026-102554
suse.com/support/update/announcement/2026/suse-su-202624263-1
bugzilla.suse.com/1284985
suse.com/security/cve/CVE-2026-102554
suse.com/support/update/announcement/2026/suse-su-20265061-1
ubuntu.com/security/CVE-2026-102554
cve.org/CVERecord?id=CVE-2026-102554
bugs.debian.org/cgi-bin/bugreport.cgi?bug=1150495
Left out here: 102 versions and the rest of 2 source descriptions. The JSON record has them.