CVE-2023-52353 is a high severity (7.5) flaw in Mbed TLS through 3.5.1. When a session is reset, the maximum negotiable TLS version is mishandled, so an earlier TLS 1.2 connection can cap later ones. The maintainers say the fix shipped in Mbed TLS 3.6, so upgrade to it.
What's affected
NVD lists Mbed TLS through 3.5.1. In the project issue 8654, a maintainer confirms the bug was still present in 3.5 and that the fix was released in Mbed TLS v3.6, through the merge of a change titled "Reset properly the TLS maximum negotiable version" on 9 February 2024.
The function involved is mbedtls_ssl_session_reset. The server example program resets the SSL context between connections with it, and a maintainer notes that the maximum negotiable version is not reset properly: if the last connection negotiated TLS 1.2, that becomes the new maximum.
Weakness class: CWE-384.
Severity differs in tone. NVD scores it 7.5 with an integrity impact (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N). The project treats it as a bug in version handling: in the original report a client asking for TLS 1.3 was refused after an earlier TLS 1.2 connection to the same server process. I did not find a project security advisory, so I cannot give you the maintainers' own severity.
How to check if you're exposed
Find which Mbed TLS version your product links against. For system packages:
dpkg -l | grep -i mbedtls
rpm -qa | grep -i mbedtls
For source builds, read the version macros in include/mbedtls/build_info.h. For vendored copies inside a firmware or application tree, search for that header. You can run a free in-browser dependency scan at gold.safeguard.sh/scan to see which of your projects pull this component in, directly or through another package.
What to do now
- Upgrade to Mbed TLS 3.6 or later, or a vendor build that states it includes this fix.
- If your server code reuses an SSL context across connections, review how it calls the session reset function.
- Ask embedded and firmware suppliers whether their builds are based on 3.5.1 or earlier.
- Retest TLS 1.3 clients against a long running server after the upgrade.
Why it matters
The weakness is a state handling error. When a context is reused, one connection's result leaks into the next. That is why NVD files it under session fixation, although the issue thread describes a version negotiation bug and not a session hijack.
In practice it matters most for long running servers built on Mbed TLS that reuse contexts. The CVE is not in the CISA Known Exploited Vulnerabilities catalog per the record.
Quick check
Which version fixes CVE-2023-52353?
A maintainer comment on the project issue says the fix was released in Mbed TLS v3.6.
Is this a downgrade attack?
The NVD wording says the maximum version is mishandled. The project issue shows the visible effect as a TLS 1.3 client being refused after TLS 1.2 use. I would not claim more than that.
Sources
Last reviewed: 19 October 2026.