{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2020-37279", "assignerOrgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10", "state": "PUBLISHED", "assignerShortName": "VulnCheck", "dateReserved": "2026-10-12T19:27:41.300Z", "datePublished": "2026-10-12T20:55:03.883Z", "dateUpdated": "2026-10-12T20:55:03.883Z" }, "containers": { "cna": { "providerMetadata": { "orgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10", "shortName": "VulnCheck", "dateUpdated": "2026-10-12T20:55:03.883Z" }, "datePublic": "2020-09-10T00:00:00.000Z", "title": "easy-pdf-merge 0.1.0 through 0.2.6 OS Command Injection via merge function", "descriptions": [ { "lang": "en", "value": "easy-pdf-merge 0.1.0 through 0.2.6 contains an OS command injection vulnerability that allows attackers to execute commands by injecting shell metacharacters into source paths, destination path, or maxHeap option. Attackers can supply file names or options containing double quotes, semicolons, $() or backticks, which child_process.exec() runs through a shell with the Node.js process privileges." } ], "problemTypes": [ { "descriptions": [ { "lang": "en", "description": "Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')", "cweId": "CWE-78", "type": "CWE" } ] } ], "affected": [ { "vendor": "karuppiah7890", "product": "easy-pdf-merge", "defaultStatus": "unaffected", "versions": [ { "version": "0.1.0", "status": "affected", "versionType": "semver", "lessThanOrEqual": "0.2.6" } ], "packageURL": "pkg:npm/easy-pdf-merge", "repo": "https://github.com/karuppiah7890/easy-pdf-merge" } ], "metrics": [ { "format": "CVSS", "cvssV4_0": { "version": "4.0", "vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N", "attackVector": "NETWORK", "attackComplexity": "LOW", "attackRequirements": "PRESENT", "privilegesRequired": "NONE", "userInteraction": "NONE", "vulnConfidentialityImpact": "HIGH", "vulnIntegrityImpact": "HIGH", "vulnAvailabilityImpact": "HIGH", "subConfidentialityImpact": "NONE", "subIntegrityImpact": "NONE", "subAvailabilityImpact": "NONE", "baseScore": 9.2, "baseSeverity": "CRITICAL" } }, { "format": "CVSS", "cvssV3_1": { "version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH", "baseScore": 8.1, "baseSeverity": "HIGH" } } ], "references": [ { "url": "https://github.com/karuppiah7890/easy-pdf-merge/pull/28", "tags": [ "issue-tracking", "patch" ], "name": "GitHub Pull Request #28" }, { "url": "https://github.com/karuppiah7890/easy-pdf-merge/pull/45", "tags": [ "issue-tracking", "patch" ], "name": "GitHub Pull Request #45" }, { "url": "https://github.com/karuppiah7890/easy-pdf-merge/blob/v0.2.6/source/lib/PDFMerger.js#L71-L75", "tags": [ "technical-description" ], "name": "Vulnerable code in PDFMerger.js" }, { "url": "https://github.com/karuppiah7890/easy-pdf-merge", "tags": [ "product" ] }, { "name": "VulnCheck Advisory: easy-pdf-merge 0.1.0 through 0.2.6 OS Command Injection via merge function", "tags": [ "third-party-advisory" ], "url": "https://www.vulncheck.com/advisories/easy-pdf-merge-0.1.0-through-0.2.6-os-command-injection-via-merge-function" } ], "credits": [ { "lang": "en", "value": "AGIPOO (Kim Jeong-hoon)", "type": "finder" }, { "lang": "en", "value": "Asjidkalam", "type": "finder" }, { "lang": "en", "value": "BrianWillows", "type": "finder" } ], "x_generator": { "engine": "vulncheck-endgame" } } } }