{"id":"CVE-2022-0436","aliases":["AZL-45141","DEBIAN-CVE-2022-0436","DLA-3386-1","EUVD-2022-1767","GHSA-j383-35pm-c5h4","OESA-2022-1638","UBUNTU-CVE-2022-0436","USN-5847-1"],"status":"published","title":"Path Traversal in gruntjs/grunt","description":"Path Traversal in GitHub repository gruntjs/grunt prior to 1.5.2.","severity":{"version":"3.0","score":7.1,"vector":"CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.00589,"percentile":0.48424,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-22"],"published":"2022-04-12T00:00:00Z","modified":"2026-11-05T05:36:30Z","fixes":[{"ecosystem":"npm","package":"grunt","fixed_in":["1.5.2"],"sources":["ghsa","osv"]},{"ecosystem":"Debian:12","package":"grunt","fixed_in":["1.5.2-2"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"grunt","fixed_in":["1.5.2-2"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"grunt","fixed_in":["1.5.2-2"],"sources":["osv"]},{"ecosystem":"Debian:10","package":"grunt","fixed_in":["1.0.1-8+deb10u3"],"sources":["osv"]},{"ecosystem":"openEuler:20.03-LTS-SP1","package":"nodejs-grunt","fixed_in":["1.0.1-3.oe1"],"sources":["osv"]},{"ecosystem":"openEuler:20.03-LTS-SP3","package":"nodejs-grunt","fixed_in":["1.0.1-3.oe1"],"sources":["osv"]},{"ecosystem":"openEuler:22.03-LTS","package":"nodejs-grunt","fixed_in":["1.0.1-4.oe2203"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:18.04:LTS","package":"grunt","fixed_in":["1.0.1-8ubuntu0.1+esm1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:20.04:LTS","package":"grunt","fixed_in":["1.0.4-2ubuntu0.1~esm1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:22.04:LTS","package":"grunt","fixed_in":["1.4.1-2ubuntu0.1~esm1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"grunt","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.5.2"}]}]},{"source":"osv","ecosystem":"Azure Linux:3","package":"js-jquery","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"3.5.0-4"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"grunt","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.5.2-2"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"grunt","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.5.2-2"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"grunt","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.5.2-2"}]}]},{"source":"osv","ecosystem":"Debian:10","package":"grunt","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.0.1-8+deb10u3"}]}],"versions":["1.0.1-8","1.0.1-8+deb10u1","1.0.1-8+deb10u2"]},{"source":"osv","ecosystem":"npm","package":"grunt","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.5.2"}]}]},{"source":"osv","ecosystem":"openEuler:20.03-LTS-SP1","package":"nodejs-grunt","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.0.1-3.oe1"}]}]},{"source":"osv","ecosystem":"openEuler:20.03-LTS-SP3","package":"nodejs-grunt","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.0.1-3.oe1"}]}]},{"source":"osv","ecosystem":"openEuler:22.03-LTS","package":"nodejs-grunt","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.0.1-4.oe2203"}]}]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"grunt","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.0.1-8ubuntu0.1+esm1"}]}],"versions":["1.0.1-5","1.0.1-6","1.0.1-7","1.0.1-8","1.0.1-8ubuntu0.1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"grunt","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.0.4-2ubuntu0.1~esm1"}]}],"versions":["1.0.1-9","1.0.4-2"]},{"source":"osv","ecosystem":"Ubuntu:Pro:22.04:LTS","package":"grunt","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.4.1-2ubuntu0.1~esm1"}]}],"versions":["1.3.0-1","1.3.0-2","1.4.1-1","1.4.1-2"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"grunt","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.0.1-8ubuntu0.1+esm1"}]}],"versions":["1.0.1-5","1.0.1-6","1.0.1-7","1.0.1-8","1.0.1-8ubuntu0.1"],"bundled":3},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"grunt","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.0.4-2ubuntu0.1~esm1"}]}],"versions":["1.0.1-9","1.0.4-2"],"bundled":3},{"source":"osv","ecosystem":"Ubuntu:Pro:22.04:LTS","package":"grunt","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.4.1-2ubuntu0.1~esm1"}]}],"versions":["1.3.0-1","1.3.0-2","1.4.1-1","1.4.1-2"],"bundled":3}],"products":[{"vendor":"gruntjs","product":"grunt"},{"vendor":"gruntjs","product":"gruntjs/grunt"}],"references":[{"url":"https://huntr.dev/bounties/f55315e9-9f6d-4dbb-8c40-bae50c1ae92b","tags":["x_transferred","Exploit","Patch","Third Party Advisory","web","report"]},{"url":"https://github.com/gruntjs/grunt/commit/aad3d4521c3098fb255fb2db8f2e1d691a033665","tags":["x_transferred","Patch","Third Party Advisory","fix","web","report"]},{"url":"https://lists.debian.org/debian-lts-announce/2023/04/msg00008.html","tags":["mailing-list","x_transferred","article","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2022-0436","tags":["web","advisory"]},{"url":"https://github.com/gruntjs/grunt/pull/1743","tags":["web"]},{"url":"https://github.com/gruntjs/grunt/commit/b0ec6e12426fc8d5720dee1702f6a67455c5986c","tags":["web"]},{"url":"https://github.com/advisories/GHSA-j383-35pm-c5h4"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/0xxx/CVE-2022-0436.json","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2022-0436","tags":["advisory"]},{"url":"https://github.com/gruntjs/grunt","tags":["package"]},{"url":"https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2022-1638","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2022-0436","tags":["report"]},{"url":"https://github.com/gruntjs/grunt/pull/1740","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-5847-1","tags":["advisory"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2022-0436","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2020-7729","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2022-1537","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2022-0436","title":"Path Traversal in gruntjs/grunt","description":"Path Traversal in GitHub repository gruntjs/grunt prior to 1.5.2.","status":"published","published":"2022-04-12T00:00:00Z","modified":"2024-08-02T23:25:40.632Z","cvss":[{"version":"3.0","score":7.1,"vector":"CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"high","assessor":"cna"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T14:34:41.69911Z"}],"euvd":[{"id":"EUVD-2022-1767","description":"Path Traversal in GitHub repository gruntjs/grunt prior to 1.5.2.","status":"published","published":"2022-04-12T00:00:00Z","modified":"2024-08-02T23:25:40Z","cvss":[{"version":"3.0","score":7.1,"vector":"CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"high"}],"updated_at":"2026-11-03T03:26:04.946671Z"}],"ghsa":[{"id":"GHSA-j383-35pm-c5h4","title":"Path Traversal in Grunt","description":"Grunt prior to version 1.5.2 is vulnerable to path traversal.","status":"published","published":"2022-04-13T00:00:16Z","modified":"2023-04-06T22:55:45Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T14:36:49.768564Z"}],"nvd":[{"id":"CVE-2022-0436","description":"Path Traversal in GitHub repository gruntjs/grunt prior to 1.5.2.","status":"published","published":"2022-04-12T21:15:07.643Z","modified":"2026-06-17T04:20:35.86Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium","assessor":"primary"},{"version":"3.0","score":7.1,"vector":"CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"high","assessor":"secondary"},{"version":"2.0","score":2.1,"vector":"AV:L/AC:L/Au:N/C:P/I:N/A:N","level":"low","assessor":"primary"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T14:07:15.414503Z"}],"osv":[{"id":"AZL-45141","title":"CVE-2022-0436 affecting package js-jquery 3.5.0-4","description":"Path Traversal in GitHub repository gruntjs/grunt prior to 1.5.2.","status":"published","published":"2022-04-12T21:15:07Z","modified":"2026-11-05T05:36:30Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"updated_at":"2026-11-05T16:41:20.321068Z"},{"id":"CVE-2022-0436","title":"Path Traversal in gruntjs/grunt","description":"Path Traversal in GitHub repository gruntjs/grunt prior to 1.5.2.","status":"published","published":"2022-04-12T00:00:00Z","modified":"2026-10-28T02:31:09.040900733Z","cvss":[{"version":"3.0","score":7.1,"vector":"CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"high"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T15:44:22.824781Z"},{"id":"DEBIAN-CVE-2022-0436","description":"Path Traversal in GitHub repository gruntjs/grunt prior to 1.5.2.","status":"published","published":"2022-04-12T21:15:07.643Z","modified":"2026-11-03T08:00:21.957619646Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"updated_at":"2026-11-03T08:25:15.646766Z"},{"id":"GHSA-j383-35pm-c5h4","title":"Path Traversal in Grunt","description":"Grunt prior to version 1.5.2 is vulnerable to path traversal.","status":"published","published":"2022-04-13T00:00:16Z","modified":"2026-09-10T03:49:18.059750979Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T15:46:49.977351Z"},{"id":"OESA-2022-1638","title":"nodejs-grunt security update","description":"Grunt is the JavaScript task runner. Why use a task runner? In one word: automation. The less work you have to do when performing repetitive tasks like minification, compilation, unit testing, linting, etc, the easier your job becomes. After you've configured it, a task runner can do most of that mundane work for you with basically zero effort.\r\n\r\nSecurity Fix(es):\nPath Traversal in GitHub repository gruntjs/grunt prior to 1.5.2.(CVE-2022-0436)","status":"published","published":"2022-05-11T11:04:54Z","modified":"2026-08-18T01:16:33.128777402Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"updated_at":"2026-11-02T15:52:39.528805Z"},{"id":"UBUNTU-CVE-2022-0436","description":"Path Traversal in GitHub repository gruntjs/grunt prior to 1.5.2.","status":"published","published":"2022-04-12T21:15:00Z","modified":"2026-04-07T10:55:04.986364Z","cvss":[{"version":"3.0","score":7.1,"vector":"CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"high"},{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"updated_at":"2026-11-02T16:53:51.630172Z"},{"id":"DLA-3386-1","title":"grunt - security update","status":"published","published":"2023-04-06T00:00:00Z","modified":"2026-03-09T01:20:33.595825Z","updated_at":"2026-11-02T15:46:11.734021Z"},{"id":"USN-5847-1","title":"grunt vulnerabilities","description":"It was discovered that Grunt was not properly loading YAML files before\nparsing them. An attacker could possibly use this issue to execute\narbitrary code. (CVE-2020-7729)\n\nIt was discovered that Grunt was not properly handling symbolic links\nwhen performing file copy operations. An attacker could possibly use this\nissue to expose sensitive information or execute arbitrary code.\n(CVE-2022-0436)\n\nIt was discovered that there was a race condition in the Grunt file copy\nfunction, which could lead to an arbitrary file write. An attacker could\npossibly use this issue to perform a local privilege escalation attack or\nto execute arbitrary code. (CVE-2022-1537)\n","status":"published","published":"2023-02-07T18:56:35Z","modified":"2026-04-27T16:47:19.671911767Z","updated_at":"2026-11-02T16:58:16.738762Z"}]}}
