=======================
Exploit Title: Rollout::UI v0.5 Cross-site 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://<host>/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.