Skip to content

Commit 58d31bb

Browse files
authored
Merge branch 'master' into openssh-checker
2 parents 688dbf5 + d618792 commit 58d31bb

File tree

4 files changed

+40
-9
lines changed

4 files changed

+40
-9
lines changed

cve_bin_tool/checkers/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,5 @@
1818
"kerberos",
1919
"icu",
2020
"openssh",
21+
"bluez",
2122
]

cve_bin_tool/checkers/bluez.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#!/usr/bin/env python3
2+
"""
3+
CVE checker for Bluez
4+
References:
5+
https://www.cvedetails.com/vulnerability-list/vendor_id-8316/product_id-35116/Bluez-Bluez.html
6+
7+
"""
8+
from ..util import regex_find
9+
10+
11+
def get_version(lines, filename):
12+
"""Bluetoothctl will work for Version 5.0+
13+
14+
VPkg: bluez, bluez
15+
"""
16+
regex = [r"bluetoothctl: ([5]+\.[0-9]+\.[0-9]+)"]
17+
version_info = dict()
18+
if filename[::-1].startswith(("bluetoothctl")[::-1]):
19+
version_info["is_or_contains"] = "is"
20+
21+
if "is_or_contains" in version_info:
22+
version_info["modulename"] = "bluetoothctl"
23+
version_info["version"] = regex_find(lines, *regex)
24+
elif "libbluetooth.so" in filename:
25+
version_info["is_or_contains"] = "is"
26+
27+
return version_info

cve_bin_tool/cli.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ def get_cves(self, vendor_package_pairs, vers):
122122

123123
for i in range(len(vendor_package_pairs)):
124124
vendor_package_pairs[i] = tuple(vendor_package_pairs[i])[:2] + (
125-
"%" + vers + "%",
125+
"%" + str(vers) + "%",
126126
)
127127

128128
# here we don't need to grab all of the versions
@@ -195,7 +195,7 @@ def scan_file(self, filename):
195195
if self.verbose:
196196
print(filename, result["is_or_contains"], modulename, version)
197197
if found_cves.keys():
198-
print("Known CVEs in version " + version)
198+
print("Known CVEs in version " + str(version))
199199
print(", ".join(found_cves.keys()))
200200

201201
self.logger.debug("Done scanning file: %r", filename)
@@ -418,7 +418,7 @@ def main(argv=sys.argv, outfile=sys.stdout):
418418
if (not args.quiet) and scanner.files_with_cve > 0:
419419
affected_string = ", ".join(
420420
map(
421-
lambda module_version: " ".join(module_version),
421+
lambda module_version: " ".join(str(module_version)),
422422
scanner.affected(),
423423
)
424424
)

test/test_scanner.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -196,15 +196,14 @@ def test_expat_2_0_1(self):
196196
"CVE-2012-0876",
197197
# Check for other issues from more recent versions
198198
# 2.1
199-
"CVE-2016-0718",
200199
# "CVE-2016-4472",
201200
# "CVE-2016-5300",
202201
# "CVE-2012-6702",
203202
# "CVE-2015-1283",
204203
# 2.2
205204
# "CVE-2017-9233",
206205
# "CVE-2016-9063",
207-
"CVE-2016-0718",
206+
# "CVE-2016-0718", Changed in nvd1.1 to not be caught
208207
# "CVE-2017-11742",
209208
],
210209
["CVE-blahblah"],
@@ -225,7 +224,7 @@ def test_expat_deb_2_2_0(self):
225224
""" Test detection of expat 2.2 debian package """
226225
self._file_test(
227226
"http://http.us.debian.org/debian/pool/main/e/expat/",
228-
"libexpat1_2.2.0-2+deb9u1_amd64.deb",
227+
"libexpat1_2.2.0-2+deb9u3_amd64.deb",
229228
"expat",
230229
"2.2.0",
231230
)
@@ -263,7 +262,11 @@ def test_kerberos_1_15_1(self):
263262
"test-kerberos-5-1.15.1.out",
264263
"kerberos",
265264
"5-1.15.1",
266-
["CVE-2017-11462", "CVE-2017-11368", "CVE-2018-5730"],
265+
[
266+
"CVE-2017-11462",
267+
"CVE-2017-11368",
268+
# "CVE-2018-5730" affected by bug #1
269+
],
267270
["CVE-2019-3823"],
268271
)
269272

@@ -272,7 +275,7 @@ def test_kerberos_rpm_1_15_1(self):
272275
""" Test detection of krb5-libs (kerberos libraries) from Centos """
273276
self._file_test(
274277
"http://mirror.centos.org/centos/7/os/x86_64/Packages/",
275-
"krb5-libs-1.15.1-34.el7.i686.rpm",
278+
"krb5-libs-1.15.1-37.el7_6.i686.rpm",
276279
"kerberos",
277280
"1.15.1",
278281
)
@@ -555,7 +558,7 @@ def test_systemd_rpm_219(self):
555558
""" test detection of a systemd 219 rpm from centos 7 """
556559
self._file_test(
557560
"http://mirror.centos.org/centos/7/os/x86_64/Packages/",
558-
"systemd-219-62.el7.x86_64.rpm",
561+
"systemd-219-67.el7.x86_64.rpm",
559562
"systemd",
560563
"219",
561564
)

0 commit comments

Comments
 (0)