High
Security advisory
The package grunt before 1.3.0 are vulnerable to Arbitrary Code Execution due to the default usage of the function load() instead of its secure replacement safeLoad() of the package js-yaml inside grunt.file.readYAML.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2020-7729
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 11:30 UTC · Revision 1
Source evidence
The package grunt before 1.3.0 are vulnerable to Arbitrary Code Execution due to the default usage of the function load() instead of its secure replacement safeLoad() of the package js-yaml inside grunt.file.readYAML.
osv:CVE-2020-7729
Complete source record
{
"id": "831e5f102c95acee4f5e89e05bc4f9481dc735edb25fb567f5bfd81a63edddc0",
"url": "https://osv.dev/vulnerability/CVE-2020-7729",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "CVE-2020-7729",
"summary": "The package grunt before 1.3.0 are vulnerable to Arbitrary Code Execution due to the default usage of the function load() instead of its secure replacement safeLoad() of the package js-yaml inside grunt.file.readYAML.",
"evidence": "osv:CVE-2020-7729",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2020-7729",
"aliases": [
"CVE-2020-7729",
"GHSA-m5pj-vjjf-4m3h"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/gruntjs/grunt",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "6f49017a394db9a7573ba402db87602e05fb9368"
},
{
"fixed": "e350cea1724eb3476464561a380fb6a64e61e4e7"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:gruntjs:grunt:*:*:*:*:*:node.js:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "1.3.0"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "e350cea1724eb3476464561a380fb6a64e61e4e7"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"versions": [
"v1.2.1",
"v1.2.0",
"v1.1.0",
"v1.0.4",
"v1.0.3",
"v1.0.2",
"v1.0.1",
"v1.0.0",
"v1.0.0-rc1",
"v0.4.5",
"v0.4.4",
"v0.4.3",
"v0.4.2",
"v0.4.1",
"v0.4.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2020-7729.json"
}
}
],
"modified": "2026-10-20T10:54:24.512687459Z",
"provider": "osv",
"references": [
"https://github.com/gruntjs/grunt/blob/master/lib/grunt/file.js%23L249",
"https://lists.debian.org/debian-lts-announce/2020/09/msg00008.html",
"https://snyk.io/vuln/SNYK-JAVA-ORGWEBJARSNPM-607922",
"https://usn.ubuntu.com/4595-1/",
"https://github.com/gruntjs/grunt/commit/e350cea1724eb3476464561a380fb6a64e61e4e7",
"https://snyk.io/vuln/SNYK-JS-GRUNT-597546"
],
"provider_metadata": {
"unresolved_ranges": [
{
"cpes": [
"cpe:2.3:o:canonical:ubuntu_linux:18.04:*:*:*:lts:*:*:*"
],
"vendor_product": "canonical:ubuntu_linux",
"extracted_events": [
{
"range": [
{
"introduced": "18.04"
},
{
"last_affected": "18.04"
}
],
"source": "CPE_STRING"
}
]
},
{
"cpes": [
"cpe:2.3:o:debian:debian_linux:9.0:*:*:*:*:*:*:*"
],
"vendor_product": "debian:debian_linux",
"extracted_events": [
{
"range": [
{
"introduced": "9.0"
},
{
"last_affected": "9.0"
}
],
"source": "CPE_STRING"
}
]
}
]
}
},
"related_cves": [
{
"value": "CVE-2020-7729",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 385307,
"published_at": "2020-09-03T09:15:10.36+00:00"
}