-
Notifications
You must be signed in to change notification settings - Fork 0
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
builder-jammy-full contains openssl-3.0.2 flagged with CVE-2022-1292 CVE-2022-2068 CVE-2024-5535 #32
Comments
As all Paketo stacks are currently based on Ubuntu, please also check their security tracker. Often times Canonical fixes security issues "out of band" which is not known to all scanners.
The builder currently ships version |
Hello @modulo11 , we called all the companies behind the tools showing our enterprise licenses. All of them maintain the scan is not a false positive, but the vulnerability is legit. Actually, the vulnerability also exists for builder-noble. |
Hi @patpatpat123, as you can see in the jammy-tiny-stack-0.2.56-arm64-run-receipt.cyclonedx.json for the latest release of the Jammy Tiny stack, the OpenSSL version is I would suggest to check with your vendors if they support recognizing Ubuntu package versions that ship additional patches. |
I would also add that when you talk to vendors for scanning tools like these you need to ask them to explain to you why the tool believes that it's correct. Any reasonable tool for security scanning should be able to show you exactly why it thinks a vulnerability exists. When you know why, then you can make the determination yourself if it's correct or not. |
Hello @dmikusa , @modulo11 , @loewenstein-sap , Thank you for all the input provided. After talking with the vendor company, it seems the flag is not a false positive, but a real one. Here is the rationale. It has been mentioned in this thread, I am quoting: "The builder currently ships version 3.0.2-0ubuntu1.18 of the package." and "3.0.2-0ubuntu1.18, which includes fixes for all of the CVEs". This is correct, version 3.0.2-0ubuntu1.18 is not vulnerable, and it is actually not the culprit, you guys might not have looked at the correct thing to begin with. After extracting the snippets of both package entries from the SBOM below, we can see TWO versions, and they both exist Deb/dpkg package:
Binary package: (but please do not look at me, I am ok, look at the one above)
From the two snippets here, we can see: One version is safe, as you guys claim. (talking about 3.0.2-0ubuntu1.18) But it seems there is something else, and this something else is indeed not safe. 3.0.2 Could you guys please help fix this vulnerability? |
@paketo-buildpacks/stacks-maintainers Could you comment on this please. I've checked and the recipe indeed shows entries from binary cataloger as well as dpkg cataloger and the former indeed has added the "root" version of openssl 3.0.2 without patch suffix. |
Could you please help on this @paketo-buildpacks/stacks-maintainers ? |
cc @paketo-buildpacks/stacks-contributors |
We use a tool called My read of that output is that it detected the openssl deb package installed, which it found via I agree that it's confusing that it's listed twice, and I don't know if that's just the way syft works or if that's an artifact of the way that we are running syft. That said, it really looks like it's talking about the same thing, so I disagree that this represents an actual security issue. The first entry is clearly referencing the openssl package, and the second is referencing a file
You can confirm that the package is installing that file by looking at the package contents here. Further, they are both coming from the same layer, If you wanted to dig into it more, you could grab the deb file from a trusted location, extract the files and compare the sha hash to what's in the tiny image. The hash files should be the same because we use the upstream packages. |
Maybe evaluating/limiting the individual catalogers could be a way to improve the SBOM quality. |
@dmikusa even from what you said, it is still being installed as a separate package since it is a dependency of the openssl 3.0.2-0ubuntu1.18 package and therefore is still analysed and treated as an individual package since that is how it exists in the image. Layer hash only suggests that these were installed in the same image layer (which is expected because running a command like apt install openssl installed openssl package and openssl binary). Nothing more. It is not a concrete proof the vulnerability is a false positive. The openssl binary does exist as a dependency of the openssl package installation so the vulnerability is fair. With all the provided evidence from this thread, can buildpacks team consider to improve the image by dissipating this confusion in the SBOM? |
@dmikusa Justifications to prove it is a false positive:
Justifications to prove this is not a false positive:
|
This means that there can be only one file because they are both in the same layer. You cannot have two files at exactly the same location in the same layer, a file system won't permit that. You can have two files at different paths or you can have two files at the same path in different layers, but not two different files at the same path and in the same layer. So when you have a catalog entry from a deb package that installs The binary in question, the one you claim is a problem, is listed at In order for someone to change the
Can you expand on this and show what commands you ran to verify? I would expect these to be the same, so long as all the versions match up.
Can you clarify this? The report show one deb package and one file, not two different packages. You can tell this by looking at the cataloger.
Or the cataloger that reported this doesn't know the specific version because it simply doesn't have any more details available by scanning the binary itself.
The key is that they are both reporting the same file at the same location. If they were talking about two different files or two files at the same path in different layers, then I would agree with you. But you can't have two files different files at the same path in the same layer. Those are the same file. |
My test: Stock ubuntu:jammy container:
Latest paketo jammy tiny container:
For the base stack, we do not have arm64 containers so the hash is different. Note how I'm forcing amd64 for the ubuntu:jammy image.
and paketo jammy base container:
In both tests, the files match exactly, so I see no evidence of them being tampered with. |
Hey @dmikusa , Thank you for your time on this. Can this clarify? apt show openssl
|
Hello team,
Wanted to reach out with an issue.
We are building springboot application using graalvm native image.
The base image of choice is https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.4-Release-Notes#paketo-tiny-builder-for-building-oci-images paketobuildpacks/builder-jammy-java-tiny
As our application is running in production, we have many paid software which scans the content of the container to detect vulnerabilities.
All of our tools flags the following:
We went to further confirm by trying to get inside the container.
Since builder-jammy-java-tiny does not allow user to "exec into" the container (by the way, this is great, thanks, it helped us pass our security review) we switched to builder-jammy-full to prove the point.
And indeed, we could see:
Please note the console output, it is from inside the container, the container built with buildpack.
Furthermore, we can see the version is indeed openssl-3.0.2, which is aligned with the version flagged by all the vulnerability scanners.
This is preventing us from deploying to production
I understand we can just switch manually to another image of our choice, but we like using this builder.
Could you please help fix the vulnerability by bumping up the version of openssl to something newer and safer?
Thank you for your time.
The text was updated successfully, but these errors were encountered: