CVE-2024-21502
Uninitialized Variable in fastecdsa
Versions of the package fastecdsa before 2.3.2 are vulnerable to Use of Uninitialized Variable on the stack, via the curvemath_mul function in src/curveMath.c, due to being used and interpreted as user-defined type. Depending on the variable's actual value it could be arbitrary free(), arbitrary realloc(), null pointer dereference and other. Since the stack can be controlled by the attacker, the vulnerability could be used to corrupt allocator structure, leading to possible heap exploitation. The attacker could cause denial of service by exploiting this vulnerability.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
7.5
Versions of the package fastecdsa before 2.3.2 are vulnerable to Use of Uninitialized Variable on the stack, via the curvemath_mul function in src/curveMath.c, due to being used and interpreted as user-defined type. Depending on the variable's actual value it could be arbitrary free(), arbitrary realloc(), null pointer dereference and other. Since the stack can be controlled by the attacker, the vulnerability could be used to corrupt allocator structure, leading to possible heap exploitation. The attacker could cause denial of service by exploiting this vulnerability.
- Record
CVE-2024-21502- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H/E:P - Weakness
- CWE-457
- Updated
- 2026-11-02
EUVDEUVD-2024-0060
7.5
Versions of the package fastecdsa before 2.3.2 are vulnerable to Use of Uninitialized Variable on the stack, via the curvemath_mul function in src/curveMath.c, due to being used and interpreted as user-defined type. Depending on the variable's actual value it could be arbitrary free(), arbitrary realloc(), null pointer dereference and other. Since the stack can be controlled by the attacker, the vulnerability could be used to corrupt allocator structure, leading to possible heap exploitation. The attacker could cause denial of service by exploiting this vulnerability.
- Record
EUVD-2024-0060- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H/E:P - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-ph86-g9r3-5qw4
7.5
Uninitialized Variable in fastecdsa
Versions of the package fastecdsa before 2.3.2 use an Uninitialized Variable on the stack, via the curvemath_mul function in src/curveMath.c, due to being used and interpreted as user-defined type. Depending on the variable's actual value it could be arbitrary free(), arbitrary realloc(), null pointer dereference and other. Since the stack can be controlled by the attacker, the vulnerability could be used to corrupt allocator structure, leading to possible heap exploitation. The attacker could cause denial of service by exploiting this vulnerability.
- Record
GHSA-ph86-g9r3-5qw4- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-457, CWE-908
- Updated
- 2026-11-02
NVD
7.5
Versions of the package fastecdsa before 2.3.2 are vulnerable to Use of Uninitialized Variable on the stack, via the curvemath_mul function in src/curveMath.c, due to being used and interpreted as user-defined type. Depending on the variable's actual value it could be arbitrary free(), arbitrary realloc(), null pointer dereference and other. Since the stack can be controlled by the attacker, the vulnerability could be used to corrupt allocator structure, leading to possible heap exploitation. The attacker could cause denial of service by exploiting this vulnerability.
- Record
CVE-2024-21502- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-457, CWE-908
- Updated
- 2026-11-02
OSV
7.5
Versions of the package fastecdsa before 2.3.2 are vulnerable to Use of Uninitialized Variable on the stack, via the curvemath_mul function in src/curveMath.c, due to being used and interpreted as user-defined type. Depending on the variable's actual value it could be arbitrary free(), arbitrary realloc(), null pointer dereference and other. Since the stack can be controlled by the attacker, the vulnerability could be used to corrupt allocator structure, leading to possible heap exploitation. The attacker could cause denial of service by exploiting this vulnerability.
- Record
CVE-2024-21502- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H/E:P - Weakness
- CWE-457
- Updated
- 2026-11-02
OSVGHSA-ph86-g9r3-5qw4
7.5
Uninitialized Variable in fastecdsa
Versions of the package fastecdsa before 2.3.2 use an Uninitialized Variable on the stack, via the curvemath_mul function in src/curveMath.c, due to being used and interpreted as user-defined type. Depending on the variable's actual value it could be arbitrary free(), arbitrary realloc(), null pointer dereference and other. Since the stack can be controlled by the attacker, the vulnerability could be used to corrupt allocator structure, leading to possible heap exploitation. The attacker could cause denial of service by exploiting this vulnerability.
- Record
GHSA-ph86-g9r3-5qw4- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-457, CWE-908
- Updated
- 2026-11-02
OSVPYSEC-2024-39 No score
Versions of the package fastecdsa before 2.3.2 are vulnerable to Use of Uninitialized Variable on the stack, via the curvemath_mul function in src/curveMath.c, due to being used and interpreted as user-defined type. Depending on the variable's actual value it could be arbitrary free(), arbitrary realloc(), null pointer dereference and other. Since the stack can be controlled by the attacker, the vulnerability could be used to corrupt allocator structure, leading to possible heap exploitation. The attacker could cause denial of service by exploiting this vulnerability.
- Record
PYSEC-2024-39- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
fastecdsaPyPI |
before 2.3.2 | 2.3.2 |
fastecdsaPyPI |
before 2.3.2, plus listed versions 1.0.0b11.0.11.0.1b11.0.1b21.0.1b3 Show 38 moreShow less1.0.21.0.31.1.01.1.11.1.21.1.31.2.11.3.11.3.21.4.11.4.21.4.31.5.11.5.21.6.11.6.21.6.31.6.41.6.51.7.01.7.11.7.21.7.31.7.41.7.52.0.02.1.02.1.12.1.22.1.32.1.42.1.52.2.02.2.12.2.22.2.32.3.02.3.1 |
2.3.2 |
fastecdsaPyPI |
before 2.3.2, plus listed versions 1.0.0b11.0.11.0.1b11.0.1b21.0.1b3 Show 45 moreShow less1.0.21.0.31.1.01.1.11.1.21.1.31.2.11.3.11.3.21.4.11.4.21.4.31.5.11.5.21.6.11.6.21.6.31.6.41.6.51.7.01.7.11.7.21.7.31.7.41.7.52.0.02.1.02.1.12.1.22.1.32.1.42.1.52.2.02.2.12.2.22.2.32.3.02.3.1v2.3.1v2.3.0v2.2.3v2.2.2v2.2.1v2.2.0v2.1.5 |
2.3.2 |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases, published | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2024-21502 is a high vulnerability (CVSS 7.5) in Antonkueltz Fastecdsa, published February 24, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.03%, the 63rd percentile. Fixed in fastecdsa 2.3.2.
References
security.snyk.io/vuln/SNYK-PYTHON-FASTECDSA-6262045
gist.github.com/keltecc/49da037072276f21b005a8337c15db26
github.com/AntonKueltz/fastecdsa/blob/v2.3.1/src/curveMath.c%23L210
github.com/AntonKueltz/fastecdsa/commit/57fc5689c95d649dab7ef60cc99ac64589f01e36
nvd.nist.gov/vuln/detail/CVE-2024-21502
github.com/advisories/GHSA-ph86-g9r3-5qw4
github.com/CVEProject/cvelistV5/tree/main/cves/2024/21xxx/CVE-2024-21502.json
github.com/AntonKueltz/fastecdsa
Left out here: 20 versions. The JSON record has them.