Every CVE Search/ Get API key

CVE-2026-102554

Denial of Service via Eager Array Allocation During Deserialization in Guava

8.2 HighFix available

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

0.35%Unchanged since Oct 10, 2026
90%50%10%1%

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 HighCVSS: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 HighCVSS: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 HighCVSS: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 MediumCVSS: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 HighCVSS: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 HighCVSS: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 HighCVSS: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 HighCVSS: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 MediumCVSS: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 MediumCVSS: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 HighCVSS: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

Affected packages
PackageAffectedFixed
com.google.guava:guava
Maven
4.0 to 33.7.1
33.7.2
guava
Azure Linux:3
through 33.0.0-1 None known
javapackages-bootstrap
Azure Linux:3
through 1.14.0-5 None known
guava-libraries
Debian:12
All versions, plus listed versions
31.1-132.0.1-133.7.1-1
None known
guava-libraries
Debian:13
All versions, plus listed versions
32.0.1-133.7.1-1
None known
guava-libraries
Debian:14
All versions, plus listed versions
32.0.1-133.7.1-1
None known
com.google.guava:guava
Maven
4.0 up to 33.7.2, plus listed versions
10.010.0-rc110.0-rc210.0-rc310.0.1
Show 45 moreShow less
11.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:guava
Root: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:guava
Root: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
guava
SUSE:Linux Enterprise Server 16.0
before 33.7.2-160000.1.1
33.7.2-160000.1.1
Show 44 moreShow less
Affected packages
PackageAffectedFixed
guava
SUSE:Linux Enterprise Server for SAP applications 16.0
before 33.7.2-160000.1.1
33.7.2-160000.1.1
guava
SUSE:Linux Enterprise Module for Development Tools 15 SP7
before 33.7.2-150200.3.20.1
33.7.2-150200.3.20.1
j2objc-annotations
SUSE:Linux Enterprise Module for Development Tools 15 SP7
before 3.0.0-150200.5.8.1
3.0.0-150200.5.8.1
jspecify
SUSE:Linux Enterprise Module for Development Tools 15 SP7
before 1.0.0-150200.5.5.1
1.0.0-150200.5.5.1
guava
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS
before 33.7.2-150200.3.20.1
33.7.2-150200.3.20.1
j2objc-annotations
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS
before 3.0.0-150200.5.8.1
3.0.0-150200.5.8.1
jspecify
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS
before 1.0.0-150200.5.5.1
1.0.0-150200.5.5.1
guava
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS
before 33.7.2-150200.3.20.1
33.7.2-150200.3.20.1
j2objc-annotations
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS
before 3.0.0-150200.5.8.1
3.0.0-150200.5.8.1
jspecify
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS
before 1.0.0-150200.5.5.1
1.0.0-150200.5.5.1
guava
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS
before 33.7.2-150200.3.20.1
33.7.2-150200.3.20.1
j2objc-annotations
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS
before 3.0.0-150200.5.8.1
3.0.0-150200.5.8.1
jspecify
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS
before 1.0.0-150200.5.5.1
1.0.0-150200.5.5.1
guava
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS
before 33.7.2-150200.3.20.1
33.7.2-150200.3.20.1
j2objc-annotations
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS
before 3.0.0-150200.5.8.1
3.0.0-150200.5.8.1
jspecify
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS
before 1.0.0-150200.5.5.1
1.0.0-150200.5.5.1
guava
SUSE:Linux Enterprise Server 15 SP4-LTSS
before 33.7.2-150200.3.20.1
33.7.2-150200.3.20.1
j2objc-annotations
SUSE:Linux Enterprise Server 15 SP4-LTSS
before 3.0.0-150200.5.8.1
3.0.0-150200.5.8.1
jspecify
SUSE:Linux Enterprise Server 15 SP4-LTSS
before 1.0.0-150200.5.5.1
1.0.0-150200.5.5.1
guava
SUSE:Linux Enterprise Server 15 SP5-LTSS
before 33.7.2-150200.3.20.1
33.7.2-150200.3.20.1
j2objc-annotations
SUSE:Linux Enterprise Server 15 SP5-LTSS
before 3.0.0-150200.5.8.1
3.0.0-150200.5.8.1
jspecify
SUSE:Linux Enterprise Server 15 SP5-LTSS
before 1.0.0-150200.5.5.1
1.0.0-150200.5.5.1
guava
SUSE:Linux Enterprise Server 15 SP6-LTSS
before 33.7.2-150200.3.20.1
33.7.2-150200.3.20.1
j2objc-annotations
SUSE:Linux Enterprise Server 15 SP6-LTSS
before 3.0.0-150200.5.8.1
3.0.0-150200.5.8.1
jspecify
SUSE:Linux Enterprise Server 15 SP6-LTSS
before 1.0.0-150200.5.5.1
1.0.0-150200.5.5.1
guava
SUSE:Linux Enterprise Server for SAP Applications 15 SP4
before 33.7.2-150200.3.20.1
33.7.2-150200.3.20.1
j2objc-annotations
SUSE:Linux Enterprise Server for SAP Applications 15 SP4
before 3.0.0-150200.5.8.1
3.0.0-150200.5.8.1
jspecify
SUSE:Linux Enterprise Server for SAP Applications 15 SP4
before 1.0.0-150200.5.5.1
1.0.0-150200.5.5.1
guava
SUSE:Linux Enterprise Server for SAP Applications 15 SP5
before 33.7.2-150200.3.20.1
33.7.2-150200.3.20.1
j2objc-annotations
SUSE:Linux Enterprise Server for SAP Applications 15 SP5
before 3.0.0-150200.5.8.1
3.0.0-150200.5.8.1
jspecify
SUSE:Linux Enterprise Server for SAP Applications 15 SP5
before 1.0.0-150200.5.5.1
1.0.0-150200.5.5.1
guava
SUSE:Linux Enterprise Server for SAP Applications 15 SP6
before 33.7.2-150200.3.20.1
33.7.2-150200.3.20.1
j2objc-annotations
SUSE:Linux Enterprise Server for SAP Applications 15 SP6
before 3.0.0-150200.5.8.1
3.0.0-150200.5.8.1
jspecify
SUSE:Linux Enterprise Server for SAP Applications 15 SP6
before 1.0.0-150200.5.5.1
1.0.0-150200.5.5.1
guava-libraries
Ubuntu:14.04:LTS
All versions, plus listed versions
14.0.1-115.0-2ubuntu1
None known
guava-libraries
Ubuntu:16.04:LTS
All versions, plus listed versions
18.0-4ubuntu119.0-1
None known
guava-libraries
Ubuntu:18.04:LTS
All versions, plus listed versions
19.0-1
None known
guava-libraries
Ubuntu:20.04:LTS
All versions, plus listed versions
19.0-1
None known
guava-libraries
Ubuntu:22.04:LTS
All versions, plus listed versions
29.0-6
None known
guava-libraries
Ubuntu:24.04:LTS
All versions, plus listed versions
32.0.1-1
None known
guava-libraries
Ubuntu:26.10
All versions, plus listed versions
32.0.1-1build1
None known
guava-libraries
Ubuntu:26.04:LTS
All versions, plus listed versions
32.0.1-132.0.1-1build1
None known
guava
openSUSE:Tumbleweed
before 33.7.2-1.1
33.7.2-1.1
guava
openSUSE:Leap 16.0
before 33.7.2-160000.1.1
33.7.2-160000.1.1

History

History
RecordedChangedSources
affectedOSV
affected, aliases, facts, referencesOSV
affectedOSV
first indexedCVE 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

Show 9 moreShow less
This page doesn't list everything

Left out here: 102 versions and the rest of 2 source descriptions. The JSON record has them.

MoveEnter Open