Cloudanix VulnDB

CVE-2024-28836

Medium · 5.4

CVSS

5.4

EPSS

0.4%

Published

Apr 3, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A flaw in certain versions of a widely used encryption library can let an attacker either crash the service or force it to use an older, less secure connection method.

Exploitation
Remote Authenticated
Attacker needs
Low Privilege
Complexity
Low
Impact
Denial Of Service
Component
Library
Class
Denial of service
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Server-side TLS version negotiation in Mbed TLS 3.5.x falls back to a disabled TLS 1.2 implementation, allowing a TLS 1.2 ClientHello to trigger an infinite loop (when TLS 1.2 disabled at build time) or establish a downgraded TLS 1.2 session (when disabled at runtime).

Why it matters to the business

Services relying on Mbed TLS for TLS 1.3-only operation can experience denial of service or unintended exposure to weaker protocol versions, leading to availability loss and potential security posture degradation.

How an attack unfolds

An attacker connects to a vulnerable server and sends a TLS 1.2 ClientHello; the server incorrectly processes the message under the disabled TLS 1.2 code path, either looping indefinitely or completing a downgraded handshake.

How to fix it

Upgrade Mbed TLS to the fixed commit 2ca6c285a0dd3f33982dd57299012dacab1ff206 (equivalent to 3.6.0) or later; rebuild and redeploy all affected binaries.

How to confirm the fix worked

Confirm the library version reports 3.6.0 or newer; perform functional testing by sending TLS 1.2 ClientHello packets and verifying the server rejects them without looping or accepting the connection.

Typical attack path

  1. Scan for services advertising TLS 1.3 support but using Mbed TLS 3.5.x
  2. Send a TLS 1.2 ClientHello packet to the target server
  3. Observe server entering infinite loop (DoS) or accepting the downgraded TLS 1.2 session

How to detect it

Monitor process CPU usage and connection handling logs for sustained high utilization after TLS handshakes; inspect server logs for unexpected TLS 1.2 negotiation attempts or fallback messages.

What your security team should do

  • Prioritize upgrade of all Mbed TLS instances to the fixed commit within normal change windows
  • Audit build and runtime configuration to ensure only intended TLS versions are enabled
  • Add version checks for Mbed TLS to dependency scanning pipelines

The record

An issue was discovered in Mbed TLS 3.5.x before 3.6.0. When negotiating the TLS version on the server side, it can fall back to the TLS 1.2 implementation of the protocol if it is disabled. If the TLS 1.2 implementation was disabled at build time, a TLS 1.2 client could put a TLS 1.3-only server into an infinite loop processing a TLS 1.2 ClientHello, resulting in a denial of service. If the TLS 1.2 implementation was disabled at runtime, a TLS 1.2 client can successfully establish a TLS 1.2 connection with the server.

Affected packages

Ecosystem Package Introduced Fixed
Ubuntu:20.04:LTS mbedtls 0 No fix
Ubuntu:22.04:LTS mbedtls 0 No fix
Ubuntu:24.04:LTS mbedtls 0 No fix
Ubuntu:24.10 mbedtls 0 No fix
Ubuntu:25.04 mbedtls 0 No fix
Ubuntu:Pro:16.04:LTS mbedtls 0 No fix
Ubuntu:Pro:18.04:LTS mbedtls 0 No fix
Ubuntu:Pro:20.04:LTS mbedtls 0 No fix

Related vulnerabilities