Talos Vulnerability Report

TALOS-2017-0450

rails_admin rails gem XSS vulnerability

January 10, 2018
CVE Number

CVE-2017-12098

Summary

An exploitable XSS vulnerability exists in the add filter functionality of the rails_admin rails gem version 1.2.0. A specially crafted URL can cause an XSS flaw resulting in an attacker being able to execute arbitrary javascript on the victim’s browser. An attacker can phish an authenticated user to trigger this vulnerability.

Tested Versions

rails_admin 1.2.0

Product URLs

https://github.com/sferik/rails_admin https://rubygems.org/gems/rails_admin/versions/1.2.0

CVSSv3 Score

6.1 - CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N

CWE

CWE-79: Improper Neutralization of Input During Web Page Generation (‘Cross-site Scripting’)

Details

The rails_admin gem has functionality which allows a user to create custom filters to find values within the admin interface. When a new filter is created using the UI, it redirects to a new url containing that filtering information in the form of

localhost:3000/admin/model?model_name=model&utf8=%E2%9C%93&f%5B password%5D%5B91178%5D%5Bv%5D=+%22%3E%3Cimg+src%3D%22%22+onerror%3D%22 alert(1)%22%3E&query=

This URL can them be used to phish an authenticated user and execute arbitrary javascript on their behalf.

This vulnerability was shown to occur using Chrome, Safari, and Firefox.

Timeline

2017-09-20 - Vendor Disclosure
2017-09-28 - 2nd Vendor contact attempt
2017-10-11 - 3rd Vendor contact attempt
2017-12-05 - Final Vendor contact
2018-01-10 - Public Release

Credit

Discovered by Zachary Sanchez of Cisco ASIG