---
id: CVE-2020-37279
title: >-
  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
summary: >-
  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 fi…
severity: high
cvss: 8.1
cvssVector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H'
cwe:
  - CWE-78
vendor: karuppiah7890
product: easy-pdf-merge
affected:
  - easy-pdf-merge >= 0.1.0 <= 0.2.6
published: '2026-10-12'
updated: '2026-10-16'
sourceUpdated: '2026-10-16T19:18:44.867'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2020-37279'
references:
  - url: 'https://github.com/karuppiah7890/easy-pdf-merge'
    label: disclosure@vulncheck.com
  - url: >-
      https://github.com/karuppiah7890/easy-pdf-merge/blob/v0.2.6/source/lib/PDFMerger.js#L71-L75
    label: disclosure@vulncheck.com
  - url: 'https://github.com/karuppiah7890/easy-pdf-merge/pull/28'
    label: disclosure@vulncheck.com
  - url: 'https://github.com/karuppiah7890/easy-pdf-merge/pull/45'
    label: disclosure@vulncheck.com
  - url: >-
      https://www.vulncheck.com/advisories/easy-pdf-merge-0.1.0-through-0.2.6-os-command-injection-via-merge-function
    label: disclosure@vulncheck.com
  - url: 'https://github.com/karuppiah7890/easy-pdf-merge/pull/28'
    label: 134c704f-9b21-4f2e-91b3-4a467353bcc0
tags:
  - nvd
  - cve.org
  - exploit-available
epss: 0.0188
epssPercentile: 0.79341
exploitAvailable: true
ssvc:
  exploitation: poc
  automatable: 'no'
  technicalImpact: total
  timestamp: '2026-10-13T17:35:46.284981Z'
ingestedAt: '2026-10-12T22:05:40.348Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
