{"id":"CVE-2020-37279","state":"PUBLISHED","title":"easy-pdf-merge 0.1.0 through 0.2.6 OS Command Injection via merge function","description":"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.","publishedAt":"2026-10-12T20:55:03.883Z","updatedAt":"2026-10-13T17:36:30.801Z","severity":{"score":9.2,"label":"Critical","version":"4.0","vector":"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","source":"VulnCheck"},"assigner":"VulnCheck","products":["karuppiah7890 easy-pdf-merge"],"affected":[{"vendor":"karuppiah7890","product":"easy-pdf-merge","packageURL":"pkg:npm/easy-pdf-merge","defaultStatus":"unaffected","versions":[{"version":"0.1.0","status":"affected","lessThanOrEqual":"0.2.6","versionType":"semver"}],"repo":"https://github.com/karuppiah7890/easy-pdf-merge"}],"references":["https://github.com/karuppiah7890/easy-pdf-merge/pull/28","https://github.com/karuppiah7890/easy-pdf-merge/pull/45","https://github.com/karuppiah7890/easy-pdf-merge/blob/v0.2.6/source/lib/PDFMerger.js#L71-L75","https://github.com/karuppiah7890/easy-pdf-merge","https://www.vulncheck.com/advisories/easy-pdf-merge-0.1.0-through-0.2.6-os-command-injection-via-merge-function"],"weaknesses":["CWE-78"],"ingestedAt":"2026-10-29T19:47:27.394Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2020/37xxx/CVE-2020-37279.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2020-37279","state":"PUBLISHED","datePublished":"2026-10-12T20:55:03.883Z","dateUpdated":"2026-10-13T17:36:30.801Z","assignerShortName":"VulnCheck","assignerOrgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","dateReserved":"2026-10-12T19:27:41.300Z"},"containers":{"cna":{"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."}],"affected":[{"vendor":"karuppiah7890","product":"easy-pdf-merge","packageURL":"pkg:npm/easy-pdf-merge","defaultStatus":"unaffected","versions":[{"version":"0.1.0","status":"affected","lessThanOrEqual":"0.2.6","versionType":"semver"}],"repo":"https://github.com/karuppiah7890/easy-pdf-merge"}],"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"]},{"url":"https://www.vulncheck.com/advisories/easy-pdf-merge-0.1.0-through-0.2.6-os-command-injection-via-merge-function","name":"VulnCheck Advisory: easy-pdf-merge 0.1.0 through 0.2.6 OS Command Injection via merge function","tags":["third-party-advisory"]}],"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"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-78","lang":"en","description":"Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')","type":"CWE"}]}],"providerMetadata":{"shortName":"VulnCheck","orgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","dateUpdated":"2026-10-12T20:55:03.883Z"},"datePublic":"2020-09-10T00:00:00.000Z","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"}},"adp":[{"title":"CISA ADP Vulnrichment","references":[{"url":"https://github.com/karuppiah7890/easy-pdf-merge/pull/28","tags":["exploit"]}],"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-10-13T17:35:46.284981Z","id":"CVE-2020-37279","options":[{"Exploitation":"poc"},{"Automatable":"no"},{"Technical Impact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-13T17:36:30.801Z"}}]}}}