Skip to main content

Zephyr RTOS EUVDEUVD-2026-29033

| CVE-2026-1677 MEDIUM
Selection of Less-Secure Algorithm During Negotiation ('Algorithm Downgrade') (CWE-757)
2026-05-11 vulnerabilities@zephyrproject.org
5.3
CVSS 3.1 · Vendor: zephyrproject
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Send ClientHello with TLS 1.2 and 1.3 support
  2. Delivery
    Respond with ServerHello selecting TLS 1.2
  3. Exploit
    Device accepts downgrade (no minimum version enforcement)
  4. Execution
    Establish TLS 1.2 session
  5. Persist
    Exploit TLS 1.2 vulnerability (POODLE/BEAST/etc.)
  6. Impact
    Extract encrypted data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Algorithm negotiation safety
Exploitation Conditions

Exploitation requires both of the following: (1) Zephyr application creates a socket with IPPROTO_TLS_1_3 and expects TLS 1.3 to be enforced at the protocol level; (2) Zephyr build is configured with both CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y and CONFIG_MBEDTLS_SSL_PROTO_TLS1_3=y in Kconfig. Additionally, the attacker must be a peer (direct or man-in-the-middle) capable of responding to the TLS handshake and selecting TLS 1.2 from the ClientHello. The vulnerability does NOT apply if the Kconfig disables TLS 1.2 (CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=n), or if the application never uses IPPROTO_TLS_1_3, or if the application applies the workaround (restricting TLS_CIPHERSUITE_LIST post-socket-creation). Deployment context: IoT/embedded systems using Zephyr for TLS-protected communication where TLS 1.3 was chosen for security reasons but the build retained TLS 1.2 for compatibility with legacy peers.

Impact

CVSS 5.3 (AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N) indicates a low-complexity network-accessible confidentiality impact. The lack of authentication requirements and low attack complexity reflect that any remote peer can force downgrade. However, CVSS underestimates real-world risk: exploitation requires both a vulnerable Zephyr application AND a peer willing to select TLS 1.2 (typically a man-in-the-middle or passive eavesdropper who can exploit TLS 1.2 weaknesses). The CVSS confidentiality score reflects information disclosure via known TLS 1.2 attacks (e.g., POODLE, BEAST, Lucky13, Heartbleed if applicable). SSVC framing: exploitation status is unconfirmed (no KEV or POC), technical impact is moderate (crypto downgrade), automatable (network-level), affecting systems with Kconfig enabling both TLS versions. This is a design flaw rather than an acute zero-day; impact depends entirely on whether applications rely on IPPROTO_TLS_1_3 to enforce protocol version and whether the deployment environment contains attackers capable of TLS 1.2 exploitation. Organizations using Zephyr with explicit TLS 1.3 enforcement should prioritize patching if TLS 1.2 attacks (e.g., cross-site requests over compromised networks) are in their threat model.

Exploit ScenarioDerived

An attacker on the same network or at a privileged network vantage point (ISP, corporate proxy) intercepts a TLS handshake from a Zephyr device attempting to establish a connection with IPPROTO_TLS_1_3. The attacker acts as a man-in-the-middle, allowing the ClientHello (advertising TLS 1.2 and 1.3) to pass, then responds with a ServerHello selecting TLS 1.2. The device accepts the downgrade because Zephyr did not enforce minimum version at the mbedTLS layer. The attacker can now exploit known TLS 1.2 attacks (e.g., POODLE to decrypt cookies, BEAST to decrypt HTTP content) to extract confidential data from the encrypted session.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – May 11, 2026

Zephyr RTOS sockets created with IPPROTO_TLS_1_3 can negotiate TLS 1.2 connections when both TLS versions are enabled in Kconfig, because socket-level protocol selection is not propagated to mbedTLS's minimum version enforcement. Applications explicitly requesting TLS 1.3 may silently fall back to TLS 1.2, exposing them to known TLS 1.2 weaknesses such as POODLE or truncation attacks. Remote unauthenticated attackers can exploit this via network-level protocol downgrade during the TLS handshake.

RemediationAI

Apply the upstream patch from the Zephyr project repository that propagates socket-level IPPROTO_TLS_1_3 selection to mbedTLS by calling mbedtls_ssl_conf_min_tls_version(conf, MBEDTLS_SSL_VERSION_TLS1_3) before handshake initiation. Check the Zephyr security advisory GHSA-23r2-m5wx-4rvq for patched release versions. As an immediate workaround without patching, applications can restrict the TLS_CIPHERSUITE_LIST socket option to TLS 1.3-only cipher suites using setsockopt(), which forces the peer to negotiate TLS 1.3 or fail the handshake. This workaround has no functional side effects but requires explicit application code changes for each affected socket. Alternatively, disable TLS 1.2 at build time via Kconfig (CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=n) if the deployment does not require backward compatibility; this ensures downgrade is cryptographically impossible. Prioritize patching over Kconfig changes to avoid build-time rigidity in production deployments.

Affected VersionsENISA

Zephyr * ≤4.3

Affected Packages

euvd zephyr no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Zephyr RTOS uses mbedTLS as its underlying TLS/SSL library. When an application creates a socket with IPPROTO_TLS_1_3, Zephyr's socket abstraction layer should enforce TLS 1.3-only negotiation by calling mbedTLS's mbedtls_ssl_conf_min_tls_version() function to set the minimum version to TLS 1.3. However, this propagation does not occur. Instead, the mbedTLS configuration retains its Kconfig-specified defaults, which may include both TLS 1.2 and TLS 1.3. During the TLS handshake, the ClientHello advertises both supported versions, allowing a peer (or attacker) to select TLS 1.2. This violates the application's explicit protocol-level intent and falls under CWE-757 (Selection of Less-Secure Algorithm Before Stronger One). The root cause is incomplete socket option handling in Zephyr's TLS socket implementation.

Know when Zephyr gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (zephyrproject) PRIMARY 5.3 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N

Primary rating from Vendor (zephyrproject) · only source for this CVE.

CVSS VectorVendor: zephyrproject

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
None

DescriptionCVE.org

Zephyr sockets created with IPPROTO_TLS_1_3 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 mbedtls_ssl_conf_min_tls_version). The ClientHello advertises both versions and the peer can establish TLS 1.2, so applications that assumed IPPROTO_TLS_1_3 enforces TLS 1.3 may silently use TLS 1.2 and remain exposed to TLS 1.2-specific weaknesses. As a workaround, the TLS_CIPHERSUITE_LIST socket option can be restricted to TLS 1.3-only cipher suites.

Threat Intelligence Overview

EPSS Score
0.0%
Top 89% exploitable
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.0%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Zephyr

View all
CVE-2023-4260 CRITICAL POC
10.0 Sep 27

Potential off-by-one buffer overflow vulnerability in the Zephyr fuse file system. Rated critical severity (CVSS 10.0),

CVE-2026-1678 CRITICAL POC
9.8 Mar 05

An out-of-bounds write in the Zephyr RTOS DNS resolver (dns_unpack_name()) lets a crafted DNS response corrupt memory on

CVE-2023-5055 CRITICAL POC
9.8 Nov 21

Possible variant of CVE-2021-3434 in function le_ecred_reconf_req. Rated critical severity (CVSS 9.8), this vulnerabilit

CVE-2023-4257 CRITICAL POC
9.8 Oct 13

Unchecked user input length in /subsys/net/l2/wifi/wifi_shell.c can cause buffer overflows. Rated critical severity (CVS

CVE-2023-3725 CRITICAL POC
9.8 Oct 06

Potential buffer overflow vulnerability in the Zephyr CAN bus subsystem. Rated critical severity (CVSS 9.8), this vulner

CVE-2021-3323 CRITICAL POC
9.8 Oct 12

Integer Underflow in 6LoWPAN IPHC Header Uncompression in Zephyr. Rated critical severity (CVSS 9.8), this vulnerability

CVE-2021-3625 CRITICAL POC
9.8 Oct 05

Buffer overflow in Zephyr USB DFU DNLOAD. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable

CVE-2021-3319 CRITICAL POC
9.8 Oct 05

DOS: Incorrect 802154 Frame Validation for Omitted Source / Dest Addresses. Rated critical severity (CVSS 9.8), this vul

CVE-2018-1000800 CRITICAL POC
9.8 Sep 06

zephyr-rtos version 1.12.0 contains a NULL base pointer reference vulnerability in sys_ring_buf_put(), sys_ring_buf_get(

CVE-2023-4264 CRITICAL POC
9.6 Sep 27

Potential buffer overflow vulnerabilities n the Zephyr Bluetooth subsystem. Rated critical severity (CVSS 9.6), this vul

CVE-2024-1638 CRITICAL POC
9.1 Feb 19

The documentation specifies that the BT_GATT_PERM_READ_LESC and BT_GATT_PERM_WRITE_LESC defines for a Bluetooth characte

CVE-2023-5753 HIGH POC
8.8 Oct 25

Potential buffer overflows in the Bluetooth subsystem due to asserts being disabled in /subsys/bluetooth/host/hci_core.c

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy