{"id":"RUSTSEC-2026-0285","revision":"9534a14f85dc4fa399629e190e00dde2","records":[{"revision":"9534a14f85dc4fa399629e190e00dde2","observedAt":"2026-10-24T13:19:54.901+00:00","statement":{"source":"osv","id":"RUSTSEC-2026-0285","aliases":["GHSA-2mjx-qc3c-rqvc"],"title":"TLS 1.3 handshake messages incorrectly accepted across encryption level boundaries","description":"Rustls accepted TLS 1.3 handshake messages sent at the wrong encryption level\nwhen they followed a key-changing message in the same record. For example,\na plaintext `EncryptedExtensions` message packed into the same record as the\n`ServerHello` was accepted.\n\nRFC 8446 section 5.1 requires that handshake messages do not span key changes,\nand that implementations terminate the connection with an \"unexpected_message\"\nalert if they do.\n\nThe handshake transcript is still authenticated, so a network-position attacker\ncannot use this to alter or complete a handshake; the practical effect is that\na peer could send handshake messages that should be encrypted in plaintext\nwithout rustls rejecting the connection.\n\nThis is functionally the same bug as Go's\n[GO-2026-4340](https://pkg.go.dev/vuln/GO-2026-4340) (CVE-2025-61730).","state":0,"publishedAt":"2026-09-14T12:00:00+00:00","modifiedAt":"2026-10-12T18:00:10.9449583+00:00","affected":[{"ecosystem":"crates.io","name":"rustls","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"0.23.13"},{"kind":"fixed","version":"0.23.45"}]}],"versions":[],"rawVersionEvidence":null}],"metrics":[{"system":"CVSS_V3","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","score":null,"severity":null}],"references":["https://crates.io/crates/rustls","https://rustsec.org/advisories/RUSTSEC-2026-0285.html","https://github.com/rustls/rustls/pull/3265"],"sourceUrl":"https://osv.dev/vulnerability/RUSTSEC-2026-0285","license":"OSV · upstream source license applies","key":"osv:RUSTSEC-2026-0285","identifiers":["RUSTSEC-2026-0285","GHSA-2mjx-qc3c-rqvc"]},"retained":false,"historicalAffected":[]}],"coverage":[]}