FedoraOperating system · Fedoraproject

CVE-2020-16150

MEDIUM · 5.5 CVSS v3.1 Published 2020-09-02
Fix available
A fix is available. Upgrade to 2.7.17 / 2.16.8 or later.
See remediation →
57/100
Remediation priority · Elevated
Zero-click

Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.

NVD · unedited
A Lucky 13 timing side channel in mbedtls_ssl_decrypt_buf in library/ssl_msg.c in Trusted Firmware Mbed TLS through 2.23.0 allows an attacker to recover secret key information. This affects CBC mode because of a computed time difference based on a padding length.

Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.

dbcve analysis · moderate confidence

A Lucky 13 timing side-channel vulnerability in mbedtls_ssl_decrypt_buf in library/ssl_msg.c allows attackers to recover secret key information through timing differences based on CBC padding length. The vulnerability affects Mbed TLS versions through 2.23.0.

MitigationUpgrade to Mbed TLS version 2.23.1 or later which contains the patch for the timing side channel, or implement constant-time decryption operations in the CBC mode handling.

Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.

Affected products & versions What the vendor confirmedThe version ranges the vendor confirmed as vulnerable. If your version sits inside a range here, treat yourself as exposed until you have upgraded.

NVD · CPE data
FedoraOperating system
Affected:= 31= 32= 33
Debian LinuxOperating system
Affected:= 10.0
Mbed TlsApplication
Affected:< 2.7.17>= 2.8.0, < 2.16.8>= 2.17.0, < 2.24.0

CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.

From the vector
Attack vector
Local
Complexity
Low
Privileges
Low
User interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N

Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.

dbcve checks

Work through these to decide whether this CVE applies to you.

  1. Identify Mbed TLS library version
    Locate and inspect the Mbed TLS library files on the system. On Debian/Ubuntu, check /usr/lib/x86_64-linux-gnu/libmbed* or run dpkg -l | grep mbedtls. On Fedora/RHEL, check /usr/lib64/libmbed* or run rpm -qa | grep mbedtls. Look for version strings in the library binary or associated package metadata.
    Affected if The installed version is 2.23.0 or earlier, or falls within the ranges < 2.7.17, >= 2.8.0 and < 2.16.8, or >= 2.17.0 and < 2.24.0.
  2. Confirm CBC cipher suite support
    Review the Mbed TLS configuration file (mbedtls_config.h) or the compiled library configuration. Look for enabled CBC-mode cipher suites (such as TLS_RSA_WITH_AES_128_CBC_SHA or similar AES-CBC suites) in the SSL/TLS configuration.
    Affected if CBC-mode cipher suites are enabled and available for use in SSL/TLS connections.
  3. Verify vulnerable code path exists
    Inspect the library/ssl_msg.c source file or the compiled library binary for the mbedtls_ssl_decrypt_buf function. Check whether the function contains the timing-sensitive CBC padding validation logic that compares padding length without constant-time guarantees.
    Affected if The mbedtls_ssl_decrypt_buf function is present and contains the non-constant-time CBC padding length handling code.
  4. Check SSL/TLS service configuration
    If the system runs an SSL/TLS service using Mbed TLS (such as a web server or VPN daemon), examine the service configuration to determine which cipher suites are advertised or enabled. Identify if CBC-based cipher suites are permitted.
    Affected if The SSL/TLS service is configured to allow CBC-mode cipher suites for client or server connections.

A system is affected if it runs a version of Mbed TLS within the vulnerable version ranges AND has CBC-mode cipher suites enabled in the library or SSL/TLS service configuration.

Generated from the published advisory. Verify against your own configuration.

Check your environment

Paste your version and any relevant configuration and it will be compared against the affected criteria above. Do not include secrets or credentials.

AI-assisted, checked against the advisory. Informational, not a guarantee.

Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.

From vendor data
Upgrade available Upgrade to 2.7.17 / 2.16.8 / 2.24.0 or later
Fixed in 2.7.172.16.82.24.0
Interim mitigation

Upgrade to Mbed TLS version 2.23.1 or later which contains the patch for the timing side channel, or implement constant-time decryption operations in the CBC mode handling.

Fix this in Fedora Scoped from the published advisory
  • Consultation6.0 h
  • Implementation12.0 h
  • Testing10.0 h
  • Review / QA6.0 h
34.0 hours of engineering $5,940
Get the upgrade done

An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $9,504.

Scan for this in your stack

Free · runs locally
dbcve dependency scanner

Check whether your project pulls in CVE-2020-16150 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.

References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.

Primary sources

Practitioner notes

Contributed

Peer-ranked notes from engineers who’ve handled CVE-2020-16150 in production — separate from our analysis above.

No notes yet

Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.

What this is

A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.

What belongs here
  • Verified mitigations, workarounds, and config changes
  • Version or environment caveats, and links to real fixes
  • No weaponised exploit code, or anything meant to cause harm
  • No spam, self-promotion, credentials, or personal data