RubySec

Providing security resources for the Ruby community

CVE-2015-1840 (jquery-ujs): CSRF Vulnerability in jquery-ujs

ADVISORIES

GEM

jquery-ujs

SEVERITY

CVSS v2.0: 5.0 (Medium)

PATCHED VERSIONS

  • >= 1.0.4

DESCRIPTION

In the scenario where an attacker might be able to control the href attribute of an anchor tag or the action attribute of a form tag that will trigger a POST action, the attacker can set the href or action to " https://attacker.com" (note the leading space) that will be passed to JQuery, who will see this as a same origin request, and send the user's CSRF token to the attacker domain.

To work around this problem, change code that allows users to control the href attribute of an anchor tag or the action attribute of a form tag to filter the user parameters.

For example, code like this:

link_to params

to code like this:

link_to filtered_params

def filtered_params # Filter just the parameters that you trust end

See also:

  • http://blog.honeybadger.io/understanding-the-rails-jquery-csrf-vulnerability-cve-2015-1840/