Skip to content

Commit b27c485

Browse files
authored
Fix debian OVAL importer (#1361)
Signed-off-by: Tushar Goel <[email protected]>
1 parent 514624b commit b27c485

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

vulnerabilities/importer.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -431,7 +431,6 @@ def get_data_from_xml_doc(
431431
# connected/linked to an OvalDefinition
432432
vuln_id = definition_data["vuln_id"]
433433
description = definition_data["description"]
434-
435434
severities = []
436435
severity = definition_data.get("severity")
437436
if severity:
@@ -453,7 +452,8 @@ def get_data_from_xml_doc(
453452
except Exception as e:
454453
logger.error(
455454
f"Failed to parse version range {affected_version_range!r} "
456-
f"for package {package_name!r}:\n{e}"
455+
f"for package {package_name!r}:\n{e}\n"
456+
f"{definition_data!r}"
457457
)
458458
continue
459459
if package_name:

vulnerabilities/importers/debian_oval.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#
99

1010

11+
import bz2
1112
import xml.etree.ElementTree as ET
1213

1314
import requests
@@ -64,9 +65,10 @@ def __init__(self, *args, **kwargs):
6465
def _fetch(self):
6566
releases = ["wheezy", "stretch", "jessie", "buster", "bullseye"]
6667
for release in releases:
67-
file_url = f"https://www.debian.org/security/oval/oval-definitions-{release}.xml"
68+
file_url = f"https://www.debian.org/security/oval/oval-definitions-{release}.xml.bz2"
6869
resp = requests.get(file_url).content
70+
extracted = bz2.decompress(resp)
6971
yield (
7072
{"type": "deb", "namespace": "debian", "qualifiers": {"distro": release}},
71-
ET.ElementTree(ET.fromstring(resp.decode("utf-8"))),
73+
ET.ElementTree(ET.fromstring(extracted.decode("utf-8"))),
7274
)

0 commit comments

Comments
 (0)