CVE-2025-29912
Published: 17 March 2025
Summary
CVE-2025-29912 is a critical-severity Heap-based Buffer Overflow (CWE-122) vulnerability in Nasa Cryptolib. Its CVSS base score is 9.8 (Critical).
Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked in the top 5.9% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.
The strongest mitigations our analysis identified are NIST 800-53 SI-10 (Information Input Validation) and SI-2 (Flaw Remediation).
Threat & Defense at a Glance
Threat & Defense Details
Mitigating Controls (NIST 800-53 r5)AI
Flaw remediation requires timely patching of the unsigned integer underflow in Crypto_TC_ProcessSecurity, directly fixing the vulnerability as recommended by the NASA advisory.
Information input validation at TC packet interfaces enforces checks on the fl field to reject invalid values like 0, preventing the underflow trigger.
Memory protection mechanisms such as heap isolation or randomization mitigate exploitation of the resulting heap buffer overflow for remote code execution.
MITRE ATT&CK Enterprise TechniquesAI
Why these techniques?
Remote unauthenticated heap buffer overflow in network-facing TC packet processing function enables exploitation of public-facing application for RCE or DoS.
NVD Description
CryptoLib provides a software-only solution using the CCSDS Space Data Link Security Protocol - Extended Procedures (SDLS-EP) to secure communications between a spacecraft running the core Flight System (cFS) and a ground station. In versions 1.3.3 and prior, an unsigned…
more
integer underflow in the `Crypto_TC_ProcessSecurity` function of CryptoLib leads to a heap buffer overflow. The vulnerability is triggered when the `fl` (frame length) field in a Telecommand (TC) packet is set to 0. This underflow causes the frame length to be interpreted as 65535, resulting in out-of-bounds memory access. This critical vulnerability can be exploited to cause a denial of service (DoS) or potentially achieve remote code execution. Users of CryptoLib are advised to apply the recommended patch or avoid processing untrusted TC packets until a fix is available.
Deeper analysisAI
CVE-2025-29912 is an unsigned integer underflow vulnerability in the Crypto_TC_ProcessSecurity function of CryptoLib versions 1.3.3 and prior, leading to a heap buffer overflow. CryptoLib is a software-only solution that implements the CCSDS Space Data Link Security Protocol - Extended Procedures (SDLS-EP) to secure communications between a spacecraft running the core Flight System (cFS) and a ground station. The issue is triggered when the fl (frame length) field in a Telecommand (TC) packet is set to 0, causing the frame length to underflow and be interpreted as 65535, which results in out-of-bounds memory access. It is associated with CWE-122, CWE-191, and CWE-787.
With a CVSS v3.1 base score of 9.8 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H), the vulnerability is exploitable remotely over the network by unauthenticated attackers with low complexity and no user interaction required. An attacker capable of sending a malicious TC packet to a vulnerable system can trigger the underflow, enabling denial of service through crashes or potentially remote code execution via controlled memory corruption.
NASA's CryptoLib GitHub security advisory (GHSA-3f5x-r59x-p8cf) and patch commit (ca39cb96f21e76102aefb956d2c8c0ba0bd143ca) recommend applying the fix immediately. Until patched, users should avoid processing untrusted TC packets.
Details
- CWE(s)