
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-26833 is an OS command injection vulnerability in the thumbler Node.js package (versions through 1.1.2) that allows unauthenticated remote attackers to execute arbitrary OS commands on the host system. The flaw exists in the thumbnail() function within lib/thumbler.js, where user-supplied values for the input, output, time, or size parameters are concatenated directly into a shell command string passed to child_process.exec() without sanitization. It was published on March 25, 2026, with a proof-of-concept released the same day. It carries a CVSS v3.1 base score of 9.8 (Critical) (Feedly, PoC Advisory).
The root cause is classified as CWE-78 (OS Command Injection) and CWE-94 (Code Injection). The vulnerable code in lib/thumbler.js constructs an ffmpeg shell command via string concatenation: exec('ffmpeg -ss ' + time + ' -i "' + input + '" -vframes 1 -s ' + size + ' "' + output + '"', ...). Because child_process.exec() invokes a shell to interpret the resulting string, any of the four attacker-controlled parameters (input, output, time, size) can inject shell metacharacters (e.g., ;, |, &&) to append arbitrary commands. No authentication or special privileges are required — any application that passes user-controlled data to thumbnail() is vulnerable (PoC Advisory, thumbler repo).
Successful exploitation grants an unauthenticated attacker the ability to execute arbitrary OS commands with the privileges of the Node.js process hosting the application. This results in full compromise of confidentiality (reading sensitive files, credentials, environment variables), integrity (modifying or deleting data, planting backdoors), and availability (crashing or disrupting the service). In containerized or cloud environments, the impact may extend to lateral movement if the process has access to cloud metadata services or shared network resources (Feedly, PoC Advisory).
A public proof-of-concept exploit was published on GitHub on March 25, 2026, demonstrating command injection via the input parameter: require("thumbler").thumbnail('test.mp4"; id > /tmp/pwned; echo "', ...). The EPSS score is approximately 0.43%, indicating a relatively low (but non-negligible) probability of exploitation in the wild. As of the time of reporting, there is no evidence of active in-the-wild exploitation or threat actor attribution, and the vulnerability is not listed in the CISA KEV catalog (Feedly, PoC Advisory).
thumbler npm package (version ≤ 1.1.2) and exposes an endpoint that accepts user-controlled media file paths or thumbnail parameters.input). For example: 'test.mp4"; id > /tmp/pwned; echo "' — the double-quote and semicolon break out of the ffmpeg command string and inject a new shell command.thumbnail(). This can be done via a file upload form, API request, or any interface that feeds user input into the thumbler library.child_process.exec() with the injected shell string, causing the OS to execute the injected command (e.g., id > /tmp/pwned) with the privileges of the Node.js process./bin/sh, bash, curl, wget, python) with unusual arguments or parent-child relationships./tmp/ (e.g., /tmp/pwned); new cron jobs, SSH authorized keys, or web shells added by the Node.js service account.ffmpeg command strings containing shell metacharacters (;, |, &&, $(, `); Node.js error logs with unexpected child_process.exec failures or unusual command output (PoC Advisory).As of March 24, 2026, no fixed version of thumbler has been released by the maintainer. The primary recommended mitigations are: (1) Do not pass untrusted user input to the thumbnail() function's input, output, time, or size parameters; (2) Replace child_process.exec() with child_process.execFile() or child_process.spawn() using argument arrays to avoid shell interpretation; (3) Migrate to a maintained alternative thumbnail generation library; (4) Apply strict input validation (allowlist of safe characters) for any data passed to the function; and (5) Run the Node.js process with least privilege and in a container with restricted capabilities to limit blast radius (PoC Advisory, Feedly).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."