-
Ticket
-
Resolution: Unresolved
-
Undefined
-
None
-
4.9.3
-
False
-
-
False
-
-
USER PROBLEM
What is the user experiencing as a result of the bug? Include steps to reproduce.
The user is experiencing a false positive vulnerability report in ACS. The scanner incorrectly flags a Java library as vulnerable to a CVE that only affects Linux native shell scripts.
Steps to reproduce:
1. Build a container image containing the Java library org.tukaani:xz (specifically xz-1.6.jar, e.g., packaged inside rundeck.war). Ensure the image does not contain the Linux xz-utils package or the xzgrep binary.
2. Scan the container image using ACS 4.9.
3. Observe the scan results:
ACS reports a HIGH severity violation for CVE-2022-1271 (CVSS 8.8), indicating it was found in component 'xz' (version 1.6) and suggests remediation by updating to version 5.2.5.
4. Verify with another scanner (e.g., Trivy), which does not report this CVE for the same image.
CONDITIONS
What conditions need to exist for a user to be affected? Is it everyone? Is it only those with a specific integration? Is it specific to someone with particular database content? etc.
The environment is running ACS 4.9.
The scanned container image must contain the Java archive xz-1.6.jar (or similar versions of the org.tukaani:xz library).
The vulnerability is reported despite the complete absence of the actual vulnerable vector (the xzgrep shell script from the GNU/Linux xz-utils package) within the container.
ROOT CAUSE
What is the root cause of the bug?
The root cause is a naming collision and insufficient ecosystem validation within the ACS/Clair scanning engine. The scanner matches the string name ("xz") and the version ("1.6") of the Java library against the vulnerability database entry for the Linux native xz-utils package.
It fails to distinguish between a Java implementation of XZ compression (which does not execute shell commands or provide grep functionality) and the GNU/Linux utilities. The scanner appears to rely on text/string matching for compressed language files (.jar/.war) rather than checksum matching or strict ecosystem bounding (Java/Maven vs. OS packages).
FIX
How was the bug fixed (this is more important if a workaround was implemented rather than an actual fix)?
The customer has temporarily mitigated the issue on their end by rebuilding the container image, making the immediate business impact minimal.
Proposed Engineering Fix: The Clair scanner's matching logic needs to be updated to respect package ecosystems. CVE-2022-1271 must be restricted to the OS package ecosystem (xz-utils / rpm / dpkg) and should not be triggered by Java archives (.jar/.war) that happen to share the component name xz.
Implementing robust checksum matching for language-specific dependencies would prevent similar string-matching false positives.