CVE-2018-1000159 json
tlslite-ng off-by-one error on mac checking
published 2018-04-18 8 y ago modified 2026-06-17 4 mo ago also GHSA-cwh5-3cw7-4286 , PYSEC-2018-31 , EUVD-2018-0139
- cvss
- 5.9
- version 3.0, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.8%
- EPSS 0.8% chance of exploitation in 30 days, percentile 55%
- public exploits
- 0
- none known
Summary
tlslite-ng version 0.7.3 and earlier, since commit d7b288316bca7bcdd082e6ccff5491e241305233 contains a CWE-354: Improper Validation of Integrity Check Value vulnerability in TLS implementation, tlslite/utils/constanttime.py: ct_check_cbc_mac_and_pad(); line "end_pos = data_len - 1 - mac.digest_size" that can result in an attacker manipulating the TLS ciphertext which will not be detected by receiving tlslite-ng. This attack appears to be exploitable via man in the middle on a network connection. This vulnerability appears to have been fixed after commit 3674815d1b0f7484454995e2737a352e0a6a93d8.
Patch / fix
- pypi tlslite-ng 0.7.4
- github.com/tlsfuzzer/tlslite-ng#234 commit
- github.com/tlsfuzzer/tlslite-ng@d7b2883 commit
- github.com/tomato42/tlslite-ng#234 pull request
Exploit prediction
0.77% chance of exploitation in the next 30 days, higher than 55% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.0 | 5.9 | CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N |
| NVD | 2.0 | 4.3 | AV:N/AC:M/Au:N/C:N/I:P/A:N |
| GitHub | 3.0 | 5.9 | CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | tlslite-ng | <0.7.4 |
0.7.4 |
Classification
- Weakness
-
- CWE-354 Improper Validation of Integrity Check Value
References
-
github.com
/tomato42/tlslite-ng/pull/234
web, third-party-advisory
-
github.com
/tlsfuzzer/tlslite-ng/pull/234/commits/3674815d1b0f7484454995e2737a352e0a6a93d8
web
-
github.com
/tlsfuzzer/tlslite-ng/commit/d7b288316bca7bcdd082e6ccff5491e241305233
web
-
nvd.nist.gov
/vuln/detail/CVE-2018-1000159
advisory
-
github.com
/pypa/advisory-database/tree/main/vulns/tlslite-ng/PYSEC-2018-31.yaml
web
-
github.com
/tomato42/tlslite-ng
package
-
github.com
/advisories/GHSA-cwh5-3cw7-4286
advisory
Sources
- CVE List CVE-2018-1000159
- GitHub Advisory GHSA-cwh5-3cw7-4286
- NVD CVE-2018-1000159
- OSV PYSEC-2018-31
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.