GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

FKIE_CVE-2024-1544

Vulnerability from fkie_nvd - Published: 2024-08-27 19:15 - Updated: 2026-06-17 07:04
Summary
Generating the ECDSA nonce k samples a random number r and then truncates this randomness with a modular reduction mod n where n is the order of the elliptic curve. Meaning k = r mod n. The division used during the reduction estimates a factor q_e by dividing the upper two digits (a digit having e.g. a size of 8 byte) of r by the upper digit of n and then decrements q_e in a loop until it has the correct size. Observing the number of times q_e is decremented through a control-flow revealing side-channel reveals a bias in the most significant bits of k. Depending on the curve this is either a negligible bias or a significant bias large enough to reconstruct k with lattice reduction methods. For SECP160R1, e.g., we find a bias of 15 bits.
Impacted products
Vendor Product Version
wolfssl wolfssl *

{
  "affected": [
    {
      "affectedData": [
        {
          "defaultStatus": "unknown",
          "product": "wolfSSL",
          "programFiles": [
            "wolfcrypt/src/ecc.c"
          ],
          "vendor": "wolfSSL",
          "versions": [
            {
              "lessThanOrEqual": "5.6.4",
              "status": "affected",
              "version": "0",
              "versionType": "Release"
            }
          ]
        }
      ],
      "source": "facts@wolfssl.com"
    }
  ],
  "configurations": [
    {
      "nodes": [
        {
          "cpeMatch": [
            {
              "criteria": "cpe:2.3:a:wolfssl:wolfssl:*:*:*:*:*:*:*:*",
              "matchCriteriaId": "F0F4729E-754A-4CB1-A77D-1E1E97F0F69B",
              "versionEndExcluding": "5.7.2",
              "vulnerable": true
            }
          ],
          "negate": false,
          "operator": "OR"
        }
      ]
    }
  ],
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "Generating the ECDSA nonce k samples a random number r and then \ntruncates this randomness with a modular reduction mod n where n is the \norder of the elliptic curve. Meaning k = r mod n. The division used \nduring the reduction estimates a factor q_e by dividing the upper two \ndigits (a digit having e.g. a size of 8 byte) of r by the upper digit of \nn and then decrements q_e in a loop until it has the correct size. \nObserving the number of times q_e is decremented through a control-flow \nrevealing side-channel reveals a bias in the most significant bits of \nk. Depending on the curve this is either a negligible bias or a \nsignificant bias large enough to reconstruct k with lattice reduction \nmethods. For SECP160R1, e.g., we find a bias of 15 bits."
    },
    {
      "lang": "es",
      "value": "Generar el nonce k ECDSA muestra un n\u00famero aleatorio r y luego trunca esta aleatoriedad con una reducci\u00f3n modular mod n donde n es el orden de la curva el\u00edptica. Significado k = r mod n. La divisi\u00f3n utilizada durante la reducci\u00f3n estima un factor q_e dividiendo los dos d\u00edgitos superiores (un d\u00edgito que tiene, por ejemplo, un tama\u00f1o de 8 bytes) de r por el d\u00edgito superior de n y luego disminuye q_e en un bucle hasta que tenga el tama\u00f1o correcto. Observar el n\u00famero de veces que q_e disminuye a trav\u00e9s de un canal lateral revelador de flujo de control revela un sesgo en los bits m\u00e1s significativos de k. Dependiendo de la curva, esto es un sesgo insignificante o un sesgo significativo lo suficientemente grande como para reconstruir k con m\u00e9todos de reducci\u00f3n de celos\u00eda. Para SECP160R1, por ejemplo, encontramos un sesgo de 15 bits."
    }
  ],
  "id": "CVE-2024-1544",
  "lastModified": "2026-06-17T07:04:27.800",
  "metrics": {
    "cvssMetricV31": [
      {
        "cvssData": {
          "attackComplexity": "HIGH",
          "attackVector": "LOCAL",
          "availabilityImpact": "NONE",
          "baseScore": 4.1,
          "baseSeverity": "MEDIUM",
          "confidentialityImpact": "HIGH",
          "integrityImpact": "NONE",
          "privilegesRequired": "HIGH",
          "scope": "UNCHANGED",
          "userInteraction": "NONE",
          "vectorString": "CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:N",
          "version": "3.1"
        },
        "exploitabilityScore": 0.5,
        "impactScore": 3.6,
        "source": "facts@wolfssl.com",
        "type": "Secondary"
      },
      {
        "cvssData": {
          "attackComplexity": "LOW",
          "attackVector": "NETWORK",
          "availabilityImpact": "NONE",
          "baseScore": 4.9,
          "baseSeverity": "MEDIUM",
          "confidentialityImpact": "HIGH",
          "integrityImpact": "NONE",
          "privilegesRequired": "HIGH",
          "scope": "UNCHANGED",
          "userInteraction": "NONE",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N",
          "version": "3.1"
        },
        "exploitabilityScore": 1.2,
        "impactScore": 3.6,
        "source": "nvd@nist.gov",
        "type": "Primary"
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "id": "CVE-2024-1544",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "role": "CISA Coordinator",
          "timestamp": "2024-08-27T19:14:00.889289Z",
          "version": "2.0.3"
        }
      }
    ]
  },
  "published": "2024-08-27T19:15:16.547",
  "references": [
    {
      "source": "facts@wolfssl.com",
      "url": "https://github.com/wolfSSL/wolfssl/pull/7020"
    },
    {
      "source": "facts@wolfssl.com",
      "tags": [
        "Release Notes"
      ],
      "url": "https://github.com/wolfSSL/wolfssl/releases/tag/v5.7.2-stable"
    }
  ],
  "sourceIdentifier": "facts@wolfssl.com",
  "vulnStatus": "Modified",
  "weaknesses": [
    {
      "description": [
        {
          "lang": "en",
          "value": "CWE-203"
        }
      ],
      "source": "facts@wolfssl.com",
      "type": "Secondary"
    }
  ]
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…