{ "schema_version": "1.4.0", "id": "GHSA-8j8c-7jfh-h6hx", "modified": "2020-08-31T18:36:43Z", "published": "2019-06-04T20:14:07Z", "aliases": [], "summary": "Code Injection in js-yaml", "details": "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.\n\nAn example payload is \n`{ toString: ! 'function (){return Date.now()}' } : 1` \nwhich returns the object \n{\n \"1553107949161\": 1\n}\n\n\n## Recommendation\n\nUpgrade to version 3.13.1.", "severity": [], "affected": [ { "package": { "ecosystem": "npm", "name": "js-yaml" }, "ranges": [ { "type": "ECOSYSTEM", "events": [ { "introduced": "0" }, { "fixed": "3.13.1" } ] } ] } ], "references": [ { "type": "WEB", "url": "https://github.com/nodeca/js-yaml/pull/480" }, { "type": "WEB", "url": "https://github.com/nodeca/js-yaml/pull/480/commits/e18afbf1edcafb7add2c4c7b22abc8d6ebc2fa61" }, { "type": "WEB", "url": "https://www.npmjs.com/advisories/813" } ], "database_specific": { "cwe_ids": [ "CWE-94" ], "severity": "HIGH", "github_reviewed": true, "github_reviewed_at": "2019-06-04T20:13:53Z", "nvd_published_at": null } }