Affected records
ALPINE-CVE-2018-18311
ALPINE-CVE-2018-18312
Problem
Both records carry an inverted version range on every Alpine branch:
"events": [ { "introduced": "5.28.0" }, { "fixed": "5.26.3-r0" } ]
The fixed version (5.26.3-r0) sorts below the introduced version (5.28.0), so the
range x >= 5.28.0 AND x < 5.26.3-r0 is unsatisfiable. Scanners drop the invalid fixed
event and flag all perl >= 5.28.0 as vulnerable — including current perl 5.42.2-r0
on Alpine v3.24 — for a 2018 CVE that was fixed in perl 5.26.3.
Source JSON:
Evidence the range is wrong
Alpine's own secdb records the fix at 5.26.3-r0, and the current branch ships 5.42.2-r0:
# https://secdb.alpinelinux.org/v3.24/main.json (pkg: perl)
"secfixes": {
"5.26.3-r0": ["CVE-2018-18311", "CVE-2018-18312", "CVE-2018-18313", "CVE-2018-18314"],
...
"5.42.2-r0": [...] # current version on v3.24
}
The advisory text itself states "Perl before 5.26.3 and 5.28.x before 5.28.1", so
perl 5.42.2 is not affected.
Suggested correction (all Alpine branches)
"events": [ { "introduced": "0" }, { "fixed": "5.26.3-r0" } ]
Likely root cause
The alpine converter (vulnfeeds/cmd/converters/alpine) appears to have taken introduced
from the NVD CPE range (5.28.x) instead of emitting introduced: 0 for a secfix-only
advisory, then paired it with the Alpine secfix 5.26.3-r0 — two different perl branches
(5.26.x vs 5.28.x) merged into one inverted range. The sibling records ALPINE-CVE-2018-18313
and ALPINE-CVE-2018-18314 share the same secfix line and are worth checking for the same
defect.
This is the same class of malformed-Alpine-range false positive as #4165.
Affected records
ALPINE-CVE-2018-18311ALPINE-CVE-2018-18312Problem
Both records carry an inverted version range on every Alpine branch:
The
fixedversion (5.26.3-r0) sorts below theintroducedversion (5.28.0), so therange
x >= 5.28.0 AND x < 5.26.3-r0is unsatisfiable. Scanners drop the invalidfixedevent and flag all perl
>= 5.28.0as vulnerable — including currentperl 5.42.2-r0on Alpine
v3.24— for a 2018 CVE that was fixed in perl 5.26.3.Source JSON:
Evidence the range is wrong
Alpine's own secdb records the fix at
5.26.3-r0, and the current branch ships5.42.2-r0:The advisory text itself states "Perl before 5.26.3 and 5.28.x before 5.28.1", so
perl 5.42.2 is not affected.
Suggested correction (all Alpine branches)
Likely root cause
The alpine converter (
vulnfeeds/cmd/converters/alpine) appears to have takenintroducedfrom the NVD CPE range (
5.28.x) instead of emittingintroduced: 0for a secfix-onlyadvisory, then paired it with the Alpine secfix
5.26.3-r0— two different perl branches(5.26.x vs 5.28.x) merged into one inverted range. The sibling records
ALPINE-CVE-2018-18313and
ALPINE-CVE-2018-18314share the same secfix line and are worth checking for the samedefect.
This is the same class of malformed-Alpine-range false positive as #4165.