Skip to main content

Yamcs EUVDEUVD-2026-67842

| CVE-2026-55552 HIGH
Path Traversal (CWE-22)
2026-08-28 https://github.com/yamcs/yamcs GHSA-9jg3-g3wh-w9pj
7.5
CVSS 3.1 · Vendor: https://github.com/yamcs/yamcs
View

Attack ChainAIDerived

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

  1. Access
    Identify exposed Yamcs HTTP port
  2. Delivery
    Craft double-slash traversal URL
  3. Exploit
    Send unauthenticated GET request
  4. Execution
    StaticFileHandler resolves path outside root
  5. Impact
    Arbitrary 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.

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

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

Alert me

AnalysisAIv1 – 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

yamcs < 5.12.0

Affected Packages

maven org.yamcs:yamcs-core fix: 5.12.0
euvd yamcs fix: 5.12.0

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

Vendor (https://github.com/yamcs/yamcs) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 7.5 HIGH

Network-reachable HTTP endpoint, trivial single-request exploit, no authentication; confidentiality-only impact as traversal enables read but not write.

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

Primary rating from Vendor (https://github.com/yamcs/yamcs).

CVSS VectorVendor: https://github.com/yamcs/yamcs

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

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:

  1. Start Yamcs and login as a user
  2. Paste the following URL in the browser and press enter:
http://localhost:8090//etc/passwd
  1. The /etc/passwd file 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
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.4%
Top 64% exploitable
Prevalence
Low
specialist aerospace mission control framework, narrow industry deployment
Threat Intel
1
1 sources
Exploit
POC
Public exploit code exists
Data Quality
6 sources
Confidence: High

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.4%
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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

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

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

More in Java

View all
CVE-2012-4681 CRITICAL POC
9.8 Aug 28

Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m

CVE-2015-7450 CRITICAL POC
9.8 Jan 02

Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti

CVE-2013-2465 CRITICAL POC
9.8 Jun 18

Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent

CVE-2011-3544 CRITICAL POC
9.8 Oct 19

Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug

CVE-2010-1871 HIGH POC
8.8 Aug 05

JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to

CVE-2012-1723 CRITICAL POC
9.8 Jun 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up

CVE-2013-0422 CRITICAL POC
9.8 Jan 10

Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using

CVE-2012-0507 CRITICAL POC
9.8 Jun 07

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up

CVE-2015-4852 CRITICAL POC
9.8 Nov 18

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

CVE-2012-5076 CRITICAL POC
9.8 Oct 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow

CVE-2017-3066 CRITICAL POC
9.8 Apr 27

Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla

CVE-2012-0391 CRITICAL POC
9.8 Jan 08

The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during

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