CVE-2025-29912
Published: 17 March 2025
Summary
CVE-2025-29912 is a high-severity Heap-based Buffer Overflow (CWE-122) vulnerability in Nasa Cryptolib. Its CVSS base score is 8.9 (High).
Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked in the top 4.2% 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).
Deeper analysis
CryptoLib is a software library implementing the CCSDS Space Data Link Security Protocol - Extended Procedures (SDLS-EP) to protect communications between a spacecraft running NASA’s core Flight System (cFS) and a ground station. Versions 1.3.3 and earlier contain an unsigned integer underflow in the Crypto_TC_ProcessSecurity function. When the frame-length (fl) field of an incoming Telecommand (TC) packet is set to zero, the length is interpreted as 65535, producing a heap buffer overflow (CWE-122, CWE-191, CWE-787) and subsequent out-of-bounds memory access.
An unauthenticated remote attacker who can send crafted TC packets to a CryptoLib instance can trigger the overflow. Successful exploitation may result in denial of service or, under favorable memory conditions, remote code execution; the vulnerability carries a CVSS 4.0 score of 8.9 with network attack vector and no required privileges or user interaction.
The project’s GitHub security advisory and the referenced commit recommend applying the patch that corrects the length check or, until a fix is deployed, discarding any untrusted TC traffic before it reaches CryptoLib processing. The EPSS score has remained flat at 0.2111 with no observed increase after disclosure.
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2025-6609
Vulnerability details
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.
- CWE(s)
Related Threats
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.
CVEs Like This One
Affected Assets
Mitigating Controls
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.