diff --git a/cve_bin_tool/checkers/__init__.py b/cve_bin_tool/checkers/__init__.py index aa04553535..bbc0aaa623 100644 --- a/cve_bin_tool/checkers/__init__.py +++ b/cve_bin_tool/checkers/__init__.py @@ -54,6 +54,7 @@ "dhclient", "dhcpcd", "dhcpd", + "dmidecode", "dnsmasq", "domoticz", "dovecot", diff --git a/cve_bin_tool/checkers/dmidecode.py b/cve_bin_tool/checkers/dmidecode.py new file mode 100644 index 0000000000..2a88277a79 --- /dev/null +++ b/cve_bin_tool/checkers/dmidecode.py @@ -0,0 +1,20 @@ +# Copyright (C) 2023 Orange +# SPDX-License-Identifier: GPL-3.0-or-later + + +""" +CVE checker for dmidecode + +https://www.cvedetails.com/product/138316/Nongnu-Dmidecode.html?vendor_id=6788 + +""" +from __future__ import annotations + +from cve_bin_tool.checkers import Checker + + +class DmidecodeChecker(Checker): + CONTAINS_PATTERNS: list[str] = [] + FILENAME_PATTERNS: list[str] = [] + VERSION_PATTERNS = [r"([0-9]+\.[0-9]+)\r?\n(?:# |)dmidecode"] + VENDOR_PRODUCT = [("nongnu", "dmidecode")] diff --git a/test/condensed-downloads/dmidecode-3.5-2.1.x86_64.rpm.tar.gz b/test/condensed-downloads/dmidecode-3.5-2.1.x86_64.rpm.tar.gz new file mode 100644 index 0000000000..236f15dfd3 Binary files /dev/null and b/test/condensed-downloads/dmidecode-3.5-2.1.x86_64.rpm.tar.gz differ diff --git a/test/condensed-downloads/dmidecode_3.0-4_amd64.deb.tar.gz b/test/condensed-downloads/dmidecode_3.0-4_amd64.deb.tar.gz new file mode 100644 index 0000000000..3f6b845805 Binary files /dev/null and b/test/condensed-downloads/dmidecode_3.0-4_amd64.deb.tar.gz differ diff --git a/test/condensed-downloads/dmidecode_3.2-1_x86_64.ipk.tar.gz b/test/condensed-downloads/dmidecode_3.2-1_x86_64.ipk.tar.gz new file mode 100644 index 0000000000..1ce95cdfe0 Binary files /dev/null and b/test/condensed-downloads/dmidecode_3.2-1_x86_64.ipk.tar.gz differ diff --git a/test/test_data/dmidecode.py b/test/test_data/dmidecode.py new file mode 100644 index 0000000000..eda89711af --- /dev/null +++ b/test/test_data/dmidecode.py @@ -0,0 +1,27 @@ +# Copyright (C) 2023 Orange +# SPDX-License-Identifier: GPL-3.0-or-later + +mapping_test_data = [ + {"product": "dmidecode", "version": "3.5", "version_strings": ["3.5\ndmidecode"]}, + {"product": "dmidecode", "version": "3.0", "version_strings": ["3.0\n# dmidecode"]}, +] +package_test_data = [ + { + "url": "http://rpmfind.net/linux/opensuse/tumbleweed/repo/oss/x86_64/", + "package_name": "dmidecode-3.5-2.1.x86_64.rpm", + "product": "dmidecode", + "version": "3.5", + }, + { + "url": "http://ftp.fr.debian.org/debian/pool/main/d/dmidecode/", + "package_name": "dmidecode_3.0-4_amd64.deb", + "product": "dmidecode", + "version": "3.0", + }, + { + "url": "https://downloads.openwrt.org/releases/packages-19.07/x86_64/packages/", + "package_name": "dmidecode_3.2-1_x86_64.ipk", + "product": "dmidecode", + "version": "3.2", + }, +]