Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify exposed Yamcs HTTP port
-
DeliveryCraft double-slash traversal URL
-
ExploitSend unauthenticated GET request
-
ExecutionStaticFileHandler resolves path outside root
-
ImpactArbitrary OS file returned in response body
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | No special configuration is required - the vulnerability exists in the default HTTP static file serving path of any Yamcs instance. The only prerequisite is network reachability to the Yamcs HTTP port (default TCP 8090); no authentication, session, or specific feature enablement is needed. Exploitation is limited by: (1) the Yamcs server must be network-accessible from the attacker (not firewalled); (2) files readable by the OS user running the Yamcs process are the only ones accessible - files owned by other users with restrictive permissions will be inaccessible regardless of traversal; (3) the double-slash trigger must not be stripped by an intervening reverse proxy or WAF (standard nginx/Apache proxies typically normalize double slashes, which would inadvertently mitigate this). Direct-access deployments without a normalizing proxy are fully exposed. |
| Impact | The CVSS 3.1 vector AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N accurately reflects the severity: the attack requires only network access to the Yamcs HTTP port, no authentication, no user interaction, and a trivially crafted URL. The High confidentiality impact is well-founded - full OS file read means private keys, credentials, configuration files, and mission data are all reachable. There is no KEV listing and no known weaponized exploit at time of analysis, but the proof-of-concept technique is trivially simple (a single URL) and was published in a public CTF writeup context at DEFCON 33, meaning the barrier to exploitation is essentially zero for any attacker who reads the advisory. EPSS data was not provided in the input, so exploitation probability cannot be quantified beyond the qualitative observation that the technique is elementary. The primary risk limiter is product prevalence: Yamcs is specialist aerospace/mission-control software with a relatively narrow deployment footprint, so mass exploitation is unlikely - but any internet-exposed Yamcs instance should be treated as critically compromised until patched. The scope of readable files is bounded only by the OS file permissions of the process running Yamcs, which in many containerized or development deployments may be broad. |
| Exploit ScenarioDerived | An unauthenticated attacker who can reach the Yamcs HTTP port (default 8090) sends a GET request with a double-slash-prefixed absolute path, such as GET //etc/passwd HTTP/1.1. The StaticFileHandler resolves this outside the static root and returns the file contents directly in the HTTP response body, allowing the attacker to iterate over sensitive paths including private keys, application credentials, and mission configuration files. Because the reproduction steps are fully published in the GitHub advisory (itself linked from a public CTF challenge), any attacker can replicate this with a single browser request or curl command. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 28, 2026
Unauthenticated directory traversal in Yamcs versions up to and including 5.8.6 (per advisory scope, < 5.11.13 per package metadata) allows any remote attacker to read arbitrary files from the underlying host operating system by sending a crafted HTTP request. The flaw resides in StaticFileHandler.java, which resolves user-supplied URL paths against a static file root without verifying the resolved path stays within that root - a double-slash prefix (e.g., //etc/passwd) is sufficient to escape the boundary. No public exploit identified at time of analysis, though the steps-to-reproduce are fully published in the GitHub Security Advisory and the vulnerability was demonstrated in a public CTF challenge at DEFCON 33.
RemediationAI
Upgrade org.yamcs:yamcs-core to version 5.11.13 or 5.12.0, both available at https://github.com/yamcs/yamcs/releases/tag/yamcs-5.11.13 and https://github.com/yamcs/yamcs/releases/tag/yamcs-5.12.0 respectively. The underlying commits c7dfd24e469ae1086c23e0fe04401cb1ce4260d4 and f4bc588880c166849e983aa8f65b9c8107d06091 implement the path boundary check directly in StaticFileHandler.locateFile(). If immediate patching is not possible, the most effective compensating control is to block all external network access to the Yamcs HTTP port (default 8090) using host firewall rules or network ACLs, restricting access to trusted internal hosts only - this eliminates the network attack vector entirely but requires that all legitimate users access Yamcs from allowed networks. A secondary control is to run the Yamcs process under a dedicated OS user with minimal filesystem read permissions (e.g., restricted to the Yamcs data directory), which limits what an attacker can exfiltrate even if traversal succeeds, though it does not close the vulnerability. Note that restricting the OS user may interfere with Yamcs features that require reading broader system resources.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in maven, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Yamcs (Yet Another Mission Control System) is an open-source Java-based framework for spacecraft mission control, distributed as the Maven artifact org.yamcs:yamcs-core. The HTTP layer (HttpRequestHandler.java, StaticFileHandler.java) serves static assets over a built-in Netty-based HTTP server, default port 8090. The root cause (CWE-22: Improper Limitation of a Pathname to a Restricted Directory) is in the locateFile() method of StaticFileHandler, which called staticRoot.resolve(path).toFile() without checking that the resulting absolute path still starts with the staticRoot prefix. Java's Path.resolve() will happily resolve an absolute or double-slash-prefixed path outside the root, giving attackers a direct handle to the OS filesystem. The fix, applied in commits c7dfd24 and f4bc588, adds an explicit normalize().toAbsolutePath().startsWith(staticRoot.normalize().toAbsolutePath()) boundary check before serving any file.
Know when Java 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
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Network-reachable HTTP endpoint, trivial single-request exploit, no authentication; confidentiality-only impact as traversal enables read but not write.
Primary rating from Vendor (https://github.com/yamcs/yamcs).
CVSS VectorVendor: https://github.com/yamcs/yamcs
DescriptionCVE.org
Attack type:
Unauthenticated remote
Impact:
Attackers can access any system files from the underlying host.
Affected components: HttpRequestHandler.java, StaticFileHandler.java
An Unauthenticated Directory Traversal vulnerability exists in Yamcs <=5.8.6, allowing anyone to access any file on the underlying operating system. This allows unauthenticated attackers to download sensitive files and data.
<img width="2170" height="1289" alt="image" src="https://github.com/user-attachments/assets/8d426da1-5351-4240-a290-8d858be61312" />
Steps to Reproduce:
- Start Yamcs and login as a user
- Paste the following URL in the browser and press enter:
http://localhost:8090//etc/passwd- The
/etc/passwdfile will be downloaded.
Acknowledgements
This vulnerability was discovered by Abderrahim Dahmani while solving a STARPWN 2025 CTF challenge at DEFCON 33 offered by VisionSpace Technologies.
Blast Radius
ecosystem impact- 6 maven packages depend on org.yamcs:yamcs-core (6 direct, 0 indirect)
Ecosystem-wide dependent count for version 5.12.0.
Technical POC Analysis
CWE-22 (Improper Limitation of a Pathname to a Restricted Directory).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Yamcs mission planning software versions before 5.11.13 are vulnerable to unauthenticated remote file access that could expose sensitive mission data, system credentials, and operational configurations without requiring authentication. Any organization with internet-facing Yamcs systems faces immediate data breach risk and should prioritize upgrade to version 5.11.13 or later.
Apply vendor patch (Yamcs 5.11.13 or later). Pending patch deployment, restrict network access to Yamcs via firewall to limit exposure to trusted sources only.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m
Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti
Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent
Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug
JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up
Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up
The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow
Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla
The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during
EUVD-2026-67842
GHSA-9jg3-g3wh-w9pj
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB