Critical OS Command Injection Flaw Found in ppt2png npm Package
A critical vulnerability in ppt2png allows remote attackers to execute arbitrary system commands via unsanitized file path arguments.

Key points
- CVE-2026-107699 is rated 9.3 (Critical) on the CVSS scale.
- The flaw affects ppt2png versions up to and including 0.0.6.
- Attackers can inject shell metacharacters to execute commands with Node.js privileges.
A critical operating system command injection vulnerability has been identified in the ppt2png Node.js package, allowing attackers to execute arbitrary system commands. The flaw, tracked as CVE-2026-107699, affects all versions of the library up to and including 0.0.6.
At a glance
- CVE
- CVE-2026-107699
- Product
- tzwm ppt2png
- CVSS
- 9.3 Critical
- Weakness
- OS command injection
- Exploited
- No known exploitation
The vulnerability stems from insufficient input validation within the ppt2png.js file. Specifically, the library fails to sanitize input or output path arguments before passing them to the `child_process.exec()` function. This oversight permits an attacker to append shell metacharacters, such as a semicolon, to file names. When processed, these injected characters allow the execution of operating system commands with the same privileges as the running Node.js process.
Technical Details and Severity
The National Vulnerability Database (NVD) has assigned a CVSS score of 9.3 to CVE-2026-107699, classifying the severity as Critical. The weakness is categorized under CWE-78, which refers to Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection').
According to the NVD record, the attack vector involves supplying unsanitized input or output path arguments. Because the `child_process.exec()` function in Node.js executes commands via the shell, it is inherently susceptible to injection if user-controlled data is not properly escaped. By manipulating the file name argument, an attacker can break out of the intended command context and run their own code. This execution occurs with the privileges of the Node.js process, potentially leading to full system compromise if the service runs with elevated permissions.
Who Is Affected
The vulnerability affects software projects that depend on the `ppt2png` package, published by the vendor tzwm. The issue is present in all releases up to version 0.0.6. Organizations and developers utilizing this library to convert PowerPoint presentations to PNG images are at risk if they process files from untrusted sources or allow user input to influence file paths.
Any application integrating ppt2png that passes user-controlled data into the conversion function without additional sanitization layers is vulnerable. The impact depends on the deployment environment; however, the ability to execute OS commands represents a severe security risk in most web and server-side architectures.
What should you do?
Developers should immediately audit their dependencies to check for the presence of ppt2png versions 0.0.6 or lower. If the package is in use, teams should evaluate the risk of exposure. Since the source material does not confirm the release of a patched version, immediate mitigation strategies are required.
Until a fix is confirmed, organizations should avoid passing user-controlled input directly to the ppt2png library’s file path arguments. Implementing strict input validation and sanitization on the application level before data reaches the library can help mitigate the risk. Additionally, running the Node.js process with the least privilege necessary can limit the potential damage of a successful exploitation.
What to do and how to stay safe: ppt2png
- Patch scores alone ignore context like network exposure and asset criticality.
- You must map vulnerabilities to specific business risks to prioritize correctly.
- Continuous exposure data replaces static scanning for accurate prioritization.
Prioritize vulnerabilities by actual exploitability and business impact, not by theoretical severity scores. Update your asset context and exposure data continuously to maintain accurate risk rankings.
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
What is CVE-2026-107699?
It is a critical OS command injection vulnerability in the ppt2png npm package that allows attackers to execute system commands via unsanitized file paths.
Which versions of ppt2png are affected?
All versions of the tzwm ppt2png package up to and including version 0.0.6 are affected by this vulnerability.
Is there a patch available for this flaw?
The provided source material does not confirm the availability of a patch or updated version that fixes this issue.


