diff --git a/cve_bin_tool/checkers/__init__.py b/cve_bin_tool/checkers/__init__.py index 293baa18f4..4f24dbfc8f 100644 --- a/cve_bin_tool/checkers/__init__.py +++ b/cve_bin_tool/checkers/__init__.py @@ -361,6 +361,7 @@ "sdl", "seahorse", "shadowsocks_libev", + "snapcast", "sngrep", "snort", "socat", diff --git a/cve_bin_tool/checkers/snapcast.py b/cve_bin_tool/checkers/snapcast.py new file mode 100644 index 0000000000..71083ff522 --- /dev/null +++ b/cve_bin_tool/checkers/snapcast.py @@ -0,0 +1,23 @@ +# Copyright (C) 2025 Orange +# SPDX-License-Identifier: GPL-3.0-or-later + + +""" +CVE checker for snapcast + +https://www.cvedetails.com/product/168357/Badaix-Snapcast.html?vendor_id=34464 + +""" +from __future__ import annotations + +from cve_bin_tool.checkers import Checker + + +class SnapcastChecker(Checker): + CONTAINS_PATTERNS: list[str] = [] + FILENAME_PATTERNS: list[str] = [] + VERSION_PATTERNS = [ + r"([0-9]+\.[0-9]+\.[0-9]+)\r?\nSnap", + r"snapserver v\r?\n([0-9]+\.[0-9]+\.[0-9]+)", + ] + VENDOR_PRODUCT = [("badaix", "snapcast")] diff --git a/test/condensed-downloads/snapcast-server-0.27.0-r4.apk.tar.gz b/test/condensed-downloads/snapcast-server-0.27.0-r4.apk.tar.gz new file mode 100644 index 0000000000..3f08e04f70 Binary files /dev/null and b/test/condensed-downloads/snapcast-server-0.27.0-r4.apk.tar.gz differ diff --git a/test/condensed-downloads/snapserver_0.15.0-1_amd64.deb.tar.gz b/test/condensed-downloads/snapserver_0.15.0-1_amd64.deb.tar.gz new file mode 100644 index 0000000000..a1601f1fd7 Binary files /dev/null and b/test/condensed-downloads/snapserver_0.15.0-1_amd64.deb.tar.gz differ diff --git a/test/test_data/snapcast.py b/test/test_data/snapcast.py new file mode 100644 index 0000000000..693e24d40b --- /dev/null +++ b/test/test_data/snapcast.py @@ -0,0 +1,25 @@ +# Copyright (C) 2025 Orange +# SPDX-License-Identifier: GPL-3.0-or-later + +mapping_test_data = [ + { + "product": "snapcast", + "version": "0.15.0", + "version_strings": ["snapserver v\n0.15.0"], + } +] +package_test_data = [ + { + "url": "http://ftp.debian.org/debian/pool/main/s/snapcast/", + "package_name": "snapserver_0.15.0-1_amd64.deb", + "product": "snapcast", + "version": "0.15.0", + }, + { + "url": "https://dl-cdn.alpinelinux.org/alpine/v3.19/community/x86_64/", + "package_name": "snapcast-server-0.27.0-r4.apk", + "product": "snapcast", + "version": "0.27.0", + "other_products": ["gcc"], + }, +]