CVE-2014-9772: Node.js validator XSS filter bypass via hex encoding

CVE-2014-9772 · Severity: medium · CVSS 6.1 · Published 2017-01-23

The validator library for Node.js, which is used to sanitize and validate user input, contains a flaw that allows attackers to bypass its security filters. By using hex-encoded characters, an attacker can inject malicious scripts into web pages viewed by other users. This could lead to unauthorized actions being performed in a user's browser or the theft of sensitive session information.

Technologies: Nodejs Node.Js, validator (npm). Vendors: Nodejs, npm.

Quick answers

Is CVE-2014-9772 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2014-9772 being exploited in the wild.
How severe is CVE-2014-9772?
Medium severity, with a CVSS score of 6.1, published 23 January 2017.
Which products and versions are affected?
validator (npm) SEMVER:introduced=0,fixed=2.0.0.
Is there a fix for CVE-2014-9772?
Yes. validator (npm): upgrade to 2.0.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2014-9772 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2014-9772?
Check whether you run Nodejs Node.Js or validator (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • validator (npm): upgrade to 2.0.0 or later
    npm install validator@2.0.0

Technical details

A cross-site scripting (XSS) filter bypass exists in the Node.js 'validator' package versions prior to 2.0.0. The vulnerability is caused by improper neutralization of hex-encoded characters within the input sanitization logic. A remote, unauthenticated attacker can exploit this by submitting specially crafted input containing hex-encoded strings that the filter fails to identify as malicious. Successful exploitation allows the attacker to execute arbitrary JavaScript in the context of a victim's browser session. The issue is resolved in version 2.0.0.

Affected products

  • Node.js validator < 2.0.0

Identifiers

  • CVE-2014-9772
  • GHSA-79mx-88w7-8f7q

Timeline

  • 2014-09-30: disclosed: Initial disclosure of related Node.js vulnerabilities
  • 2016-04-20: advisory: CVE assigned via Openwall mailing list
  • 2017-01-23: advisory: NVD publication date

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.