CVE-2020-37279
CRITICAL 9.2 ALL-YEARSeasy-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.
Severe if exploited (CVSS 9.2), but no confirmed exploitation. Patch on a normal cadence.
Exploitation likelihood
1.9%chance of exploitation in 30 days · 79th percentile
Impact if exploited
9.2CVSS 4.0 · CRITICAL · CNA
- ConfidentialityHigh
- IntegrityHigh
- AvailabilityHigh
What an attacker needs
- ✓Access: Reachable over the network — no local access needed
- ✓Privileges: No account or privileges required
- ✓User interaction: No user interaction needed
- ✓Complexity: No special conditions — reliably repeatable
- ⚠Requirements: Specific conditions must be present
✓ lowers the bar for an attacker · ⚠ raises it
Proof of concept
No public PoC is currently catalogued.
Search for new PoCs
Search GitHub now — results may be empty or unverified.
Tracked sources are checked weekly for the full archive, including PoCs published after the original disclosure. A later release appears after a tracked source lists it and a refresh succeeds.
Data snapshot:
Weakness (CWE)
- CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')
CVSS 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
References and research data (JSON)
All CVSS metrics
- CRITICAL 9.2 v4.0 · CNA Primary
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 - HIGH 8.1 v3.1 · CNA Primary
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - CRITICAL 9.2 v4.0 · NVD Secondary
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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - HIGH 8.1 v3.1 · NVD Secondary
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
References
Exploit-tagged references (not proof of a PoC)
- https://github.com/karuppiah7890/easy-pdf-merge/pull/28 CVE record · VulnCheck · Updated 2026-10-12T20:55:03.883Z
CVE record · CISA-ADP · Updated 2026-10-13T17:36:30.801Z
NVD · CVE-2020-37279 · Updated 2026-10-16T19:18:44.867
Patches & mitigations
- https://github.com/karuppiah7890/easy-pdf-merge/pull/45 CVE record · VulnCheck · Updated 2026-10-12T20:55:03.883Z
NVD · CVE-2020-37279 · Updated 2026-10-16T19:18:44.867
Advisories
- https://www.vulncheck.com/advisories/easy-pdf-merge-0.1.0-through-0.2.6-os-command-injection-via-merge-function CVE record · VulnCheck · Updated 2026-10-12T20:55:03.883Z
NVD · CVE-2020-37279 · Updated 2026-10-16T19:18:44.867 - https://euvd.enisa.europa.eu/vulnerability/EUVD-2020-31276 EUVD · EUVD-2020-31276
Technical & other
- https://github.com/karuppiah7890/easy-pdf-merge/blob/v0.2.6/source/lib/PDFMerger.js#L71-L75 CVE record · VulnCheck · Updated 2026-10-12T20:55:03.883Z
NVD · CVE-2020-37279 · Updated 2026-10-16T19:18:44.867 - https://github.com/karuppiah7890/easy-pdf-merge CVE record · VulnCheck · Updated 2026-10-12T20:55:03.883Z
NVD · CVE-2020-37279 · Updated 2026-10-16T19:18:44.867
Sources: NVD · CVE.org · All sources and attribution · EPSS