CVE-2025-30356 is a critical (CVSS 9.8) heap buffer overflow in NASA CryptoLib 1.3.3 and earlier. The earlier fix for CVE-2025-29912 did not fully check the frame length field, so crafted telecommand frames can still trigger an overflow. The advisory lists no patched release, so check it.
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).
This CVE exists because the fix for CVE-2025-29912 was incomplete, so your update needs to include 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.
- Search your build tree and your software bill of materials for CryptoLib, and note the version or commit you build from.
- 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.
- 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
- Find every build that includes CryptoLib 1.3.3 or earlier, including ground segment tools and test benches.
- Check the CryptoLib advisory and releases for a fixed version, or for the fix commit referenced in the record, and plan the update.
- 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.
- Run the affected components with the least privilege your platform allows, and keep them away from networks that untrusted parties can reach.
- 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-191 (Integer Underflow) and CWE-787 (Out-of-bounds Write). The advisory explains that the earlier patch checked the frame length against a constant, but the payload length calculation subtracts several values. Depending on header and trailer sizes, the result can still go negative and be read as a very large unsigned number, which then drives a large memory copy.
This is a textbook incomplete fix. The check compared one number with one limit, while the real computation depended on other values that could change. A correct check validates the final result, or each term, before the copy.
If you track CryptoLib fixes, make sure your update includes the fix for this CVE and not only the one for CVE-2025-29912. When you verify patches, test boundary combinations of header and trailer sizes, not only the single case from the original report.
Quick check
How is this different from CVE-2025-29912?
That CVE covers a zero length field. This one covers cases that pass the earlier check yet still produce a negative payload length.
Is a fix available?
The advisory lists no patched release. A fix commit is linked in the record, so check the project's releases and advisory.
Sources
Last reviewed: 19 October 2026.