CVE-2026-1677: net: TLS 1.2 connections allowed on TLS 1.3 sockets
Zephyr sockets created with IPPROTOTLS13 can still negotiate a TLS 1.2 connection when both TLS versions are enabled in Kconfig, because the socket-level protocol selection is not propagated to mbedTLS (e.g. via mbedtlssslconfmintlsversion). The ClientHello advertises both versions and the peer can establish TLS 1.2, so applications that assumed IPPROTOTLS13 enforces TLS 1.3 may silently use TLS 1.2 and remain exposed to TLS 1.2-specific weaknesses. As a workaround, the TLSCIPHERSUITELIST socket option can be restricted to TLS 1.3-only cipher suites.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Configuration
Restrict the TLS_CIPHERSUITE_LIST socket option to TLS 1.3-only cipher suites as a workaround.
Zephyr sockets (TLS) TLS_CIPHERSUITE_LIST (socket option) = TLS 1.3-only cipher suites - Configuration
If Zephyr sockets created with IPPROTO_TLS_1_3 still negotiate TLS 1.2 when both TLS versions are enabled in Kconfig, ensure mbedTLS is configured to not allow TLS 1.2 by setting mbedtls_ssl_conf_min_tls_version to TLS 1.3.
mbedTLS (min TLS version) mbedtls_ssl_conf_min_tls_version = TLS 1.3
Event History
Frequently Asked Questions
What is the severity of CVE-2026-1677?
CVE-2026-1677 has a high severity due to the risk of falling back to the less secure TLS 1.2 protocol.
How do I fix CVE-2026-1677?
To fix CVE-2026-1677, ensure that only TLS 1.3 is enabled in your Kconfig settings and recompile your application.
What types of systems are affected by CVE-2026-1677?
CVE-2026-1677 affects systems using the Zephyr Project Zephyr that allow both TLS 1.2 and TLS 1.3 protocols.
What are the potential impacts of CVE-2026-1677?
The potential impacts of CVE-2026-1677 include exposure to downgrade attacks and vulnerabilities associated with TLS 1.2.
Is there a workaround for CVE-2026-1677?
A workaround for CVE-2026-1677 is to configure your application to disable TLS 1.2 while maintaining TLS 1.3 settings in the Kconfig.