CVE-2013-4660 Deserialization Code Execution in js-yaml

Medium 6.8 Published Updated

Remote attackers can execute arbitrary code by sending crafted YAML strings to applications using the vulnerable JS-YAML library.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2013-4660?

CVE-2013-4660 is a medium-severity code injection vulnerability in n/a, published on 28 Jun 2013. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, which allows remote attackers to execute arbitrary code via a crafted string that triggers an eval operation.

Weakness: CWE-20

Which versions are affected by CVE-2013-4660?

2 open source packages ship an affected version, including js-yaml. It affects 1 product.

PackageAffectedFixed in
js-yaml npmAll versions2.0.5
js-yaml npmAll versions2.0.5

Products include Nodeca Js-Yaml.

How do I fix CVE-2013-4660?

Upgrade js-yaml to 2.0.5 or later.

Upgrade, and never evaluate templates, expressions or code built from user input. More about Code injection.

Is CVE-2013-4660 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2013-4660 exists.

Public exploit code: 1 Metasploit module and 1 Exploit-DB entry.

Sources

Also known as GHSA-xxvw-45rp-3mj2.

Is CVE-2013-4660 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free