A critical flaw in Whisper-node 1.1.1 allows attackers to run system commands by manipulating file paths and language options.
Key points
- CVE-2026-110640 affects Whisper-node versions up to 1.1.1.
- The vulnerability has a CVSS score of 9.3, rated critical.
- Attackers can execute commands with Node.js process privileges.
A critical security flaw in Whisper-node allows attackers to execute arbitrary system commands. This vulnerability affects all versions up to and including 1.1.1, posing a significant risk to users who process untrusted inputs.
What happened
The National Vulnerability Database lists CVE-2026-110640 as a critical issue in Whisper-node through version 1.1.1. The flaw is an OS command injection vulnerability, categorized under CWE-78. Attackers can exploit this by supplying crafted values for `filePath` or `whisperOptions.language` to the `whisper()` function.
According to the NVD record, malicious input allows attackers to inject shell metacharacters or `$()` substitution into the command string. This string is built by `createCppCommand()` and executed via `shelljs exec()`. The result is the execution of commands with the privileges of the Node.js process.
This mirrors a pattern seen in other tools, such as the critical OS command injection flaw in Stills versions before 25.24.2 that Crypt Weekly reported on 2026-10-14. In that case, crafted file paths also allowed remote code execution, highlighting the persistent danger of improper input handling in command-building functions.
Why it matters
Command injection occurs when software passes unsafe user input to a system shell. Attackers insert special characters to break out of the intended command and run their own code. This is dangerous because the new commands run with the same permissions as the application.
Teams usually validate all external inputs before they reach command-line functions. Check whether your applications trust user-supplied file paths or language settings. Ensure that inputs are sanitized or that commands are executed without invoking a shell. This reduces the risk of arbitrary code execution.
Why it matters
Understanding input validation is key to preventing these exploits. When applications build commands dynamically, they must treat all external data as untrusted. Failing to escape or validate special characters allows attackers to alter the command's intent.
Organizations should audit code that interfaces with the operating system. Look for functions that concatenate strings to form commands. Implement strict allowlists for expected input formats. This proactive approach helps identify weaknesses before they are exploited in production environments.
The fix
- Update Whisper-node to a version newer than 1.1.1 if available.
- Validate and sanitize all `filePath` inputs before processing.
- Sanitize `whisperOptions.language` values to remove shell metacharacters.
- Avoid using `shelljs exec()` with untrusted user input.
Background: Input validation
Input validation fails when developers treat it as a final gate rather than a continuous constraint. You must validate data at every boundary, enforce strict type checking, and separate parsing from processing. Security regression testing helps catch when new features break these rules.
Read the full guide: Input Validation Errors: 6 Misconceptions Blocking Your Security
What to do and how to stay safe: Whisper-node
- Audit your dependencies for Whisper-node versions up to 1.1.1.
- Review code that passes user input to system commands.
- Implement strict input validation for file paths and language options.
- Monitor logs for unexpected command executions or shell activity.
Step-by-step guide: Patch Testing: How to Verify Fixes Without Breaking Your Systems
General security guidance from the Crypt Weekly newsroom. It is not confirmed advice from the organisations named in this story.
Frequently asked questions
What is the CVSS score for CVE-2026-110640?
The CVSS score is 9.3, which is rated as critical severity.
Which versions of Whisper-node are affected?
All versions of Whisper-node up to and including 1.1.1 are affected.
How do attackers exploit this vulnerability?
Attackers supply crafted filePath or whisperOptions.language values to inject shell metacharacters.



