{"id":"CVE-2023-53159","aliases":["DEBIAN-CVE-2023-53159","EUVD-2023-59771","GHSA-xcf7-rvmh-g6q4","OESA-2026-2944","RUSTSEC-2023-0044","UBUNTU-CVE-2023-53159","USN-7891-1"],"status":"published","title":"`openssl` `X509VerifyParamRef::set_host` buffer over-read","description":"The openssl crate before 0.10.55 for Rust allows an out-of-bounds read via an empty string to X509VerifyParamRef::set_host.","severity":{"version":"3.1","score":4.5,"vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:L","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.00226,"percentile":0.13368,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-126"],"published":"2023-06-20T12:00:00Z","modified":"2026-10-28T02:30:36Z","fixes":[{"ecosystem":"crates.io","package":"openssl","fixed_in":["0.10.55"],"sources":["ghsa","osv"]},{"ecosystem":"Debian:13","package":"rust-openssl","fixed_in":["0.10.57-1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"rust-openssl","fixed_in":["0.10.57-1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:20.04:LTS","package":"rust-openssl","fixed_in":["0.10.23-1ubuntu0.1~esm1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:22.04:LTS","package":"rust-openssl","fixed_in":["0.10.36-1ubuntu0.1~esm1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"crates.io","package":"openssl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.10.0"},{"fixed":"0.10.55"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"rust-openssl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.10.45-1","0.10.57-1","0.10.64-1","0.10.68-1","0.10.70-1","0.10.72-1","0.10.73-1","0.10.78-1","0.10.79-1","0.10.81-1"]},{"source":"osv","ecosystem":"Debian:13","package":"rust-openssl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.10.57-1"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"rust-openssl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.10.57-1"}]}]},{"source":"osv","ecosystem":"crates.io","package":"openssl","ranges":[{"type":"SEMVER","events":[{"introduced":"0.10.0"},{"fixed":"0.10.55"}]}]},{"source":"osv","ecosystem":"openEuler:22.03-LTS-SP4","package":"rpm-ostree","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2022.16-11.oe2203sp4"}]}],"bundled":3},{"source":"osv","ecosystem":"crates.io","package":"openssl","ranges":[{"type":"SEMVER","events":[{"introduced":"0.0.0-0"},{"fixed":"0.10.55"}]}]},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"rust-openssl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.10.23-1ubuntu0.1~esm1"}]}],"versions":["0.10.23-1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:22.04:LTS","package":"rust-openssl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.10.36-1ubuntu0.1~esm1"}]}],"versions":["0.10.29-1","0.10.36-1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"rust-openssl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.10.23-1ubuntu0.1~esm1"}]}],"versions":["0.10.23-1"],"bundled":3},{"source":"osv","ecosystem":"Ubuntu:Pro:22.04:LTS","package":"rust-openssl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.10.36-1ubuntu0.1~esm1"}]}],"versions":["0.10.29-1","0.10.36-1"],"bundled":3},{"source":"osv","ecosystem":"Ubuntu:Pro:24.04:LTS","package":"rust-openssl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.10.57-1ubuntu0.1~esm1"}]}],"versions":["0.10.45-1","0.10.57-1"],"bundled":3}],"products":[{"vendor":"openssl","product":"openssl"},{"vendor":"sfackler","product":"openssl"}],"references":[{"url":"https://rustsec.org/advisories/RUSTSEC-2023-0044.html","tags":["Third Party Advisory","advisory","web","report"]},{"url":"https://github.com/sfackler/rust-openssl/issues/1965","tags":["Exploit","Patch","report","web"]},{"url":"https://crates.io/crates/openssl","tags":["Product","web","package","report"]},{"url":"https://github.com/sfackler/rust-openssl/pull/1968","tags":["web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2023-53159","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-xcf7-rvmh-g6q4"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/53xxx/CVE-2023-53159.json","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2023-53159","tags":["advisory"]},{"url":"https://github.com/sfackler/rust-openssl","tags":["package"]},{"url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-2944","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2024-12224","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2025-3416","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2023-53159","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2023-53159","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-7891-1","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2025-3416","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2025-24898","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2023-53159","description":"The openssl crate before 0.10.55 for Rust allows an out-of-bounds read via an empty string to X509VerifyParamRef::set_host.","status":"published","published":"2025-07-28T00:00:00Z","modified":"2025-07-28T13:54:23.689Z","cvss":[{"version":"3.1","score":4.5,"vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:L","level":"medium","assessor":"cna"}],"cwes":["CWE-126"],"updated_at":"2026-11-02T14:35:30.851125Z"}],"euvd":[{"id":"EUVD-2023-59771","description":"The openssl crate before 0.10.55 for Rust allows an out-of-bounds read via an empty string to X509VerifyParamRef::set_host.","status":"published","published":"2025-07-28T00:00:00Z","modified":"2025-07-28T13:54:23Z","cvss":[{"version":"3.1","score":4.5,"vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:L","level":"medium"}],"updated_at":"2026-11-02T20:32:03.907132Z"}],"ghsa":[{"id":"GHSA-xcf7-rvmh-g6q4","title":"`openssl` `X509VerifyParamRef::set_host` buffer over-read","description":"When this function was passed an empty string, `openssl` would attempt to call `strlen` on it, reading arbitrary memory until it reached a NUL byte.","status":"published","published":"2023-06-21T22:07:52Z","modified":"2025-07-28T15:55:01Z","cvss":[{"version":"3.1","score":4.5,"vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:L","level":"medium"}],"cwes":["CWE-126"],"updated_at":"2026-11-02T14:38:51.864708Z"}],"nvd":[{"id":"CVE-2023-53159","description":"The openssl crate before 0.10.55 for Rust allows an out-of-bounds read via an empty string to X509VerifyParamRef::set_host.","status":"published","published":"2025-07-28T03:15:23.193Z","modified":"2026-09-17T16:42:20.21Z","cvss":[{"version":"3.1","score":4.5,"vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:L","level":"medium","assessor":"secondary"},{"version":"3.1","score":3.3,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N","level":"low","assessor":"primary"}],"cwes":["CWE-126"],"updated_at":"2026-11-02T14:09:21.774456Z"}],"osv":[{"id":"CVE-2023-53159","description":"The openssl crate before 0.10.55 for Rust allows an out-of-bounds read via an empty string to X509VerifyParamRef::set_host.","status":"published","published":"2025-07-28T00:00:00Z","modified":"2026-10-28T02:30:36.208281314Z","cvss":[{"version":"3.1","score":4.5,"vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:L","level":"medium"}],"cwes":["CWE-126"],"updated_at":"2026-11-02T15:44:35.70651Z"},{"id":"DEBIAN-CVE-2023-53159","description":"The openssl crate before 0.10.55 for Rust allows an out-of-bounds read via an empty string to X509VerifyParamRef::set_host.","status":"published","published":"2025-07-28T03:15:23.193Z","modified":"2026-10-26T18:02:38.729354788Z","cvss":[{"version":"3.1","score":3.3,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N","level":"low"}],"updated_at":"2026-11-02T15:45:40.889463Z"},{"id":"GHSA-xcf7-rvmh-g6q4","title":"`openssl` `X509VerifyParamRef::set_host` buffer over-read","description":"When this function was passed an empty string, `openssl` would attempt to call `strlen` on it, reading arbitrary memory until it reached a NUL byte.","status":"published","published":"2023-06-21T22:07:52Z","modified":"2026-09-10T03:49:57.114519393Z","cvss":[{"version":"3.1","score":4.5,"vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:L","level":"medium"}],"cwes":["CWE-126"],"updated_at":"2026-11-02T15:46:59.835583Z"},{"id":"OESA-2026-2944","title":"rpm-ostree security update","description":"rpm-ostree is a hybrid image/package system.  It supports \u0026amp;quot;composing\u0026amp;quot; packages on a build server into an OSTree repository, which can then be replicated by client systems with atomic upgrades. Additionally, unlike many \u0026amp;quot;pure\u0026amp;quot; image systems, with rpm-ostree each client system can layer on additional packages, providing a \u0026amp;quot;best of both worlds\u0026amp;quot; approach.\r\n\r\nSecurity Fix(es):\n\nThe openssl crate before 0.10.55 for Rust allows an out-of-bounds read via an empty string to X509VerifyParamRef::set_host.(CVE-2023-53159)\n\nImproper Validation of Unsafe Equivalence in punycode by the idna crate from Servo rust-url allows an attacker to create a punycode hostname that one part of a system might treat as distinct while another part of that system would treat as equivalent to another hostname.(CVE-2024-12224)\n\nA flaw was found in OpenSSL\u0026apos;s handling of the properties argument in certain functions. This vulnerability can allow use-after-free exploitation, which may result in undefined behavior or incorrect property parsing, leading to OpenSSL treating the input as an empty string.(CVE-2025-3416)","status":"published","published":"2026-07-09T11:11:51Z","modified":"2026-08-18T01:21:16.853105916Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H","level":"critical"}],"updated_at":"2026-11-02T15:52:46.823443Z"},{"id":"UBUNTU-CVE-2023-53159","description":"The openssl crate before 0.10.55 for Rust allows an out-of-bounds read via an empty string to X509VerifyParamRef::set_host.","status":"published","published":"2025-07-28T03:15:00Z","modified":"2026-10-27T04:15:24.720150982Z","cvss":[{"version":"3.1","score":4.5,"vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:L","level":"medium"},{"version":"3.1","score":3.3,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N","level":"low"}],"updated_at":"2026-11-02T16:54:32.299999Z"},{"id":"RUSTSEC-2023-0044","title":"`openssl` `X509VerifyParamRef::set_host` buffer over-read","description":"When this function was passed an empty string, `openssl` would attempt to call `strlen` on it, reading arbitrary memory until it reached a NUL byte.","status":"published","published":"2023-06-20T12:00:00Z","modified":"2025-10-28T06:02:18Z","updated_at":"2026-11-02T15:53:39.971022Z"},{"id":"USN-7891-1","title":"rust-openssl vulnerabilities","description":"Matt Mastracci discovered that rust-openssl was incorrectly handling server\nlifetimes in certain functions. An attacker could possibly use this issue\nto cause a denial of service or run arbitrary memory content to the client.\n(CVE-2025-24898)\n\nIt was discovered that rust-openssl was incorrectly handling empty strings\nwhen setting the host in certain functions. An attacker could possibly use\nthis issue to cause a denial of service. This issue only affected\nUbuntu 20.04 LTS and Ubuntu 22.04 LTS. (CVE-2023-53159)\n\nIt was discovered that rust-openssl was incorrectly handling property\narguments in certain functions. An attacker could possibly use this\nissue to cause a denial of service. This issue only affected\nUbuntu 24.04 LTS. (CVE-2025-3416)","status":"published","published":"2025-11-26T12:56:31Z","modified":"2026-10-27T04:16:08.899188778Z","updated_at":"2026-11-02T16:58:21.91885Z"}]}}
