Skip to content

Commit fdfef36

Browse files
committed
Update alpine linux so for every vulnerability id AdvisoryData
Fix duplication on advisory_id Signed-off-by: ziad hany <ziadhany2016@gmail.com>
1 parent 86a1c65 commit fdfef36

File tree

2 files changed

+126
-135
lines changed

2 files changed

+126
-135
lines changed

vulnerabilities/pipelines/v2_importers/alpine_linux_importer.py

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,7 @@ def load_advisories(
198198
continue
199199
# fixed_vulns is a list of strings and each string is a space-separated
200200
# list of aliases and CVES
201+
aliases = set()
201202
for vuln_ids in fixed_vulns:
202203
if not isinstance(vuln_ids, str):
203204
if logger:
@@ -214,26 +215,27 @@ def load_advisories(
214215
level=logging.DEBUG,
215216
)
216217
continue
217-
aliases = vuln_ids
218+
aliases.update(vuln_ids)
218219

220+
for vuln_id in aliases:
219221
references = []
220-
for reference_id in vuln_ids:
221-
if reference_id.startswith("XSA"):
222-
references.append(XsaReferenceV2.from_id(xsa_id=reference_id))
223222

224-
elif reference_id.startswith("ZBX"):
225-
references.append(ZbxReferenceV2.from_id(zbx_id=reference_id))
223+
if vuln_id.startswith("XSA"):
224+
references.append(XsaReferenceV2.from_id(xsa_id=vuln_id))
226225

227-
elif reference_id.startswith("wnpa-sec"):
228-
references.append(WireSharkReferenceV2.from_id(wnpa_sec_id=reference_id))
226+
elif vuln_id.startswith("ZBX"):
227+
references.append(ZbxReferenceV2.from_id(zbx_id=vuln_id))
229228

230-
elif reference_id.startswith("CVE"):
231-
references.append(
232-
ReferenceV2(
233-
reference_id=reference_id,
234-
url=f"https://nvd.nist.gov/vuln/detail/{reference_id}",
235-
)
229+
elif vuln_id.startswith("wnpa-sec"):
230+
references.append(WireSharkReferenceV2.from_id(wnpa_sec_id=vuln_id))
231+
232+
elif vuln_id.startswith("CVE"):
233+
references.append(
234+
ReferenceV2(
235+
reference_id=vuln_id,
236+
url=f"https://nvd.nist.gov/vuln/detail/{vuln_id}",
236237
)
238+
)
237239

238240
qualifiers = {
239241
"distroversion": distroversion,
@@ -290,12 +292,11 @@ def load_advisories(
290292
)
291293
)
292294

293-
for cve in aliases:
294-
advisory_id = f"{pkg_infos['name']}/{qualifiers['distroversion']}/{cve}"
295-
yield AdvisoryData(
296-
advisory_id=advisory_id,
297-
aliases=[],
298-
references_v2=references,
299-
affected_packages=affected_packages,
300-
url=url,
301-
)
295+
advisory_id = f"{pkg_infos['name']}/{qualifiers['distroversion']}/{version}/{vuln_id}"
296+
yield AdvisoryData(
297+
advisory_id=advisory_id,
298+
aliases=[vuln_id],
299+
references_v2=references,
300+
affected_packages=affected_packages,
301+
url=url,
302+
)

0 commit comments

Comments
 (0)