CVE-2016-4991: Input passed to the Pdf() function is shell escaped and passed to child_process.exec() during PDF rendering
CVE-2016-4991 is a critical-severity flaw (CVSS 9.8) affecting nodepdf. Below: why it ranks where it does, which versions are affected, what to do, and the exact commands.
Input passed to the Pdf() function is shell escaped and passed to child_process.exec() during PDF rendering. However, the shell escape does not properly encode all special characters, namely, semicolon and curly braces. This can be abused to achieve command execution. This problem affects nodepdf 1.3.0.
Why this priority
- Critical severity
- Public exploit reference
- Remotely exploitable, no login, no user action
No fix is published yet: follow the downgrade or mitigation steps.
Risk facts
| CVSS score | 9.8 (Critical) |
| Attack vector | Network (remote) |
| Attack complexity | Low |
| Privileges needed | None |
| User interaction | None |
| EPSS exploit chance | 1.8% (top 21%) |
| CISA exploited list | No |
| Weakness | CWE-77 |
| Published | 2022-07-28 |
| Last modified | 2026-06-17 |
Last updated 2026-06-17 · Sources: CVE Program, NVD, CISA KEV, EPSS and vendor advisories · How we score
Am I affected?
Timeline
- Published CVE record published
- Updated Record last modified
Scores and fixes here are computed automatically from those and other public sources. Confirm with the vendor advisory before changing production systems.
Quick answers
How do I fix CVE-2016-4991?
nodepdf: downgrade or apply the listed mitigation. Exact commands for each OS are on this page.
Is CVE-2016-4991 being exploited?
CVE-2016-4991 is not on the CISA Known Exploited Vulnerabilities list at the time of the last update. Check again, as this can change.
What does CVE-2016-4991 affect?
CVE-2016-4991 affects nodepdf. Severity is critical (CVSS 9.8). Input passed to the Pdf() function is shell escaped and passed to child_process.exec() during PDF rendering. However, the shell escape does not properly encode all special characters, namely, semicolon and curly braces. This can be abused t
How urgent is CVE-2016-4991?
Priority 64/100. Critical severity; Public exploit reference; Remotely exploitable, no login, no user action