1. ADVISORY INFORMATION ======================= Exploit Title: Rollout::UI v0.5 Cross-site scripting Date: 2023-05-05 Exploit Author: Eduardo José de Borba Vendor Homepage: https://github.com/fetlife Software Link: https://github.com/fetlife/rollout-ui Type: Cross-Site Scripting [CWE-79] Tested on: Linux/OSx CVE: 2023-25309 CVSS Score: 5.3 https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N 2. CREDITS ========== This vulnerability was discovered and researched by Heiko Webers from bauland42. 3. VERSIONS AFFECTED ==================== Rollout::UI <= v0.5 4. INTRODUCTION =============== Rollout::UI is a Minimalist UI for the rollout gem that you can just mount as a Rack app. 5. VULNERABILITY DETAILS ======================== The feature's name isn't escaped properly in the "Do you really want to delete" confirmation dialog. When the user clicks "Delete", the page will run the XSS from the feature name. 6. PROOF OF CONCEPT =================== The following PoC triggers a JavaScript alert when clicking at the "Delete" button: http:///features/'+alert(document.cookie)+' 7. SOLUTION =========== Update to Rollout::UI to use the following branch: https://github.com/fetlife/rollout-ui/pull/15. The fix was not accepted by the vendor yet.