{"id":"CVE-2018-1000159","aliases":["EUVD-2018-0139","GHSA-cwh5-3cw7-4286","PYSEC-2018-31","UBUNTU-CVE-2018-1000159"],"status":"published","title":"tlslite-ng off-by-one error on mac checking","description":"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.","severity":{"version":"3.0","score":5.9,"vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"medium","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-09","score":0.00772,"percentile":0.5595,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-354"],"published":"2018-04-18T19:00:00Z","modified":"2026-10-20T10:49:46Z","fixes":[{"ecosystem":"PyPI","package":"tlslite-ng","fixed_in":["0.7.4"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"tlslite-ng","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.7.4"}]}]},{"source":"osv","ecosystem":"PyPI","package":"tlslite-ng","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.7.4"}]}],"versions":["0.5.0","0.5.0-beta1","0.5.0-beta2","0.5.0-beta3","0.5.0-beta4","0.5.0-beta5","0.5.0-beta6","0.5.1","0.5.2","0.6.0","0.6.0-alpha1","0.6.0-alpha2","0.6.0-alpha3","0.6.0-alpha4","0.6.0-alpha5","0.6.0-beta1","0.7.0","0.7.0-alpha1","0.7.0-alpha2","0.7.0-alpha3","0.7.0-alpha4","0.7.0-alpha5","0.7.0-alpha6","0.7.0-alpha7","0.7.0-alpha8","0.7.0-alpha9","0.7.0-beta1","0.7.1","0.7.2","0.7.3"]},{"source":"osv","ecosystem":"PyPI","package":"tlslite-ng","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.7.4"}]}],"versions":["0.5.0","0.5.0-beta1","0.5.0-beta2","0.5.0-beta3","0.5.0-beta4","0.5.0-beta5","0.5.0-beta6","0.5.1","0.5.2","0.6.0","0.6.0-alpha1","0.6.0-alpha2","0.6.0-alpha3","0.6.0-alpha4","0.6.0-alpha5","0.6.0-beta1","0.7.0","0.7.0-alpha1","0.7.0-alpha2","0.7.0-alpha3","0.7.0-alpha4","0.7.0-alpha5","0.7.0-alpha6","0.7.0-alpha7","0.7.0-alpha8","0.7.0-alpha9","0.7.0-beta1","0.7.1","0.7.2","0.7.3"]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"tlslite-ng","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.5.1-1"]}],"products":[{"vendor":"tlslite-ng_project","product":"tlslite-ng"}],"references":[{"url":"https://github.com/tomato42/tlslite-ng/pull/234","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","advisory","web","report"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2018-1000159","tags":["advisory"]},{"url":"https://github.com/tlsfuzzer/tlslite-ng/pull/234/commits/3674815d1b0f7484454995e2737a352e0a6a93d8","tags":["web"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/tlslite-ng/PYSEC-2018-31.yaml","tags":["web"]},{"url":"https://github.com/tlsfuzzer/tlslite-ng/commit/d7b288316bca7bcdd082e6ccff5491e241305233","tags":["web"]},{"url":"https://github.com/advisories/GHSA-cwh5-3cw7-4286","tags":["advisory"]},{"url":"https://github.com/tomato42/tlslite-ng","tags":["package"]},{"url":"https://ubuntu.com/security/CVE-2018-1000159","tags":["report"]},{"url":"https://github.com/tomato42/tlslite-ng/pull/234/commits/3674815d1b0f7484454995e2737a352e0a6a93d8","tags":["report"]},{"url":"https://github.com/tomato42/tlslite-ng/pull/235","tags":["report"]},{"url":"https://github.com/tomato42/tlslite-ng/pull/235/commits/e5e9145558f4c1a81071c61c947aa55a52542585","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2018-1000159","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2018-1000159","description":"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.","status":"published","published":"2018-04-18T19:00:00Z","modified":"2024-08-05T12:33:49.333Z","updated_at":"2026-11-02T14:35:10.685174Z"}],"euvd":[{"id":"EUVD-2018-0139","description":"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.","status":"published","published":"2018-04-18T19:00:00Z","modified":"2024-08-05T12:33:49Z","updated_at":"2026-11-03T02:39:26.824954Z"}],"ghsa":[{"id":"GHSA-cwh5-3cw7-4286","title":"tlslite-ng off-by-one error on mac checking","description":"tlslite-ng version 0.7.3 and earlier, since commit [d7b288316bca7bcdd082e6ccff5491e241305233](https://github.com/tlsfuzzer/tlslite-ng/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](https://github.com/tlsfuzzer/tlslite-ng/pull/234/commits/3674815d1b0f7484454995e2737a352e0a6a93d8).","status":"published","published":"2018-07-12T20:30:44Z","modified":"2024-11-13T22:51:52Z","cvss":[{"version":"3.0","score":5.9,"vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"medium"},{"version":"4.0","score":8.2,"vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N","level":"high"}],"cwes":["CWE-354"],"updated_at":"2026-11-02T14:38:18.163845Z"}],"nvd":[{"id":"CVE-2018-1000159","description":"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.","status":"published","published":"2018-04-18T19:29:00.333Z","modified":"2026-06-17T01:32:33.52Z","cvss":[{"version":"3.0","score":5.9,"vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"medium","assessor":"primary"},{"version":"2.0","score":4.3,"vector":"AV:N/AC:M/Au:N/C:N/I:P/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-354"],"updated_at":"2026-11-02T14:04:25.506659Z"}],"osv":[{"id":"CVE-2018-1000159","description":"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.","status":"published","published":"2018-04-18T19:29:00.333Z","modified":"2026-10-20T10:49:46.102066201Z","cvss":[{"version":"3.0","score":5.9,"vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"medium"}],"updated_at":"2026-11-02T15:44:07.192756Z"},{"id":"GHSA-cwh5-3cw7-4286","title":"tlslite-ng off-by-one error on mac checking","description":"tlslite-ng version 0.7.3 and earlier, since commit [d7b288316bca7bcdd082e6ccff5491e241305233](https://github.com/tlsfuzzer/tlslite-ng/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](https://github.com/tlsfuzzer/tlslite-ng/pull/234/commits/3674815d1b0f7484454995e2737a352e0a6a93d8).","status":"published","published":"2018-07-12T20:30:44Z","modified":"2024-11-24T05:38:43.510229Z","cvss":[{"version":"3.0","score":5.9,"vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"medium"},{"version":"4.0","score":8.2,"vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N","level":"high"}],"cwes":["CWE-354"],"updated_at":"2026-11-02T15:46:45.639885Z"},{"id":"UBUNTU-CVE-2018-1000159","description":"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.","status":"published","published":"2018-04-18T19:29:00Z","modified":"2025-10-24T04:47:20Z","cvss":[{"version":"3.0","score":5.9,"vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"medium"}],"updated_at":"2026-11-02T15:54:16.154988Z"},{"id":"PYSEC-2018-31","description":"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.","status":"published","published":"2018-04-18T19:29:00Z","modified":"2023-11-08T03:59:36.197516Z","updated_at":"2026-11-02T15:52:51.645172Z"}]}}
