Repository navigation
Replies: 1 comment 2 replies
|
Hi @ryru, thanks for the detailed report and the ready-to-use reproduction files! I reproduced the issue on the current Here is what happens:
You are right, #11304 fixes this case: it copies the original root's data (including the PURL) into the synthetic root. One limitation to keep in mind: relationships across ecosystems are still lost. Regards, Dmitriy |
Uh oh!
There was an error while loading. Please reload this page.
Description
When scanning a CycloneDX SBOM, an OpenVEX statement with product = the SBOM root component's PURL and subcomponent = the vulnerable package is not applied, except for packages in the same ecosystem as the root PURL.
It seems that since #9604, the VEX filter rebuilds the BOM with a synthetic root that has no PURL, so the product never matches for packages of other ecosystems.
I think the open PR #11304 would also fix this problem.
Context: I'm working on Vulnlog, a CLI tool that generates, among other artifacts, OpenVEX documents from a YAML-based vulnerability analysis. I stumbled over this while testing Vulnlog's OpenVEX output with real-life data and scanners such as Trivy.
The VEX statements use the released application (the SBOM's root component) as product, which is, to my knowledge, the typical vendor case of shipping an SBOM together with a VEX document.
Desired Behavior
Both findings are suppressed (see example below).
Actual Behavior
h2, maven, same ecosystem as the root PURL) is suppressed.underscore, NPM) is not suppressed, although the VEX statement should apply.Reproduction Steps
OpenVEX:
{ "@context": "https://openvex.dev/ns/v0.2.0", "@id": "https://example.com/vex/app-1.0.0", "author": "Example", "timestamp": "2026-09-28T00:00:00Z", "version": 1, "statements": [ { "vulnerability": { "name": "CVE-2022-45868" }, "products": [ { "@id": "pkg:maven/com.example/app@1.0.0", "subcomponents": [ { "@id": "pkg:maven/com.h2database/h2@2.1.214" } ] } ], "status": "not_affected", "justification": "vulnerable_code_not_in_execute_path" }, { "vulnerability": { "name": "CVE-2026-27601" }, "products": [ { "@id": "pkg:maven/com.example/app@1.0.0", "subcomponents": [ { "@id": "pkg:npm/underscore@1.13.6" } ] } ], "status": "not_affected", "justification": "vulnerable_code_not_in_execute_path" } ] }Operating System
Ubuntu 26.04 LTS
Version
Checklist
trivy clean --allAll reactions