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.
{ "vanir_signatures": [ { "id": "CVE-2024-13176-02b65757", "digest": { "line_hashes": [ "127754948284799574646612715291914192370", "107633108841617456827974748623002941", "105128839132312456559305794417964519678", "220978175685594651981552750147750539139", "169600024918161393316340193772684852098", "117654638435679831764459313705877108896", "23928219980244535399498129546065066676", "293745726617568990317434370779477363519" ], "threshold": 0.9 }, "source": "https://github.com/openssl/openssl/commit/4b1cb94a734a7d4ec363ac0a215a25c181e11f65", "signature_version": "v1", "target": { "file": "crypto/ec/ec_lib.c" }, "deprecated": false, "signature_type": "Line" }, { "id": "CVE-2024-13176-1033742d", "digest": { "length": 11318.0, "function_hash": "209975814518152852375258448294589197529" }, "source": "https://github.com/openssl/openssl/commit/4b1cb94a734a7d4ec363ac0a215a25c181e11f65", "signature_version": "v1", "target": { "function": "BN_mod_exp_mont_consttime", "file": "crypto/bn/bn_exp.c" }, "deprecated": false, "signature_type": "Function" }, { "id": "CVE-2024-13176-17ac49d3", "digest": { "line_hashes": [ "173589800300154267675612065402467888493", "129405406525769322493076198728768900113", "136800792888609131789496600562783967119", "159174750777734389295701369864010049181", "158807332022056555706233351020895631932", "81659307983826938737211959800551987670", "65661878801926066286695416919387343632", "331146051454193067843509155410151830908", "106927928807750830570996030094648112881", "246702777271085149088970109591189963124", "13553649955201634036089378149381067019", "48764857157202029741626741483796973376", "50856018716436605684813922551136358229", "334002642869357515784447868384854133811", "63758175942037580590598196895455058189", "191064388880109290899961512230526792681", "25026424422371339317817700797451463299" ], "threshold": 0.9 }, "source": "https://github.com/openssl/openssl/commit/4b1cb94a734a7d4ec363ac0a215a25c181e11f65", "signature_version": "v1", "target": { "file": "crypto/bn/bn_exp.c" }, "deprecated": false, "signature_type": "Line" }, { "id": "CVE-2024-13176-23514e34", "digest": { "length": 11318.0, "function_hash": "209975814518152852375258448294589197529" }, "source": "https://github.com/openssl/openssl/commit/392dcb336405a0c94486aa6655057f59fd3a0902", "signature_version": "v1", "target": { "function": "BN_mod_exp_mont_consttime", "file": "crypto/bn/bn_exp.c" }, "deprecated": false, "signature_type": "Function" }, { "id": "CVE-2024-13176-2d5a8353", "digest": { "line_hashes": [ "173589800300154267675612065402467888493", "129405406525769322493076198728768900113", "136800792888609131789496600562783967119", "159174750777734389295701369864010049181", "158807332022056555706233351020895631932", "81659307983826938737211959800551987670", "65661878801926066286695416919387343632", "331146051454193067843509155410151830908", "106927928807750830570996030094648112881", "246702777271085149088970109591189963124", "13553649955201634036089378149381067019", "48764857157202029741626741483796973376", "50856018716436605684813922551136358229", "334002642869357515784447868384854133811", "63758175942037580590598196895455058189", "191064388880109290899961512230526792681", "25026424422371339317817700797451463299" ], "threshold": 0.9 }, "source": "https://github.com/openssl/openssl/commit/392dcb336405a0c94486aa6655057f59fd3a0902", "signature_version": "v1", "target": { "file": "crypto/bn/bn_exp.c" }, "deprecated": false, "signature_type": "Line" }, { "id": "CVE-2024-13176-37feae62", "digest": { "line_hashes": [ "251324203488872817167019601435108299733", "40806596891362736307168808995206433787", "112583956667954258596531188879431655895", "138582937579070891515807629355127583885" ], "threshold": 0.9 }, "source": "https://github.com/openssl/openssl/commit/2af62e74fb59bc469506bc37eb2990ea408d9467", "signature_version": "v1", "target": { "file": "include/crypto/bn.h" }, "deprecated": false, "signature_type": "Line" }, { "id": "CVE-2024-13176-3e8d1eb9", "digest": { "line_hashes": [ "127754948284799574646612715291914192370", "107633108841617456827974748623002941", "105128839132312456559305794417964519678", "220978175685594651981552750147750539139", "169600024918161393316340193772684852098", "117654638435679831764459313705877108896", "23928219980244535399498129546065066676", "293745726617568990317434370779477363519" ], "threshold": 0.9 }, "source": "https://github.com/openssl/openssl/commit/77c608f4c8857e63e98e66444e2e761c9627916f", "signature_version": "v1", "target": { "file": "crypto/ec/ec_lib.c" }, "deprecated": false, "signature_type": "Line" }, { "id": "CVE-2024-13176-3f42d259", "digest": { "line_hashes": [ "251324203488872817167019601435108299733", "40806596891362736307168808995206433787", "112583956667954258596531188879431655895", "138582937579070891515807629355127583885" ], "threshold": 0.9 }, "source": "https://github.com/openssl/openssl/commit/4b1cb94a734a7d4ec363ac0a215a25c181e11f65", "signature_version": "v1", "target": { "file": "include/crypto/bn.h" }, "deprecated": false, "signature_type": "Line" }, { "id": "CVE-2024-13176-4140486d", "digest": { "line_hashes": [ "173589800300154267675612065402467888493", "129405406525769322493076198728768900113", "136800792888609131789496600562783967119", "159174750777734389295701369864010049181", "158807332022056555706233351020895631932", "81659307983826938737211959800551987670", "65661878801926066286695416919387343632", "331146051454193067843509155410151830908", "106927928807750830570996030094648112881", "246702777271085149088970109591189963124", "13553649955201634036089378149381067019", "48764857157202029741626741483796973376", "50856018716436605684813922551136358229", "334002642869357515784447868384854133811", "63758175942037580590598196895455058189", "191064388880109290899961512230526792681", "25026424422371339317817700797451463299" ], "threshold": 0.9 }, "source": "https://github.com/openssl/openssl/commit/07272b05b04836a762b4baa874958af51d513844", "signature_version": "v1", "target": { "file": "crypto/bn/bn_exp.c" }, "deprecated": false, "signature_type": "Line" }, { "id": "CVE-2024-13176-48367449", "digest": { "line_hashes": [ "251324203488872817167019601435108299733", "40806596891362736307168808995206433787", "112583956667954258596531188879431655895", "138582937579070891515807629355127583885" ], "threshold": 0.9 }, "source": "https://github.com/openssl/openssl/commit/07272b05b04836a762b4baa874958af51d513844", "signature_version": "v1", "target": { "file": "include/crypto/bn.h" }, "deprecated": false, "signature_type": "Line" }, { "id": "CVE-2024-13176-619982cd", "digest": { "line_hashes": [ "173589800300154267675612065402467888493", "129405406525769322493076198728768900113", "136800792888609131789496600562783967119", "159174750777734389295701369864010049181", "158807332022056555706233351020895631932", "81659307983826938737211959800551987670", "65661878801926066286695416919387343632", "331146051454193067843509155410151830908", "106927928807750830570996030094648112881", "246702777271085149088970109591189963124", "13553649955201634036089378149381067019", "48764857157202029741626741483796973376", "50856018716436605684813922551136358229", "334002642869357515784447868384854133811", "63758175942037580590598196895455058189", "191064388880109290899961512230526792681", "25026424422371339317817700797451463299" ], "threshold": 0.9 }, "source": "https://github.com/openssl/openssl/commit/77c608f4c8857e63e98e66444e2e761c9627916f", "signature_version": "v1", "target": { "file": "crypto/bn/bn_exp.c" }, "deprecated": false, "signature_type": "Line" }, { "id": "CVE-2024-13176-75a092d4", "digest": { "line_hashes": [ "251324203488872817167019601435108299733", "40806596891362736307168808995206433787", "112583956667954258596531188879431655895", "138582937579070891515807629355127583885" ], "threshold": 0.9 }, "source": "https://github.com/openssl/openssl/commit/77c608f4c8857e63e98e66444e2e761c9627916f", "signature_version": "v1", "target": { "file": "include/crypto/bn.h" }, "deprecated": false, "signature_type": "Line" }, { "id": "CVE-2024-13176-948094f9", "digest": { "line_hashes": [ "251324203488872817167019601435108299733", "40806596891362736307168808995206433787", "112583956667954258596531188879431655895", "138582937579070891515807629355127583885" ], "threshold": 0.9 }, "source": "https://github.com/openssl/openssl/commit/392dcb336405a0c94486aa6655057f59fd3a0902", "signature_version": "v1", "target": { "file": "include/crypto/bn.h" }, "deprecated": false, "signature_type": "Line" }, { "id": "CVE-2024-13176-952fba80", "digest": { "length": 11318.0, "function_hash": "209975814518152852375258448294589197529" }, "source": "https://github.com/openssl/openssl/commit/77c608f4c8857e63e98e66444e2e761c9627916f", "signature_version": "v1", "target": { "function": "BN_mod_exp_mont_consttime", "file": "crypto/bn/bn_exp.c" }, "deprecated": false, "signature_type": "Function" }, { "id": "CVE-2024-13176-9eef3609", "digest": { "length": 11318.0, "function_hash": "209975814518152852375258448294589197529" }, "source": "https://github.com/openssl/openssl/commit/07272b05b04836a762b4baa874958af51d513844", "signature_version": "v1", "target": { "function": "BN_mod_exp_mont_consttime", "file": "crypto/bn/bn_exp.c" }, "deprecated": false, "signature_type": "Function" }, { "id": "CVE-2024-13176-b885df34", "digest": { "line_hashes": [ "332405531834258800453855045674511600246", "158343597431739389122396850815921490520", "3701881040623673446980161294049765680", "220978175685594651981552750147750539139", "169600024918161393316340193772684852098", "117654638435679831764459313705877108896", "23928219980244535399498129546065066676", "293745726617568990317434370779477363519" ], "threshold": 0.9 }, "source": "https://github.com/openssl/openssl/commit/07272b05b04836a762b4baa874958af51d513844", "signature_version": "v1", "target": { "file": "crypto/ec/ec_lib.c" }, "deprecated": false, "signature_type": "Line" }, { "id": "CVE-2024-13176-cd7ba068", "digest": { "length": 11318.0, "function_hash": "209975814518152852375258448294589197529" }, "source": "https://github.com/openssl/openssl/commit/2af62e74fb59bc469506bc37eb2990ea408d9467", "signature_version": "v1", "target": { "function": "BN_mod_exp_mont_consttime", "file": "crypto/bn/bn_exp.c" }, "deprecated": false, "signature_type": "Function" }, { "id": "CVE-2024-13176-d57277e7", "digest": { "line_hashes": [ "173589800300154267675612065402467888493", "129405406525769322493076198728768900113", "136800792888609131789496600562783967119", "159174750777734389295701369864010049181", "158807332022056555706233351020895631932", "81659307983826938737211959800551987670", "65661878801926066286695416919387343632", "331146051454193067843509155410151830908", "106927928807750830570996030094648112881", "246702777271085149088970109591189963124", "13553649955201634036089378149381067019", "48764857157202029741626741483796973376", "50856018716436605684813922551136358229", "334002642869357515784447868384854133811", "63758175942037580590598196895455058189", "191064388880109290899961512230526792681", "25026424422371339317817700797451463299" ], "threshold": 0.9 }, "source": "https://github.com/openssl/openssl/commit/2af62e74fb59bc469506bc37eb2990ea408d9467", "signature_version": "v1", "target": { "file": "crypto/bn/bn_exp.c" }, "deprecated": false, "signature_type": "Line" }, { "id": "CVE-2024-13176-f39a6b13", "digest": { "line_hashes": [ "127754948284799574646612715291914192370", "107633108841617456827974748623002941", "105128839132312456559305794417964519678", "220978175685594651981552750147750539139", "169600024918161393316340193772684852098", "117654638435679831764459313705877108896", "23928219980244535399498129546065066676", "293745726617568990317434370779477363519" ], "threshold": 0.9 }, "source": "https://github.com/openssl/openssl/commit/392dcb336405a0c94486aa6655057f59fd3a0902", "signature_version": "v1", "target": { "file": "crypto/ec/ec_lib.c" }, "deprecated": false, "signature_type": "Line" }, { "id": "CVE-2024-13176-fe59c5b4", "digest": { "line_hashes": [ "332405531834258800453855045674511600246", "158343597431739389122396850815921490520", "3701881040623673446980161294049765680", "220978175685594651981552750147750539139", "169600024918161393316340193772684852098", "117654638435679831764459313705877108896", "23928219980244535399498129546065066676", "293745726617568990317434370779477363519" ], "threshold": 0.9 }, "source": "https://github.com/openssl/openssl/commit/2af62e74fb59bc469506bc37eb2990ea408d9467", "signature_version": "v1", "target": { "file": "crypto/ec/ec_lib.c" }, "deprecated": false, "signature_type": "Line" } ] }