Missing (documentation of) detection of CVEs in the main package of Docker images #8067
-
QuestionI recently realized a very irritating behavior of Trivy (also present in other scanners like Grype): Trivy often does not report vulnerabilities for the actual software that a Docker image is about (while successfully reporting CVEs for all downstream components the software depends upon, e.g. SSL, glibc, etc.). Examples:
I'm probably misunderstanding something. I could easily produce many more examples, this happens for basically every other popular Docker image. I'm aware that some of the CVEs I mentioned are only conditionally exploitable (e.g. the one for Grafana requires a DuckDB binary on PATH). Is Trivy so smart that it can determine the exploitability, and thus not report CVEs which are not exploitable anyway? Or can Trivy sometimes not detect the version of the software properly, thus there's already a "hole" in the SBOM? (for instance, when generating a SPDX SBOM for I'm sure there is a good explanation (that is, a technical reason) for each of the examples I posted. I'm not even asking you to look into these individual examples. But I'm wondering whether such issues are documented anywhere? TargetContainer Image ScannerVulnerability Output FormatTable ModeStandalone Operating SystemUbuntu Version0.58.0 |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 6 replies
-
Hello @MShekow Trivy only supports Also Trivy can detect application installed from package managers - https://trivy.dev/latest/docs/coverage/os/#supported-os So if application was copied as binary - Trivy may not detect this package and vulnerabilities for it. |
Beta Was this translation helpful? Give feedback.
Hello @MShekow
Thanks for your interest to Trivy!
Trivy only supports
Go
andRust
binaries - https://trivy.dev/latest/docs/coverage/language/#supported-languages.(issue with determining main module version of Go binary - https://trivy.dev/latest/docs/coverage/language/golang/#main-module).
Also Trivy can detect application installed from package managers - https://trivy.dev/latest/docs/coverage/os/#supported-os
So if application was copied as binary - Trivy may not detect this package and vulnerabilities for it.