CVE-2025-30216

9.4 CRITICAL

📋 TL;DR

A heap overflow vulnerability in CryptoLib's TM protocol processing allows attackers to trigger arbitrary memory overwrites by sending specially crafted packets with invalid Secondary Header Length values. This affects spacecraft-ground station communications secured with SDLS-EP in cFS deployments using CryptoLib 1.3.3 and earlier. Successful exploitation could lead to remote code execution on affected systems.

💻 Affected Systems

Products:
  • NASA CryptoLib
Versions: 1.3.3 and prior
Operating Systems: Any OS running cFS with CryptoLib
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems using CryptoLib's TM protocol processing with SDLS-EP security for spacecraft-ground communications.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote attacker gains arbitrary code execution on spacecraft or ground station systems, potentially taking full control of spacecraft operations or ground infrastructure.

🟠

Likely Case

System instability, crashes, or denial of service in spacecraft-ground communications, potentially disrupting mission operations.

🟢

If Mitigated

With proper network segmentation and input validation, impact limited to isolated communication channel disruption.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: HIGH

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: MEDIUM

Exploitation requires ability to send TM protocol packets to vulnerable system, but no authentication is needed once packet injection is possible.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Fixed in commit 810fd66d592c883125272fef123c3240db2f170f

Vendor Advisory: https://github.com/nasa/CryptoLib/security/advisories/GHSA-v3jc-5j74-hcjv

Restart Required: Yes

Instructions:

1. Pull latest CryptoLib from GitHub
2. Apply commit 810fd66d592c883125272fef123c3240db2f170f
3. Rebuild CryptoLib library
4. Rebuild and redeploy cFS applications using CryptoLib
5. Restart affected spacecraft and ground station services

🔧 Temporary Workarounds

Input Validation Filter

all

Implement network-level packet filtering to reject TM packets where Secondary Header Length exceeds total packet length

# Requires custom network filtering implementation based on your architecture

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate spacecraft-ground communication channels from untrusted networks
  • Deploy intrusion detection systems to monitor for anomalous TM packet patterns and block suspicious traffic

🔍 How to Verify

Check if Vulnerable:

Check CryptoLib version in your cFS deployment and verify if using versions 1.3.3 or earlier

Check Version:

git log --oneline | grep -i 'crypto_tm.c' or check library version in build configuration

Verify Fix Applied:

Verify commit 810fd66d592c883125272fef123c3240db2f170f is present in your CryptoLib build

📡 Detection & Monitoring

Log Indicators:

  • Unexpected process crashes in cFS applications
  • Memory corruption errors in system logs
  • Abnormal packet size alerts in network logs

Network Indicators:

  • TM packets with Secondary Header Length > Total Packet Length
  • Unusual packet patterns in spacecraft-ground communications

SIEM Query:

source="network_traffic" AND protocol="TM" AND secondary_header_length > total_packet_length

🔗 References

📤 Share & Export