CVE-2024-13176
Medium · 4.1CVSS
4.1
EPSS
0.6%
Published
Jan 20, 2025
CISA due date
—
Cloudanix analysis
A subtle timing flaw in widely used cryptographic software could let someone physically close to a server steal secret keys for digital signatures, but the attack is extremely difficult in practice and the fix is a routine update.
- Exploitation
- Physical Access
- Attacker needs
- Physical Access
- Complexity
- High
- Impact
- Data Exposure
- Component
- Library
- Class
- Cryptographic Weakness
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Timing side-channel in ECDSA signature computation leaks private key material when the top word of the inverted nonce is zero; affects NIST P-521 curve in FIPS modules and requires either local process access or very low-latency network to observe ~300 ns signal.
Why it matters to the business
Low risk of key compromise in typical deployments because exploitation demands physical proximity or specialized high-speed network conditions; organizations using P-521 in FIPS-validated OpenSSL should still apply the update to eliminate the residual exposure.
How an attack unfolds
An attacker with local access or a very fast network connection triggers repeated ECDSA signatures on the NIST P-521 curve inside an affected OpenSSL FIPS module, measures the 300 ns timing variation when the inverted nonce top word is zero, and uses the collected timing oracle to recover the private key.
How to fix it
Upgrade OpenSSL to the commit 07272b05b04836a762b4baa874958af51d513844 or later; rebuild and redeploy any FIPS modules that incorporate the vulnerable ECDSA code.
How to confirm the fix worked
Confirm the running OpenSSL binary or library reports the patched commit hash; optionally execute P-521 ECDSA signing under a timing profiler to verify absence of the 300 ns signal.
Typical attack path
- Obtain local execution or ultra-low-latency network access to the signing process
- Force the target application to perform ECDSA signatures using the P-521 curve
- Collect high-resolution timing measurements across many signatures
- Statistically analyze the timing signal to reconstruct the private key
How to detect it
Review process execution logs and system call traces for unexpected local processes measuring high-resolution timers during signature operations; network flow data showing sustained ultra-low-latency connections to signing endpoints may also indicate attempted exploitation.
What your security team should do
- Apply the referenced commit to all OpenSSL builds and FIPS modules
- Audit cryptographic configurations for NIST P-521 usage and migrate to unaffected curves where feasible
- Restrict local access to signing processes and monitor for anomalous high-resolution timing probes
The record
Issue summary: A timing side-channel which could potentially allow recovering the private key exists in the ECDSA signature computation. Impact summary: A timing side-channel in ECDSA signature computations could allow recovering the private key by an attacker. However, measuring the timing would require either local access to the signing application or a very fast network connection with low latency. There is a timing signal of around 300 nanoseconds when the top word of the inverted ECDSA nonce value is zero. This can happen with significant probability only for some of the supported elliptic curves. In particular the NIST P-521 curve is affected. To be able to measure this leak, the attacker process must either be located in the same physical computer or must have a very fast network connection with low latency. For that reason the severity of this vulnerability is Low. The FIPS modules in 3.4, 3.3, 3.2, 3.1 and 3.0 are affected by this issue.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:10 | mysql-selinux | 0 | 1.0.14-1.el10_0 |
| AlmaLinux:10 | mysql8.4 | 0 | 8.4.6-2.el10_0 |
| AlmaLinux:10 | mysql8.4-common | 0 | 8.4.6-2.el10_0 |
| AlmaLinux:10 | mysql8.4-devel | 0 | 8.4.6-2.el10_0 |
| AlmaLinux:10 | mysql8.4-errmsg | 0 | 8.4.6-2.el10_0 |
| AlmaLinux:10 | mysql8.4-libs | 0 | 8.4.6-2.el10_0 |
| AlmaLinux:10 | mysql8.4-server | 0 | 8.4.6-2.el10_0 |
| AlmaLinux:10 | mysql8.4-test | 0 | 8.4.6-2.el10_0 |
| AlmaLinux:10 | mysql8.4-test-data | 0 | 8.4.6-2.el10_0 |
| AlmaLinux:9 | mecab | 0 | 0.996-3.module_el9.6.0+152+8cbce00c.4 |
| AlmaLinux:9 | mecab-devel | 0 | 0.996-3.module_el9.6.0+152+8cbce00c.4 |
| AlmaLinux:9 | mecab-ipadic | 0 | 2.7.0.20070801-24.module_el9.6.0+152+8cbce00c |
| AlmaLinux:9 | mecab-ipadic-EUCJP | 0 | 2.7.0.20070801-24.module_el9.6.0+152+8cbce00c |
| AlmaLinux:9 | mysql | 0 | 8.4.6-1.module_el9.6.0+180+a4e757e5 |
| AlmaLinux:9 | mysql-common | 0 | 8.4.6-1.module_el9.6.0+180+a4e757e5 |
| AlmaLinux:9 | mysql-devel | 0 | 8.4.6-1.module_el9.6.0+180+a4e757e5 |
| AlmaLinux:9 | mysql-errmsg | 0 | 8.4.6-1.module_el9.6.0+180+a4e757e5 |
| AlmaLinux:9 | mysql-libs | 0 | 8.4.6-1.module_el9.6.0+180+a4e757e5 |
| AlmaLinux:9 | mysql-server | 0 | 8.4.6-1.module_el9.6.0+180+a4e757e5 |
| AlmaLinux:9 | mysql-test | 0 | 8.4.6-1.module_el9.6.0+180+a4e757e5 |
| AlmaLinux:9 | mysql-test-data | 0 | 8.4.6-1.module_el9.6.0+180+a4e757e5 |
| AlmaLinux:9 | rapidjson-devel | 0 | 1.1.0-19.module_el9.6.0+152+8cbce00c |
| AlmaLinux:9 | rapidjson-doc | 0 | 1.1.0-19.module_el9.6.0+152+8cbce00c |
| Alpine:v3.18 | openssl | 0 | 3.1.8-r0 |
| Alpine:v3.19 | openssl | 0 | 3.1.8-r0 |
| Alpine:v3.20 | openssl | 0 | 3.3.2-r2 |
| Alpine:v3.21 | openssl | 0 | 3.3.2-r5 |
| Alpine:v3.22 | openssl | 0 | 3.3.2-r5 |
| Chainguard | libcrypto3 | 0 | 3.4.0-r6 |
| Chainguard | libssl3 | 0 | 3.4.0-r6 |
| Chainguard | openssl | 0 | 3.4.0-r6 |
| Chainguard | openssl-config | 0 | 3.4.0-r6 |
| Chainguard | openssl-dbg | 0 | 3.4.0-r6 |
| Chainguard | openssl-dev | 0 | 3.4.0-r6 |
| Chainguard | openssl-doc | 0 | 3.4.0-r6 |
| Chainguard | openssl-engine-afalg | 0 | 3.4.0-r6 |
| Chainguard | openssl-engine-capi | 0 | 3.4.0-r6 |
| Chainguard | openssl-engine-loader-attic | 0 | 3.4.0-r6 |
| Chainguard | openssl-engine-padlock | 0 | 3.4.0-r6 |
| Chainguard | openssl-provider-fips | 0 | 3.0.9-r1 |
| Chainguard | openssl-provider-fips-3.1.2 | 0 | 3.4.0-r4 |
| Chainguard | openssl-provider-fips-3.1.2-dbg | 0 | 3.4.0-r4 |
| Chainguard | openssl-provider-fips-3.4.0 | 0 | 3.4.0-r4 |
| Chainguard | openssl-provider-fips-3.4.0-dbg | 0 | 3.4.0-r4 |
| Chainguard | openssl-provider-legacy | 0 | 3.4.0-r6 |
| Debian:11 | openssl | 0 | No fix |
| Debian:12 | openssl | 0 | No fix |
| Debian:13 | openssl | 0 | No fix |
| Debian:13 | openssl | 0 | 3.4.1-1 |
| Mageia:9 | openssl | 0 | 3.0.15-1.2.mga9 |
| Mageia:9 | quictls | 0 | 3.0.15-1.2.mga9 |
| Mageia:9 | quictls | 0 | 3.0.17-1.mga9 |
| SUSE:Enterprise Storage 7.1 | openssl-1_1 | 0 | 1.1.1d-150200.11.100.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | openssl-1_1 | 0 | 1.1.1d-150200.11.100.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | openssl-1_1 | 0 | 1.1.1l-150400.7.78.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | openssl-3 | 0 | 3.0.8-150400.4.72.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | openssl-1_1 | 0 | 1.1.1l-150400.7.78.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | openssl-3 | 0 | 3.0.8-150400.4.72.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS | openssl-1_1 | 0 | 1.1.1l-150500.17.40.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS | openssl-3 | 0 | 3.0.8-150500.5.51.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS | openssl-1_1 | 0 | 1.1.1l-150500.17.40.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS | openssl-3 | 0 | 3.0.8-150500.5.51.1 |
| SUSE:Linux Enterprise Micro 5.1 | openssl-1_1 | 0 | 1.1.1d-150200.11.100.1 |
| SUSE:Linux Enterprise Micro 5.2 | openssl-1_1 | 0 | 1.1.1d-150200.11.100.1 |
| SUSE:Linux Enterprise Micro 5.3 | openssl-1_1 | 0 | 1.1.1l-150400.7.78.1 |
| SUSE:Linux Enterprise Micro 5.3 | openssl-3 | 0 | 3.0.8-150400.4.72.1 |
| SUSE:Linux Enterprise Micro 5.4 | openssl-1_1 | 0 | 1.1.1l-150400.7.78.1 |
| SUSE:Linux Enterprise Micro 5.4 | openssl-3 | 0 | 3.0.8-150400.4.72.1 |
| SUSE:Linux Enterprise Micro 5.5 | openssl-1_1 | 0 | 1.1.1l-150500.17.40.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | openssl-1_1 | 0 | 1.1.1w-150600.5.12.2 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | openssl-3 | 0 | 3.1.4-150600.5.24.1 |
| SUSE:Linux Enterprise Module for Certifications 15 SP7 | openssl-1_1 | 0 | 1.1.1w-150600.5.12.2 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP6 | openssl-1_1 | 0 | 1.1.1w-150600.5.12.2 |
| SUSE:Linux Enterprise Module for Legacy 15 SP6 | openssl-1_1 | 0 | 1.1.1w-150600.5.12.2 |
| SUSE:Linux Enterprise Server 12 SP5-LTSS | openssl-1_1 | 0 | 1.1.1d-2.116.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | openssl-1_1 | 0 | 1.1.1d-150200.11.100.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | openssl-1_1 | 0 | 1.1.1l-150400.7.78.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | openssl-3 | 0 | 3.0.8-150400.4.72.1 |
| SUSE:Linux Enterprise Server 15 SP5-LTSS | openssl-1_1 | 0 | 1.1.1l-150500.17.40.1 |
| SUSE:Linux Enterprise Server 15 SP5-LTSS | openssl-3 | 0 | 3.0.8-150500.5.51.1 |
| SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 | openssl-1_1 | 0 | 1.1.1d-2.116.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | openssl-1_1 | 0 | 1.1.1d-150200.11.100.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | openssl-1_1 | 0 | 1.1.1l-150400.7.78.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | openssl-3 | 0 | 3.0.8-150400.4.72.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP5 | openssl-1_1 | 0 | 1.1.1l-150500.17.40.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP5 | openssl-3 | 0 | 3.0.8-150500.5.51.1 |
| SUSE:Manager Proxy 4.3 | openssl-1_1 | 0 | 1.1.1l-150400.7.78.1 |
| SUSE:Manager Proxy 4.3 | openssl-3 | 0 | 3.0.8-150400.4.72.1 |
| SUSE:Manager Server 4.3 | openssl-1_1 | 0 | 1.1.1l-150400.7.78.1 |
| SUSE:Manager Server 4.3 | openssl-3 | 0 | 3.0.8-150400.4.72.1 |
| Ubuntu:20.04:LTS | edk2 | 0 | No fix |
| Ubuntu:20.04:LTS | openssl | 0 | No fix |
| Ubuntu:20.04:LTS | openssl | 0 | 1.1.1f-1ubuntu2.24 |
| Ubuntu:22.04:LTS | edk2 | 0 | No fix |
| Ubuntu:22.04:LTS | edk2 | 0 | 2022.02-3ubuntu0.22.04.4 |
| Ubuntu:22.04:LTS | nodejs | 0 | No fix |
| Ubuntu:22.04:LTS | openssl | 0 | No fix |
| Ubuntu:22.04:LTS | openssl | 0 | 3.0.2-0ubuntu1.19 |
| Ubuntu:24.04:LTS | edk2 | 0 | No fix |
| Ubuntu:24.04:LTS | edk2 | 0 | 2024.02-2ubuntu0.6 |
| Ubuntu:24.04:LTS | openssl | 0 | No fix |
| Ubuntu:24.04:LTS | openssl | 0 | 3.0.13-0ubuntu3.5 |
| Ubuntu:24.10 | edk2 | 0 | No fix |
| Ubuntu:24.10 | openssl | 0 | No fix |
| Ubuntu:24.10 | openssl | 0 | 3.3.1-2ubuntu2.1 |
| Ubuntu:25.04 | edk2 | 0 | No fix |
| Ubuntu:25.04 | openssl | 0 | 3.4.1-1ubuntu1 |
| Ubuntu:25.10 | edk2 | 0 | 2025.02-8ubuntu3 |
| Ubuntu:Pro:14.04:LTS | openssl | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | edk2 | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | nodejs | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | openssl | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | edk2 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | nodejs | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | openssl | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | openssl1.0 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | edk2 | 0 | No fix |
| Ubuntu:Pro:22.04:LTS | nodejs | 0 | No fix |
| Ubuntu:Pro:FIPS-preview:22.04:LTS | openssl | 0 | No fix |
| Ubuntu:Pro:FIPS-preview:22.04:LTS | openssl-fips | 0 | No fix |
| Ubuntu:Pro:FIPS-updates:18.04:LTS | openssl | 0 | No fix |
| Ubuntu:Pro:FIPS-updates:20.04:LTS | openssl | 0 | No fix |
| Ubuntu:Pro:FIPS-updates:20.04:LTS | openssl | 0 | 1.1.1f-1ubuntu2.fips.24 |
| Ubuntu:Pro:FIPS-updates:22.04:LTS | openssl | 0 | No fix |
| Ubuntu:Pro:FIPS-updates:22.04:LTS | openssl | 0 | 3.0.2-0ubuntu1.19+Fips1 |
| Ubuntu:Pro:FIPS-updates:22.04:LTS | openssl-fips | 0 | No fix |
| Ubuntu:Pro:FIPS-updates:24.04:LTS | openssl-fips | 0 | 3.0.13-0ubuntu3.6+Fips1 |
| Ubuntu:Pro:FIPS:16.04:LTS | openssl | 0 | No fix |
| Ubuntu:Pro:FIPS:18.04:LTS | openssl | 0 | No fix |
| Ubuntu:Pro:FIPS:20.04:LTS | openssl | 0 | No fix |
| Wolfi | libcrypto3 | 0 | 3.4.0-r6 |
| Wolfi | libssl3 | 0 | 3.4.0-r6 |
| Wolfi | openssl | 0 | 3.4.0-r6 |
| Wolfi | openssl-config | 0 | 3.4.0-r6 |
| Wolfi | openssl-dbg | 0 | 3.4.0-r6 |
| Wolfi | openssl-dev | 0 | 3.4.0-r6 |
| Wolfi | openssl-doc | 0 | 3.4.0-r6 |
| Wolfi | openssl-engine-afalg | 0 | 3.4.0-r6 |
| Wolfi | openssl-engine-capi | 0 | 3.4.0-r6 |
| Wolfi | openssl-engine-loader-attic | 0 | 3.4.0-r6 |
| Wolfi | openssl-engine-padlock | 0 | 3.4.0-r6 |
| Wolfi | openssl-provider-legacy | 0 | 3.4.0-r6 |
| openSUSE:Leap 15.6 | openssl-1_1 | 0 | 1.1.1w-150600.5.12.2 |
| openSUSE:Leap 15.6 | openssl-3 | 0 | 3.1.4-150600.5.24.1 |
| openSUSE:Tumbleweed | openssl-3 | 0 | 3.2.3-4.1 |
Related vulnerabilities
- CVE-2025-21555 Vulnerability in the MySQL Server product of Oracle MySQL (component: InnoDB). Also affects mysql
- CVE-2025-21559 Vulnerability in the MySQL Server product of Oracle MySQL (component: InnoDB). Also affects mysql
- CVE-2025-21540 Vulnerability in the MySQL Server product of Oracle MySQL (component: Server: Security… Also affects mysql
- CVE-2025-21546 Vulnerability in the MySQL Server product of Oracle MySQL (component: Server: Security… Also affects mysql
- CVE-2025-21543 Vulnerability in the MySQL Server product of Oracle MySQL (component: Server: Packaging). Also affects mysql
- CVE-2025-21534 Vulnerability in the MySQL Server product of Oracle MySQL (component: Server: Performance… Also affects mysql
- CVE-2025-21536 Vulnerability in the MySQL Server product of Oracle MySQL (component: Server: Optimizer). Also affects mysql
- CVE-2025-21525 Vulnerability in the MySQL Server product of Oracle MySQL (component: Server: DDL). Also affects mysql