Skip to content

Commit 778572e

Browse files
committed
fix: skip affected packages for "Not affected" Arch Linux AVGs
The Arch importer never looked at the AVG status, so records marked "Not affected" were imported as affecting the listed packages. For example AVG-2737 showed gnome-remote-desktop 42.1-1 as affected. Keep the advisory so its aliases and references are still recorded, but do not attach any affected packages to it. Signed-off-by: Sahil Lenka <sahillenka44@gmail.com>
1 parent 8af2bd3 commit 778572e

2 files changed

Lines changed: 22 additions & 1 deletion

File tree

‎vulnerabilities/pipelines/v2_importers/archlinux_importer.py‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,11 @@ def parse_advisory(self, record) -> AdvisoryDataV2:
6565
summary = record.get("type", "")
6666
summary = "" if summary == "unknown" else summary
6767

68-
for name in record["packages"]:
68+
packages = record["packages"]
69+
if record.get("status") == "Not affected":
70+
packages = []
71+
72+
for name in packages:
6973
affected = record.get("affected")
7074
fixed = record.get("fixed")
7175

‎vulnerabilities/tests/pipelines/v2_importers/test_archlinux_importer_v2.py‎

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,20 @@ def test_to_archlinux_advisories_v2(self):
2828
pipeline.response = data
2929
result = [adv.to_dict() for adv in pipeline.collect_advisories()]
3030
util_tests.check_results_against_json(result, expected_file)
31+
32+
def test_not_affected_avg_has_no_affected_packages(self):
33+
record = {
34+
"name": "AVG-2737",
35+
"packages": ["gnome-remote-desktop"],
36+
"status": "Not affected",
37+
"severity": "Unknown",
38+
"type": "unknown",
39+
"affected": "42.1-1",
40+
"fixed": "42.1.1-1",
41+
"ticket": None,
42+
"issues": ["CVE-2022-1736"],
43+
"advisories": [],
44+
}
45+
advisory = ArchLinuxImporterPipeline().parse_advisory(record)
46+
self.assertEqual(advisory.affected_packages, [])
47+
self.assertEqual(advisory.aliases, ["CVE-2022-1736"])

0 commit comments

Comments
 (0)