Skip to content

Commit 7eff409

Browse files
authored
Merge branch 'main' into add-markdown-linter
2 parents 202b400 + d659f9e commit 7eff409

37 files changed

+891
-704
lines changed

.github/actions/spelling/allow.txt

+1
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,7 @@ fsf
226226
fsprogs
227227
ftp
228228
ftpd
229+
fuse
229230
fuzzer
230231
g
231232
GAAD

README.md

+48-48
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ CVE Binary Tool uses the NVD API but is not endorsed or certified by the NVD.
1616

1717
The tool has two main modes of operation:
1818

19-
1. A binary scanner which helps you determine which packages may have been included as part of a piece of software. There are <!-- NUMBER OF CHECKERS START-->401<!--NUMBER OF CHECKERS END--> checkers. Our initial focus was on common, vulnerable open source components such as openssl, libpng, libxml2 and expat.
19+
1. A binary scanner which helps you determine which packages may have been included as part of a piece of software. There are <!-- NUMBER OF CHECKERS START-->402<!--NUMBER OF CHECKERS END--> checkers. Our initial focus was on common, vulnerable open source components such as openssl, libpng, libxml2 and expat.
2020

2121
2. Tools for scanning known component lists in various formats, including .csv, several linux distribution package lists, language specific package scanners and several Software Bill of Materials (SBOM) formats.
2222

@@ -226,7 +226,7 @@ The following checkers are available for finding components in binary files:
226226

227227
<!--CHECKERS TABLE BEGIN-->
228228
| | | | Available checkers | | | |
229-
|--------------- |-------------- |------------------ |--------------- |------------- |--------------- |----------------- |
229+
|----------------- |-------------- |------------------ |------------- |--------------- |------------- |--------------- |
230230
| accountsservice |acpid |apache_http_server |apcupsd |apparmor |apr |asn1c |
231231
| assimp |asterisk |atftp |avahi |axel |bash |bind |
232232
| binutils |bird |bison |bluez |boa |boinc |botan |
@@ -239,52 +239,52 @@ The following checkers are available for finding components in binary files:
239239
| dovecot |doxygen |dpkg |dropbear |e2fsprogs |ed |elfutils |
240240
| emacs |enscript |exfatprogs |exim |exiv2 |f2fs_tools |faad2 |
241241
| fastd |ffmpeg |file |firefox |flac |fluidsynth |freeradius |
242-
| freerdp |fribidi |frr |gawk |gcc |gdal |gdb |
243-
| gdk_pixbuf |gettext |ghostscript |gimp |git |glib |glibc |
244-
| gmp |gnomeshell |gnupg |gnutls |go |gpgme |gpsd |
245-
| graphicsmagick |grep |grub2 |gsasl |gstreamer |guile |gupnp |
246-
| gvfs |gzip |haproxy |harfbuzz |haserl |hdf5 |heimdal |
247-
| hostapd |hunspell |hwloc |i2pd |icecast |icu |imagemagick |
248-
| indent |inetutils |iperf3 |ipmitool |ipsec_tools |iptables |irssi |
249-
| iucode_tool |iwd |jack2 |jacksondatabind |janus |jasper |jbig |
250-
| jhead |jq |json_c |kbd |keepalived |kerberos |kexectools |
251-
| kodi |kubernetes |ldns |lftp |libarchive |libass |libbpg |
252-
| libcap |libcoap |libconfuse |libcurl |libdb |libde265 |libebml |
253-
| libevent |libexpat |libgcrypt |libgd |libgit2 |libheif |libical |
254-
| libidn2 |libinput |libjpeg |libjpeg_turbo |libksba |liblas |liblouis |
255-
| libmatroska |libmemcached |libmicrohttpd |libmodbus |libnss |libopenmpt |libpcap |
256-
| libraw |libreoffice |libreswan |librsvg |librsync |libsamplerate |libseccomp |
257-
| libsndfile |libsolv |libsoup |libsrtp |libssh |libssh2 |libtasn1 |
258-
| libtiff |libtomcrypt |libupnp |libuv |libvips |libvirt |libvncserver |
259-
| libvorbis |libvpx |libxslt |libyaml |libyang |lighttpd |linux_kernel |
260-
| linuxptp |lldpd |logrotate |lrzip |lua |luajit |lxc |
261-
| lynx |lz4 |lzo2 |mailx |mariadb |mbedtls |mdadm |
262-
| memcached |micropython |minetest |mini_httpd |minicom |minidlna |miniupnpc |
263-
| miniupnpd |moby |modsecurity |monit |mosquitto |motion |mp4v2 |
264-
| mpg123 |mpv |msmtp |mtr |mupdf |mutt |mysql |
265-
| nano |nasm |nbd |ncurses |neon |nessus |netatalk |
266-
| netdata |netkit_ftp |netpbm |nettle |nghttp2 |nginx |ngircd |
267-
| nmap |node |ntfs_3g |ntp |ntpsec |oath_toolkit |open_iscsi |
268-
| open_vm_tools |openafs |openblas |opencv |openjpeg |openldap |opensc |
269-
| openssh |openssl |openswan |openvpn |openvswitch |orc |p7zip |
270-
| pango |patch |pcre |pcre2 |pcsc_lite |perl |php |
271-
| picocom |pigz |pixman |pjsip |png |polarssl_fedora |poppler |
272-
| postgresql |ppp |privoxy |procps_ng |proftpd |protobuf_c |pspp |
273-
| pure_ftpd |putty |python |qemu |qpdf |qt |quagga |
274-
| radare2 |radvd |raptor |rauc |rdesktop |readline |redis |
275-
| rpm |rsync |rsyslog |rtl_433 |rtmpdump |ruby |runc |
276-
| rust |samba |sane_backends |sasl |sdl |seahorse |shadowsocks_libev |
277-
| snapd |sngrep |snort |socat |sofia_sip |speex |spice |
278-
| sqlite |squashfs |squid |sslh |stellarium |strongswan |stunnel |
279-
| subversion |sudo |suricata |sylpheed |syslogng |sysstat |systemd |
280-
| tar |tbb |tcpdump |tcpreplay |terminology |tesseract |thrift |
281-
| thttpd |thunderbird |timescaledb |tinyproxy |tor |toybox |tpm2_tss |
282-
| traceroute |transmission |trousers |ttyd |twonky_server |u_boot |udisks |
283-
| unbound |unixodbc |upx |util_linux |uwsgi |varnish |vim |
284-
| vlc |vorbis_tools |vsftpd |wavpack |webkitgtk |wget |wireshark |
285-
| wolfssl |wpa_supplicant |xerces |xml2 |xpdf |xscreensaver |xwayland |
286-
| xz |yasm |zabbix |zchunk |zeek |zlib |znc |
287-
| zsh |zstandard | | | | | |
242+
| freerdp |fribidi |frr |fuse |gawk |gcc |gdal |
243+
| gdb |gdk_pixbuf |gettext |ghostscript |gimp |git |glib |
244+
| glibc |gmp |gnomeshell |gnupg |gnutls |go |gpgme |
245+
| gpsd |graphicsmagick |grep |grub2 |gsasl |gstreamer |guile |
246+
| gupnp |gvfs |gzip |haproxy |harfbuzz |haserl |hdf5 |
247+
| heimdal |hostapd |hunspell |hwloc |i2pd |icecast |icu |
248+
| imagemagick |indent |inetutils |iperf3 |ipmitool |ipsec_tools |iptables |
249+
| irssi |iucode_tool |iwd |jack2 |jacksondatabind |janus |jasper |
250+
| jbig |jhead |jq |json_c |kbd |keepalived |kerberos |
251+
| kexectools |kodi |kubernetes |ldns |lftp |libarchive |libass |
252+
| libbpg |libcap |libcoap |libconfuse |libcurl |libdb |libde265 |
253+
| libebml |libevent |libexpat |libgcrypt |libgd |libgit2 |libheif |
254+
| libical |libidn2 |libinput |libjpeg |libjpeg_turbo |libksba |liblas |
255+
| liblouis |libmatroska |libmemcached |libmicrohttpd |libmodbus |libnss |libopenmpt |
256+
| libpcap |libraw |libreoffice |libreswan |librsvg |librsync |libsamplerate |
257+
| libseccomp |libsndfile |libsolv |libsoup |libsrtp |libssh |libssh2 |
258+
| libtasn1 |libtiff |libtomcrypt |libupnp |libuv |libvips |libvirt |
259+
| libvncserver |libvorbis |libvpx |libxslt |libyaml |libyang |lighttpd |
260+
| linux_kernel |linuxptp |lldpd |logrotate |lrzip |lua |luajit |
261+
| lxc |lynx |lz4 |lzo2 |mailx |mariadb |mbedtls |
262+
| mdadm |memcached |micropython |minetest |mini_httpd |minicom |minidlna |
263+
| miniupnpc |miniupnpd |moby |modsecurity |monit |mosquitto |motion |
264+
| mp4v2 |mpg123 |mpv |msmtp |mtr |mupdf |mutt |
265+
| mysql |nano |nasm |nbd |ncurses |neon |nessus |
266+
| netatalk |netdata |netkit_ftp |netpbm |nettle |nghttp2 |nginx |
267+
| ngircd |nmap |node |ntfs_3g |ntp |ntpsec |oath_toolkit |
268+
| open_iscsi |open_vm_tools |openafs |openblas |opencv |openjpeg |openldap |
269+
| opensc |openssh |openssl |openswan |openvpn |openvswitch |orc |
270+
| p7zip |pango |patch |pcre |pcre2 |pcsc_lite |perl |
271+
| php |picocom |pigz |pixman |pjsip |png |polarssl_fedora |
272+
| poppler |postgresql |ppp |privoxy |procps_ng |proftpd |protobuf_c |
273+
| pspp |pure_ftpd |putty |python |qemu |qpdf |qt |
274+
| quagga |radare2 |radvd |raptor |rauc |rdesktop |readline |
275+
| redis |rpm |rsync |rsyslog |rtl_433 |rtmpdump |ruby |
276+
| runc |rust |samba |sane_backends |sasl |sdl |seahorse |
277+
| shadowsocks_libev |snapd |sngrep |snort |socat |sofia_sip |speex |
278+
| spice |sqlite |squashfs |squid |sslh |stellarium |strongswan |
279+
| stunnel |subversion |sudo |suricata |sylpheed |syslogng |sysstat |
280+
| systemd |tar |tbb |tcpdump |tcpreplay |terminology |tesseract |
281+
| thrift |thttpd |thunderbird |timescaledb |tinyproxy |tor |toybox |
282+
| tpm2_tss |traceroute |transmission |trousers |ttyd |twonky_server |u_boot |
283+
| udisks |unbound |unixodbc |upx |util_linux |uwsgi |varnish |
284+
| vim |vlc |vorbis_tools |vsftpd |wavpack |webkitgtk |wget |
285+
| wireshark |wolfssl |wpa_supplicant |xerces |xml2 |xpdf |xscreensaver |
286+
| xwayland |xz |yasm |zabbix |zchunk |zeek |zlib |
287+
| znc |zsh |zstandard | | | | |
288288
<!--CHECKERS TABLE END-->
289289

290290
All the checkers can be found in the checkers directory, as can the

cve_bin_tool/checkers/__init__.py

+2
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@
110110
"freerdp",
111111
"fribidi",
112112
"frr",
113+
"fuse",
113114
"gawk",
114115
"gcc",
115116
"gdal",
@@ -235,6 +236,7 @@
235236
"linux_kernel",
236237
"linuxptp",
237238
"lldpd",
239+
"llvm",
238240
"logrotate",
239241
"lrzip",
240242
"lua",

cve_bin_tool/checkers/fuse.py

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Copyright (C) 2025 Orange
2+
# SPDX-License-Identifier: GPL-3.0-or-later
3+
4+
5+
"""
6+
CVE checker for fuse
7+
8+
https://www.cvedetails.com/product/32028/Fuse-Project-Fuse.html?vendor_id=15522
9+
10+
"""
11+
from __future__ import annotations
12+
13+
from cve_bin_tool.checkers import Checker
14+
15+
16+
class FuseChecker(Checker):
17+
CONTAINS_PATTERNS: list[str] = []
18+
FILENAME_PATTERNS: list[str] = []
19+
VERSION_PATTERNS = [
20+
r"(?:FUSE library|fusermount) version: %s\r?\n([0-9]+\.[0-9]+\.[0-9]+)",
21+
r"([0-9]+\.[0-9]+\.[0-9]+)\r?\n(?:FUSE library|fusermount) version",
22+
]
23+
VENDOR_PRODUCT = [("fuse_project", "fuse")]

cve_bin_tool/checkers/llvm.py

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Copyright (C) 2025 Keysight Technologies
2+
# SPDX-License-Identifier: GPL-3.0-or-later
3+
4+
"""
5+
CVE checker for LLVM
6+
"""
7+
8+
from cve_bin_tool.checkers import Checker
9+
10+
11+
class LlvmChecker(Checker):
12+
CONTAINS_PATTERNS = []
13+
FILENAME_PATTTERN = []
14+
VERSION_PATTERNS = [
15+
r"LLVM version ([0-9]+\.[0-9]+\.[0-9]+)",
16+
r"/llvm-[a-z]+/([0-9]+\.[0-9]+\.[0-9]+)",
17+
]
18+
VENDOR_PRODUCT = [("llvm", "llvm")]

doc/MANUAL.md

+47-47
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ which is useful if you're trying the latest code from
243243

244244
<!--CHECKERS TABLE BEGIN-->
245245
| | | | Available checkers | | | |
246-
|--------------- |-------------- |------------------ |--------------- |------------- |--------------- |----------------- |
246+
|----------------- |-------------- |------------------ |------------- |--------------- |------------- |--------------- |
247247
| accountsservice |acpid |apache_http_server |apcupsd |apparmor |apr |asn1c |
248248
| assimp |asterisk |atftp |avahi |axel |bash |bind |
249249
| binutils |bird |bison |bluez |boa |boinc |botan |
@@ -256,52 +256,52 @@ which is useful if you're trying the latest code from
256256
| dovecot |doxygen |dpkg |dropbear |e2fsprogs |ed |elfutils |
257257
| emacs |enscript |exfatprogs |exim |exiv2 |f2fs_tools |faad2 |
258258
| fastd |ffmpeg |file |firefox |flac |fluidsynth |freeradius |
259-
| freerdp |fribidi |frr |gawk |gcc |gdal |gdb |
260-
| gdk_pixbuf |gettext |ghostscript |gimp |git |glib |glibc |
261-
| gmp |gnomeshell |gnupg |gnutls |go |gpgme |gpsd |
262-
| graphicsmagick |grep |grub2 |gsasl |gstreamer |guile |gupnp |
263-
| gvfs |gzip |haproxy |harfbuzz |haserl |hdf5 |heimdal |
264-
| hostapd |hunspell |hwloc |i2pd |icecast |icu |imagemagick |
265-
| indent |inetutils |iperf3 |ipmitool |ipsec_tools |iptables |irssi |
266-
| iucode_tool |iwd |jack2 |jacksondatabind |janus |jasper |jbig |
267-
| jhead |jq |json_c |kbd |keepalived |kerberos |kexectools |
268-
| kodi |kubernetes |ldns |lftp |libarchive |libass |libbpg |
269-
| libcap |libcoap |libconfuse |libcurl |libdb |libde265 |libebml |
270-
| libevent |libexpat |libgcrypt |libgd |libgit2 |libheif |libical |
271-
| libidn2 |libinput |libjpeg |libjpeg_turbo |libksba |liblas |liblouis |
272-
| libmatroska |libmemcached |libmicrohttpd |libmodbus |libnss |libopenmpt |libpcap |
273-
| libraw |libreoffice |libreswan |librsvg |librsync |libsamplerate |libseccomp |
274-
| libsndfile |libsolv |libsoup |libsrtp |libssh |libssh2 |libtasn1 |
275-
| libtiff |libtomcrypt |libupnp |libuv |libvips |libvirt |libvncserver |
276-
| libvorbis |libvpx |libxslt |libyaml |libyang |lighttpd |linux_kernel |
277-
| linuxptp |lldpd |logrotate |lrzip |lua |luajit |lxc |
278-
| lynx |lz4 |lzo2 |mailx |mariadb |mbedtls |mdadm |
279-
| memcached |micropython |minetest |mini_httpd |minicom |minidlna |miniupnpc |
280-
| miniupnpd |moby |modsecurity |monit |mosquitto |motion |mp4v2 |
281-
| mpg123 |mpv |msmtp |mtr |mupdf |mutt |mysql |
282-
| nano |nasm |nbd |ncurses |neon |nessus |netatalk |
283-
| netdata |netkit_ftp |netpbm |nettle |nghttp2 |nginx |ngircd |
284-
| nmap |node |ntfs_3g |ntp |ntpsec |oath_toolkit |open_iscsi |
285-
| open_vm_tools |openafs |openblas |opencv |openjpeg |openldap |opensc |
286-
| openssh |openssl |openswan |openvpn |openvswitch |orc |p7zip |
287-
| pango |patch |pcre |pcre2 |pcsc_lite |perl |php |
288-
| picocom |pigz |pixman |pjsip |png |polarssl_fedora |poppler |
289-
| postgresql |ppp |privoxy |procps_ng |proftpd |protobuf_c |pspp |
290-
| pure_ftpd |putty |python |qemu |qpdf |qt |quagga |
291-
| radare2 |radvd |raptor |rauc |rdesktop |readline |redis |
292-
| rpm |rsync |rsyslog |rtl_433 |rtmpdump |ruby |runc |
293-
| rust |samba |sane_backends |sasl |sdl |seahorse |shadowsocks_libev |
294-
| snapd |sngrep |snort |socat |sofia_sip |speex |spice |
295-
| sqlite |squashfs |squid |sslh |stellarium |strongswan |stunnel |
296-
| subversion |sudo |suricata |sylpheed |syslogng |sysstat |systemd |
297-
| tar |tbb |tcpdump |tcpreplay |terminology |tesseract |thrift |
298-
| thttpd |thunderbird |timescaledb |tinyproxy |tor |toybox |tpm2_tss |
299-
| traceroute |transmission |trousers |ttyd |twonky_server |u_boot |udisks |
300-
| unbound |unixodbc |upx |util_linux |uwsgi |varnish |vim |
301-
| vlc |vorbis_tools |vsftpd |wavpack |webkitgtk |wget |wireshark |
302-
| wolfssl |wpa_supplicant |xerces |xml2 |xpdf |xscreensaver |xwayland |
303-
| xz |yasm |zabbix |zchunk |zeek |zlib |znc |
304-
| zsh |zstandard | | | | | |
259+
| freerdp |fribidi |frr |fuse |gawk |gcc |gdal |
260+
| gdb |gdk_pixbuf |gettext |ghostscript |gimp |git |glib |
261+
| glibc |gmp |gnomeshell |gnupg |gnutls |go |gpgme |
262+
| gpsd |graphicsmagick |grep |grub2 |gsasl |gstreamer |guile |
263+
| gupnp |gvfs |gzip |haproxy |harfbuzz |haserl |hdf5 |
264+
| heimdal |hostapd |hunspell |hwloc |i2pd |icecast |icu |
265+
| imagemagick |indent |inetutils |iperf3 |ipmitool |ipsec_tools |iptables |
266+
| irssi |iucode_tool |iwd |jack2 |jacksondatabind |janus |jasper |
267+
| jbig |jhead |jq |json_c |kbd |keepalived |kerberos |
268+
| kexectools |kodi |kubernetes |ldns |lftp |libarchive |libass |
269+
| libbpg |libcap |libcoap |libconfuse |libcurl |libdb |libde265 |
270+
| libebml |libevent |libexpat |libgcrypt |libgd |libgit2 |libheif |
271+
| libical |libidn2 |libinput |libjpeg |libjpeg_turbo |libksba |liblas |
272+
| liblouis |libmatroska |libmemcached |libmicrohttpd |libmodbus |libnss |libopenmpt |
273+
| libpcap |libraw |libreoffice |libreswan |librsvg |librsync |libsamplerate |
274+
| libseccomp |libsndfile |libsolv |libsoup |libsrtp |libssh |libssh2 |
275+
| libtasn1 |libtiff |libtomcrypt |libupnp |libuv |libvips |libvirt |
276+
| libvncserver |libvorbis |libvpx |libxslt |libyaml |libyang |lighttpd |
277+
| linux_kernel |linuxptp |lldpd |logrotate |lrzip |lua |luajit |
278+
| lxc |lynx |lz4 |lzo2 |mailx |mariadb |mbedtls |
279+
| mdadm |memcached |micropython |minetest |mini_httpd |minicom |minidlna |
280+
| miniupnpc |miniupnpd |moby |modsecurity |monit |mosquitto |motion |
281+
| mp4v2 |mpg123 |mpv |msmtp |mtr |mupdf |mutt |
282+
| mysql |nano |nasm |nbd |ncurses |neon |nessus |
283+
| netatalk |netdata |netkit_ftp |netpbm |nettle |nghttp2 |nginx |
284+
| ngircd |nmap |node |ntfs_3g |ntp |ntpsec |oath_toolkit |
285+
| open_iscsi |open_vm_tools |openafs |openblas |opencv |openjpeg |openldap |
286+
| opensc |openssh |openssl |openswan |openvpn |openvswitch |orc |
287+
| p7zip |pango |patch |pcre |pcre2 |pcsc_lite |perl |
288+
| php |picocom |pigz |pixman |pjsip |png |polarssl_fedora |
289+
| poppler |postgresql |ppp |privoxy |procps_ng |proftpd |protobuf_c |
290+
| pspp |pure_ftpd |putty |python |qemu |qpdf |qt |
291+
| quagga |radare2 |radvd |raptor |rauc |rdesktop |readline |
292+
| redis |rpm |rsync |rsyslog |rtl_433 |rtmpdump |ruby |
293+
| runc |rust |samba |sane_backends |sasl |sdl |seahorse |
294+
| shadowsocks_libev |snapd |sngrep |snort |socat |sofia_sip |speex |
295+
| spice |sqlite |squashfs |squid |sslh |stellarium |strongswan |
296+
| stunnel |subversion |sudo |suricata |sylpheed |syslogng |sysstat |
297+
| systemd |tar |tbb |tcpdump |tcpreplay |terminology |tesseract |
298+
| thrift |thttpd |thunderbird |timescaledb |tinyproxy |tor |toybox |
299+
| tpm2_tss |traceroute |transmission |trousers |ttyd |twonky_server |u_boot |
300+
| udisks |unbound |unixodbc |upx |util_linux |uwsgi |varnish |
301+
| vim |vlc |vorbis_tools |vsftpd |wavpack |webkitgtk |wget |
302+
| wireshark |wolfssl |wpa_supplicant |xerces |xml2 |xpdf |xscreensaver |
303+
| xwayland |xz |yasm |zabbix |zchunk |zeek |zlib |
304+
| znc |zsh |zstandard | | | | |
305305
<!--CHECKERS TABLE END-->
306306

307307
For a quick overview of usage and how it works, you can also see [the readme file](README.md).

0 commit comments

Comments
 (0)