Skip to content
Tuesday, October 13, 2026AboutContactRSS
Vulnerabilities

easy-pdf-merge 0.2.6 and Earlier Suffer Critical Command Injection Flaw

National Vulnerability Database records CVE-2020-37279 as a critical risk in the Node.js library, enabling arbitrary OS command execution through manipulated file paths.

Updated with new details.
Illustration: A single white PDF document rests on a clean desk, split in half by a jagged crack.
AI-generated illustration: Threat Times

Key points

  • The vulnerability affects easy-pdf-merge versions 0.1.0 through 0.2.6.
  • CVSS score is 9.2, categorized as Critical by NVD.
  • Attackers inject shell metacharacters to execute commands with Node.js privileges.

The National Vulnerability Database lists CVE-2020-37279 as a critical severity flaw in the easy-pdf-merge Node.js package. This vulnerability allows attackers to execute arbitrary operating system commands on systems running affected versions of the library. The issue stems from improper validation of user-supplied input within the software.

At a glance

CVE
CVE-2020-37279
Product
karuppiah7890 easy-pdf-merge
CVSS
9.2 Critical
Weakness
OS command injection
Exploited
No known exploitation

The flaw exists in versions 0.1.0 through 0.2.6 of the library created by developer karuppiah7890. According to the NVD record, the vulnerability receives a CVSS score of 9.2. This score categorizes the issue as Critical. The underlying weakness is identified as CWE-78, which relates to OS command injection issues.

Technical Details of the Vulnerability

The vulnerability arises because the library uses the Node.js child_process.exec() function to run shell commands. This method executes commands through a shell rather than directly, which introduces security risks if input is not properly sanitized. Attackers can exploit this by injecting specific shell metacharacters into various options provided to the library.

Specifically, the NVD description notes that attackers can inject metacharacters into the source paths, destination path, or maxHeap option. These inputs are processed by the shell, allowing the execution of unintended commands. The commands run with the same privileges as the Node.js process hosting the application. This means the level of access gained depends on how the application is deployed.

Affected Versions and Input Vectors

The affected versions include all releases from 0.1.0 up to and including 0.2.6. The library is designed to merge PDF files. Any application using these versions of easy-pdf-merge is potentially vulnerable to this injection attack.

Attackers supply file names or options containing specific characters to trigger the exploit. The source material identifies double quotes, semicolons, dollar signs followed by parentheses, and backticks as effective injection vectors. These characters allow the attacker to break out of the intended command and execute their own shell instructions. The library fails to neutralize these special characters before passing them to the shell.

What should you do?

Security teams should audit their Node.js projects for the presence of easy-pdf-merge. If the library is found, check the version number against the affected range. Applications using versions 0.1.0 through 0.2.6 are at risk. Since no fix is confirmed in the provided material, immediate mitigation steps are necessary to reduce exposure.

Review all code paths that utilize the merge function. Ensure that any user-controlled input destined for source paths, destination paths, or maxHeap options is strictly validated. Do not trust client-side input for these parameters. Consider implementing allowlists for file names and paths if possible. Monitor server logs for unexpected command executions or unusual process activity that might indicate an attempted exploit.

What to do and how to stay safe: easy-pdf-merge

  • Audit your Node.js dependencies to identify if easy-pdf-merge versions 0.1.0 through 0.2.6 are installed in your project.
  • Implement strict input validation for all parameters passed to the library, rejecting any input containing shell metacharacters like semicolons or backticks.
  • Review server logs for signs of unauthorized command execution or unusual process spawning that may indicate exploitation attempts.
  • Consult the package maintainer or official repository for announcements regarding patched versions or security advisories.

Step-by-step guide: Risk Based Vulnerability Management: Prioritize Fixes by Actual Threat

General security guidance from the Threat Times newsroom. It is not confirmed advice from the organisations named in this story.

Frequently asked questions

Which versions of easy-pdf-merge are affected by CVE-2020-37279?

Versions 0.1.0 through 0.2.6 of the easy-pdf-merge library are affected by this vulnerability.

What type of vulnerability is CVE-2020-37279?

It is an OS command injection vulnerability classified as CWE-78 with a CVSS score of 9.2.

How do attackers exploit this vulnerability?

Attackers inject shell metacharacters such as double quotes, semicolons, $(), or backticks into source paths, destination paths, or maxHeap options.

Sources

  1. CVE Program
easy-pdf-mergeCVE-2020-37279Node.jsOS command injectionkaruppiah7890
Related articles