GitHub Advisoryadvisory · npm
GHSA-8j8c-7jfh-h6hx Code Injection in js-yaml
HIGH
Official page ↗
- Ecosystem
- npm
- Packages
- js-yaml
- Severity
- High
- Weaknesses
- CWE-94
- Reviewed
- 2019-06-04
Affected packages
• npm js-yaml: < 3.13.1 → fixed in 3.13.1
Description
Versions of `js-yaml` prior to 3.13.1 are vulnerable to Code Injection. The `load()` function may execute arbitrary code injected through a malicious YAML file. Objects that have `toString` as key, JavaScript code as value and are used as explicit mapping keys allow attackers to execute the supplied code through the `load()` function. The `safeLoad()` function is unaffected.
An example payload is
`{ toString: ! 'function (){return Date.now()}' } : 1`
which returns the object
{
"1553107949161": 1
}
Recommendation
Upgrade to version 3.13.1.
Related
Weakness · CWE (1)
- CWE-94 Improper Control of Generation of Code weakness