Skip to content

Commit 3fb3e75

Browse files
authored
Fix alpine linux importer (#1861)
Signed-off-by: Tushar Goel <[email protected]>
1 parent 51a1c0b commit 3fb3e75

File tree

2 files changed

+18
-12
lines changed

2 files changed

+18
-12
lines changed

vulnerabilities/pipelines/alpine_linux_importer.py

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,8 @@ def load_advisories(
195195
level=logging.DEBUG,
196196
)
197197
continue
198-
198+
# fixed_vulns is a list of strings and each string is a space-separated
199+
# list of aliases and CVES
199200
for vuln_ids in fixed_vulns:
200201
if not isinstance(vuln_ids, str):
201202
if logger:
@@ -204,15 +205,16 @@ def load_advisories(
204205
level=logging.DEBUG,
205206
)
206207
continue
207-
vuln_ids = vuln_ids.split()
208-
aliases = []
209-
vuln_id = vuln_ids[0]
210-
# check for valid vuln ID, if there is valid vuln ID then iterate over
211-
# the remaining elements of the list else iterate over the whole list
212-
# and also check if the initial element is a reference or not
213-
if is_cve(vuln_id):
214-
aliases = [vuln_id]
215-
vuln_ids = vuln_ids[1:]
208+
vuln_ids = vuln_ids.strip().split()
209+
if not vuln_ids:
210+
if logger:
211+
logger(
212+
f"{vuln_ids!r} is empty",
213+
level=logging.DEBUG,
214+
)
215+
continue
216+
aliases = vuln_ids
217+
216218
references = []
217219
for reference_id in vuln_ids:
218220

@@ -225,6 +227,10 @@ def load_advisories(
225227
elif reference_id.startswith("wnpa-sec"):
226228
references.append(WireSharkReference.from_id(wnpa_sec_id=reference_id))
227229

230+
elif not reference_id.startswith("CVE"):
231+
if logger:
232+
logger(f"Unknown reference id {reference_id!r}", level=logging.DEBUG)
233+
228234
qualifiers = {
229235
"distroversion": distroversion,
230236
"reponame": reponame,

vulnerabilities/tests/pipelines/test_alpine_linux_importer_pipeline.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ def test_process_record():
3131
logger = TestLogger()
3232
expected_advisories = [
3333
AdvisoryData(
34-
aliases=[],
34+
aliases=["XSA-248"],
3535
summary="",
3636
affected_packages=[
3737
AffectedPackage(
@@ -138,7 +138,7 @@ def test_process_record():
138138
url="https://secdb.alpinelinux.org/v3.11/",
139139
),
140140
AdvisoryData(
141-
aliases=["CVE-2018-7540"],
141+
aliases=["CVE-2018-7540", "XSA-252"],
142142
summary="",
143143
affected_packages=[
144144
AffectedPackage(

0 commit comments

Comments
 (0)