Safeguard
Vulnerability Analysis•

CVE-2025-29912: Critical Underflow in NASA CryptoLib

CVE-2025-29912 is a critical (9.8) integer underflow and heap overflow in NASA CryptoLib 1.3.3 and earlier. Review the advisory and apply the fix commit.

Safeguard Security Team
4 min read

CVE-2025-29912 is a critical (CVSS 9.8) integer underflow in NASA CryptoLib 1.3.3 and earlier that becomes a heap buffer overflow. A telecommand frame with its length field set to zero leads to out-of-bounds memory access. The advisory lists no patched release, so check it for the fix.

What's affected

The record and the project advisory list NASA CryptoLib versions 1.3.3 and prior as affected. CryptoLib is a software only implementation of the CCSDS Space Data Link Security Protocol, Extended Procedures (SDLS-EP), used to secure links between a spacecraft running the core Flight System (cFS) and a ground station.

The advisory page I reviewed shows no patched release version. The record links to a fix commit for some of these issues, but a commit is not a release. Check the CryptoLib releases page and the advisory for the first fixed release before you decide that you are covered.

The record does not flag this CVE as known exploited (not in the CISA KEV catalog at the time of writing).

A later CVE, CVE-2025-30356, says the fix for this issue was incomplete. Check that your update covers both.

How to check if you're exposed

CryptoLib is usually built from source and linked into flight or ground software, so there may be no package manager entry to query.

  1. Search your build tree and your software bill of materials for CryptoLib, and note the version or commit you build from.
  2. If you vendor the source, look at the git history for the project's fix commit and see whether it is included in your tree.
  3. List every program that links the library and receives frames from a radio link, simulator or test harness.

Safeguard's free in-browser dependency scan at gold.safeguard.sh/scan can show whether a project's dependency list includes an affected component, and the Gold directory lets you look up the CVE and its related weaknesses.

What to do now

  1. Find every build that includes CryptoLib 1.3.3 or earlier, including ground segment tools and test benches.
  2. Check the CryptoLib advisory and releases for a fixed version, or for the fix commit referenced in the record, and plan the update.
  3. Until you have a fix, validate frame length fields and header sizes in your own code before passing frames to CryptoLib, and drop frames that fail those checks.
  4. Run the affected components with the least privilege your platform allows, and keep them away from networks that untrusted parties can reach.
  5. Add fuzz tests for frame parsing to your pipeline, since the advisories describe issues found that way.

Why it matters

The record maps the flaw to CWE-122 (Heap-based Buffer Overflow), CWE-191 (Integer Underflow) and CWE-787 (Out-of-bounds Write). The advisory says the frame length is an unsigned 16 bit number. When it is zero, subtracting one wraps around to the largest possible value, and the code uses that as an index into the buffer.

The advisory notes that fuzz testing found the issue. That tells you two things: the bug was easy to reach with unexpected input, and similar bugs probably remain where length math is done without checks. A related flaw, CVE-2025-30356, exists because the fix for this one did not cover every case.

When a patch is announced for parsers, test with boundary values: zero, one, the smallest valid size and the largest. Those are the inputs that expose wrap around errors.

Quick check

Why was there a follow up CVE?

CVE-2025-30356 says the fix for this issue did not fully prevent unsafe length calculations. Review both when you plan an update.

How do I reduce risk before an update?

Reject frames with a length field that is too small for the headers and trailer you expect, before passing them to the library.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

We email you a link to confirm, and only then add you to the list. Unsubscribe in one click. Privacy

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.