Repository navigation
fix(deps): update dependency com.google.guava:guava to v32 [security] - #42
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
renovate
Bot
deleted the
renovate/maven-com.google.guava-guava-vulnerability
branch
April 27, 2026 17:49
renovate
Bot
force-pushed
the
renovate/maven-com.google.guava-guava-vulnerability
branch
2 times, most recently
from
April 27, 2026 21:25
1c70bca to
bcfa94f
Compare
renovate
Bot
force-pushed
the
renovate/maven-com.google.guava-guava-vulnerability
branch
2 times, most recently
from
May 22, 2026 17:51
d79fe13 to
0ec081f
Compare
renovate
Bot
force-pushed
the
renovate/maven-com.google.guava-guava-vulnerability
branch
from
July 16, 2026 17:56
0ec081f to
0bee67a
Compare
renovate
Bot
force-pushed
the
renovate/maven-com.google.guava-guava-vulnerability
branch
from
August 11, 2026 23:03
0bee67a to
9f83a53
Compare
renovate
Bot
force-pushed
the
renovate/maven-com.google.guava-guava-vulnerability
branch
from
October 26, 2026 21:00
9f83a53 to
4f4a9d3
Compare
renovate
Bot
force-pushed
the
renovate/maven-com.google.guava-guava-vulnerability
branch
from
November 2, 2026 18:27
4f4a9d3 to
246a973
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
31.1-jre→32.0.0-jreWarning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Guava vulnerable to insecure use of temporary directory
CVE-2023-2976 / GHSA-7g45-4rm6-3mm3
More information
Details
Use of Java's default temporary directory for file creation in
FileBackedOutputStreamin Google Guava versions 1.0 to 31.1 on Unix systems and Android Ice Cream Sandwich allows other users and apps on the machine with access to the default Java temporary directory to be able to access the files created by the class.Even though the security vulnerability is fixed in version 32.0.0, maintainers recommend using version 32.0.1 as version 32.0.0 breaks some functionality under Windows.
Severity
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Information Disclosure in Guava
CVE-2020-8908 / GHSA-5mg8-w23w-74h3
More information
Details
A temp directory creation vulnerability exists in Guava prior to version 32.0.0 allowing an attacker with access to the machine to potentially access data in a temporary directory created by the Guava
com.google.common.io.Files.createTempDir(). The permissions granted to the directory created default to the standard unix-like /tmp ones, leaving the files open. Maintainers recommend explicitly changing the permissions after the creation of the directory, or removing uses of the vulnerable method.Severity
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
google/guava (com.google.guava:guava)
v32.0.0: 32.0.0Compare Source
Maven
Jar files
Guava requires one runtime dependency, which you can download here:
Javadoc
JDiff
Changelog
Security fixes
Files.createTempDirandFileBackedOutputStreamto further address CVE-2020-8908 (#4011) and CVE-2023-2976 (#2575). (feb83a1)While CVE-2020-8908 was officially closed when we deprecated
Files.createTempDirin Guava 30.0, we've heard from users that even recent versions of Guava have been listed as vulnerable in other databases of security vulnerabilities. In response, we've reimplemented the method (and the very rarely usedFileBackedOutputStreamclass, which had a similar issue) to eliminate the insecure behavior entirely. This change could technically affect users in a number of different ways (discussed under "Incompatible changes" below), but in practice, the only problem users are likely to encounter is with Windows. If you are using those APIs under Windows, you should skip 32.0.0 and go straight to 32.0.1 which fixes the problem. (Unfortunately, we didn't think of the Windows problem until after the release. And while we warn thatcommon.ioin particular may not work under Windows, we didn't intend to regress support.) Sorry for the trouble.Incompatible changes
Although this release bumps Guava's major version number, it makes no binary-incompatible changes to the
guavaartifact.One change could cause issues for Widows users, and a few other changes could cause issues for users in more usual situations:
Files.createTempDirandFileBackedOutputStreamthrow an exception under Windows. This is fixed in 32.0.1. Sorry for the trouble.guava-gwtnow requires GWT 2.10.0.@BetaAPI in the separate artifactguava-testlib. Specifically, we changed the return type ofTestingExecutors.sameThreadScheduledExecutortoListeningScheduledExecutorService. The old return type was a package-private class, which caused the Kotlin compiler to produce warnings. (dafaa3e)Invokable.getAnnotatedReturnType()andParameter.getAnnotatedType(). Those methods do not work under an Android VM; we added them only to help our tests of the Android flavor (since we also run those tests under a JRE). Android VMs tolerate such methods as long as the app does not call them or perform reflection on them, and builds tolerate them because of our new Proguard configurations (discussed below). Thus, we expect no impact to most users. However, we could imagine build problems for users who have set up their own build system for the Android flavor of Guava. Please report any problems so that we can judge how safely we might be able to add other methods to the Android flavor in the future, such as APIs that use Java 8 classes likeStream. (b30e73c)guava-gwt. This affects only users of GWT. The APIs we removed areEnums,Sets.complementOf, and theEnum*BiMapclasses'keyType()andvalueType()methods. These changes prepare for the removal of reflective enum-related APIs from J2CL. If one of these changes causes you problems as a GWT user, let us know. (c3a155d,09db2c2,3de12be)Files.createTempDirandFileBackedOutputStreamare annotated as@J2ObjCIncompatible. If you need to use them under J2ObjC, contact us. (56dc928)Files.createTempDirrestricts permissions to the current user, it could break any caller that relies on letting other users access the directory.Files.createTempDirandFileBackedOutputStreamthrow an exception if they can't create the directory or file securely. Aside from the accidental Windows bug discussed above, this is possible only under Android Ice Cream Sandwich, a very old version of Android that is the oldest one we test Guava with.Other changes
@Betafrom almost all APIs. For details, see the bottom of the release notes. At this point, it's probably simpler to look at a list of APIs that still are@Beta, such as this list forguava-jre. Most of the remaining@BetaAPIs are ingraphandhash.aeba1e1)59d174c)readObjectmethods, in accordance with best practice. (e62d6a0)collect: FixedMaps.newHashMapWithExpectedSizeto stop allocating maps that were larger than they needed to be. (6ad621e)collect: Made various APIs work J2CL:Maps.immutableEnumMap+toImmutableEnumMap,EnumMultiset,CollectorTester. Previously, the APIs were present but failed at runtime. (b62c88e,23ff918,852a7d3)collect: Optimized memory usage forInternerandMapMaker. (a2e8f3c)graph: Changed directed graphs to reject attempts to add undirected edges. (76260d9)io: AddedBaseEncoding.ignoreCase()to support case-insensitive decoding. (9c1e5de)net: AddedHttpHeadersconstants:No-Vary-Search(688b9c2)Sec-CH-DPR(75a3d4d)Sec-CH-UA-Wow64(49e6b9c)Sec-CH-Viewport-WidthandSec-CH-Viewport-Height(44df85a)Supports-Loading-Mode(0d5c16f)net: Added theMediaTypeconstant for JWT. (f942fd2)primitives: Addedrotate()for arrays of all primitive types. (cd338fa,6e9057d)util.concurrent: ChangedAbstractFutureto runinterruptTask()just beforeafterDone(). Until this change, it ran slightly earlier than that: We used to run it before unblocking any pendingget()calls, and now we run it after. (b337be6)util.concurrent: Fixed some cases in which we could catchInterruptedExceptionbut fail to restore the interrupt bit. (8f0350a)@Betaremoval listbase:Utf8(211907c)base: more APIs (b0cc461)collect:Multimaps.asMap(...)(df0081f)collect:FluentIterableAPIs (73b2f7b)collect:Forwarding[Foo]APIs (9760dbc)collect:ImmutableFoo.Builder.builderWithExpectedSize(...),orderEntriesByValue(...), andEntry-related APIs (61be35c)collect:RangeMap,RangeSet, and friends (fe12c81)collect: more APIs (98820c7,e5e0f66)io:ByteStreams(4897930)io: more APIs (a589256)math: various APIs (912815e)primitives:Longs.tryParse(...)and friends (b3d4856)primitives:UnsignedLongs(b240e8c)primitives: more APIs (fcec25f,ab4302a)reflect:Invokableand some methods inTypeToken(a195f7d)reflect:Parameter(exceptgetAnnotatedType()inguava-android) (b561eb1)testing: various APIs (b331769,74ad9b8)util.concurrent:FluentFuture(b9a2d58)util.concurrent:Futures(15a0c9f)util.concurrent:Striped(ba8ad69)util.concurrent: variousMoreExecutorsAPIs (a3571b4)util.concurrent: more APIs (bbaf76a)Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.