Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: update docker-java transitive deps #9660

Closed
yogurtearl opened this issue Dec 19, 2024 · 4 comments
Closed

[Bug]: update docker-java transitive deps #9660

yogurtearl opened this issue Dec 19, 2024 · 4 comments
Labels

Comments

@yogurtearl
Copy link

Module

Core

Testcontainers version

1.20.4

Using the latest Testcontainers version?

Yes

Host OS

macOS

Host Arch

arm

Docker version

N/A

What happened?

testcontainers shades in docker-java and all its transitive deps.

docker-java uses old versions of deps with vulns:

testcontainers should force upgrade these transitive deps to the latest commons-io, commons-compress, guava and any other shaded dep to pick up vuln fixes.

Relevant log output

Additional Information

No response

@eddumelendez
Copy link
Member

I am closing this due to there are already issues reported for those deps #8338 #9289 #9528. This is broader than just updating deps.

@ZachChuba
Copy link

@eddumelendez Is there a specific timeline on these changes? I know in the snakeyaml case backwards compatibility was a concern, but security should take a priority over backwards compatibility. Testcontainers still uses a version of jackson-databind susceptible to a RCE. These are severe vulnerabilities compromise the security of the whole of testcontainers.

@yogurtearl
Copy link
Author

These are shaded deps, not transitive deps, so version changes should not affect backwards compat.

i.e
org/testcontainers/shaded/com/fasterxml/jackson/databind/annotation/JacksonStdImpl.class is directly in testcontainers-1.20.4.jar with a org.testcontainers.shaded prepended to the package name.

So the only way upgrading that would break something outside of testcontainers is if a consumer was doing import org.testcontainers.shaded....., which they should not be doing.

Shading has downsides, but upgrading shaded deps without breaking consumers is one of the upsides.

As long as the testcontainer test pass, then upgrading these poses little risk to users of testcontainers.

@ZachChuba
Copy link

ZachChuba commented Jan 8, 2025

@yogurtearl
I'm considering implementing the broad changes required to upgrade vulnerable dependencies, testing and validating, and then opening a PR. I want to know how these vulnerabilities are impacting your organization. Are they blocking release gates?

In my organization, we're facing a block because of the mere presence of these testcontainers vulns within our SDLC, even though it's a test-only dependency with no potential presence in any release artifacts. Are you encountering similar challenges?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants