diff --git a/cve_bin_tool/checkers/__init__.py b/cve_bin_tool/checkers/__init__.py index 39fcfcf122..264ff7c560 100644 --- a/cve_bin_tool/checkers/__init__.py +++ b/cve_bin_tool/checkers/__init__.py @@ -376,6 +376,7 @@ "vorbis_tools", "vsftpd", "vim", + "wavpack", "webkitgtk", "wget", "wireshark", diff --git a/cve_bin_tool/checkers/wavpack.py b/cve_bin_tool/checkers/wavpack.py new file mode 100644 index 0000000000..ce2857f75c --- /dev/null +++ b/cve_bin_tool/checkers/wavpack.py @@ -0,0 +1,21 @@ +# Copyright (C) 2025 Orange +# SPDX-License-Identifier: GPL-3.0-or-later + + +""" +CVE checker for wavpack + +https://www.cvedetails.com/product/36196/Wavpack-Project-Wavpack.html?vendor_id=16200 +https://www.cvedetails.com/product/43617/Wavpack-Wavpack.html?vendor_id=17637 + +""" +from __future__ import annotations + +from cve_bin_tool.checkers import Checker + + +class WavpackChecker(Checker): + CONTAINS_PATTERNS: list[str] = [] + FILENAME_PATTERNS: list[str] = [] + VERSION_PATTERNS = [r"\r?\n([0-9]+\.[0-9]+\.[0-9]+)\r?\n(?:libwavpack|[wW]av)"] + VENDOR_PRODUCT = [("wavpack", "wavpack"), ("wavpack_project", "wavpack")] diff --git a/test/condensed-downloads/wavpack-5.1.0-r8.apk.tar.gz b/test/condensed-downloads/wavpack-5.1.0-r8.apk.tar.gz new file mode 100644 index 0000000000..cd7789d6c4 Binary files /dev/null and b/test/condensed-downloads/wavpack-5.1.0-r8.apk.tar.gz differ diff --git a/test/condensed-downloads/wavpack-5.7.0-11.fc42.aarch64.rpm.tar.gz b/test/condensed-downloads/wavpack-5.7.0-11.fc42.aarch64.rpm.tar.gz new file mode 100644 index 0000000000..a9b4d0f3e4 Binary files /dev/null and b/test/condensed-downloads/wavpack-5.7.0-11.fc42.aarch64.rpm.tar.gz differ diff --git a/test/condensed-downloads/wavpack_5.4.0-1_arm64.deb.tar.gz b/test/condensed-downloads/wavpack_5.4.0-1_arm64.deb.tar.gz new file mode 100644 index 0000000000..a9e17c07c3 Binary files /dev/null and b/test/condensed-downloads/wavpack_5.4.0-1_arm64.deb.tar.gz differ diff --git a/test/test_data/wavpack.py b/test/test_data/wavpack.py new file mode 100644 index 0000000000..30f1f73ef6 --- /dev/null +++ b/test/test_data/wavpack.py @@ -0,0 +1,26 @@ +# Copyright (C) 2025 Orange +# SPDX-License-Identifier: GPL-3.0-or-later + +mapping_test_data = [ + {"product": "wavpack", "version": "5.1.0", "version_strings": ["5.1.0\nlibwavpack"]} +] +package_test_data = [ + { + "url": "http://rpmfind.net/linux/fedora/linux/development/rawhide/Everything/aarch64/os/Packages/w/", + "package_name": "wavpack-5.7.0-11.fc42.aarch64.rpm", + "product": "wavpack", + "version": "5.7.0", + }, + { + "url": "http://ftp.debian.org/debian/pool/main/w/wavpack/", + "package_name": "wavpack_5.4.0-1_arm64.deb", + "product": "wavpack", + "version": "5.4.0", + }, + { + "url": "https://dl-cdn.alpinelinux.org/alpine/v3.11/main/x86_64/", + "package_name": "wavpack-5.1.0-r8.apk", + "product": "wavpack", + "version": "5.1.0", + }, +]