Bug 2367604 (CVE-2025-37984) - CVE-2025-37984 kernel: crypto: ecdsa - Harden against integer overflows in DIV_ROUND_UP()
Summary: CVE-2025-37984 kernel: crypto: ecdsa - Harden against integer overflows in DI...
Keywords:
Status: NEW
Alias: CVE-2025-37984
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2025-05-20 18:01 UTC by OSIDB Bzimport
Modified: 2025-05-21 05:58 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2025-05-20 18:01:24 UTC
In the Linux kernel, the following vulnerability has been resolved:

crypto: ecdsa - Harden against integer overflows in DIV_ROUND_UP()

Herbert notes that DIV_ROUND_UP() may overflow unnecessarily if an ecdsa
implementation's ->key_size() callback returns an unusually large value.
Herbert instead suggests (for a division by 8):

  X / 8 + !!(X & 7)

Based on this formula, introduce a generic DIV_ROUND_UP_POW2() macro and
use it in lieu of DIV_ROUND_UP() for ->key_size() return values.

Additionally, use the macro in ecc_digits_from_bytes(), whose "nbytes"
parameter is a ->key_size() return value in some instances, or a
user-specified ASN.1 length in the case of ecdsa_get_signature_rs().

Comment 1 Avinash Hanwate 2025-05-21 05:51:55 UTC
Upstream advisory:
https://lore.kernel.org/linux-cve-announce/2025052037-CVE-2025-37984-be4c@gregkh/T


Note You need to log in before you can comment on or make changes to this bug.