VYPR
Critical severityNVD Advisory· Published Apr 2, 2020· Updated Aug 4, 2024

CVE-2020-7624

CVE-2020-7624

Description

The 'effect' npm package (≤1.0.4) is vulnerable to command injection via unsanitized user input in the options argument, allowing arbitrary command execution.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

The 'effect' npm package (≤1.0.4) is vulnerable to command injection via unsanitized user input in the options argument, allowing arbitrary command execution.

Vulnerability

Overview

The effect npm package, versions up to and including 1.0.4, contains a command injection vulnerability. The package is designed to add effects to images, and the vulnerability resides in the helper.js file (line 24) where user-controlled input passed via the options argument is used to construct a shell command without proper sanitization [1][3]. This allows an attacker to inject arbitrary commands.

Exploitation

An attacker can exploit this by controlling the options object, specifically the image property, and injecting shell metacharacters. The proof-of-concept provided demonstrates using "& touch Song" as the image value, which results in the execution of the touch command on the server [1]. No authentication is required if the application passes user-supplied data directly to the options argument.

Impact

Successful exploitation enables arbitrary command execution on the server hosting the application. This can lead to full system compromise, including data exfiltration, installation of malware, or further lateral movement within the network [1].

Mitigation

A fix has been pushed to the master branch of the repository but has not yet been published as a new npm package version [1]. Users are advised to avoid passing unsanitized user input to the options argument or to manually apply the fix from the repository. Note that the Snyk advisory includes an amendment stating the issue was deemed not a vulnerability, but the CVE remains assigned [1][2].

AI Insight generated on May 21, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
effectnpm
<= 1.0.4

Affected products

2

Patches

0

No patches discovered yet.

Vulnerability mechanics

Root cause

"The `effect` package passes the unsanitized `options` argument directly into an OS command construction, enabling command injection."

Attack vector

An attacker can supply a crafted `options` object containing shell metacharacters (e.g., `;`, `&&`, backticks) to the `effect` library. Because the library does not neutralize these special elements before constructing an OS command, the injected payload is executed on the host system [CWE-78]. The attack requires no special privileges beyond the ability to pass user-controlled input as the `options` argument.

Affected code

The vulnerability resides in the `helper.js` file of the `effect` npm package, specifically around line 24 [ref_id=1]. The `options` argument is passed unsanitized into a command execution path, allowing an attacker to inject arbitrary OS commands.

What the fix does

The advisory points to the vulnerable code at `helper.js#L24` [ref_id=1] but does not include a patch diff. To remediate, the library must properly escape or validate the `options` argument before incorporating it into an OS command, or switch to a safer API such as `child_process.execFile` that does not spawn a shell. Without a published fix, users should avoid passing untrusted input to the `options` parameter.

Preconditions

  • inputThe attacker must be able to control the `options` argument passed to the `effect` library function.

Generated on May 30, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

5

News mentions

0

No linked articles in our index yet.