Vulnerabilities |
11 via 36 paths |
|---|---|
Dependencies |
442 |
Source |
GitHub |
Find, fix and prevent vulnerabilities in your code.
critical severity
new
- Vulnerable module: shescape
- Introduced through: @snyk/snyk-cocoapods-plugin@3.1.1, @snyk/snyk-hex-plugin@2.2.1 and others
Detailed paths
-
Introduced through: snyk@snyk/snyk › @snyk/snyk-cocoapods-plugin@3.1.1 › shescape@2.1.6Remediation: Upgrade to @snyk/snyk-cocoapods-plugin@3.1.2.
-
Introduced through: snyk@snyk/snyk › @snyk/snyk-hex-plugin@2.2.1 › shescape@2.1.6Remediation: Upgrade to @snyk/snyk-hex-plugin@2.2.3.
-
Introduced through: snyk@snyk/snyk › snyk-sbt-plugin@3.1.1 › shescape@2.1.6Remediation: Upgrade to snyk-sbt-plugin@3.1.3.
Overview
shescape is a simple shell escape library
Affected versions of this package are vulnerable to Command Injection via the getEscapeFunction function when using the escape or escapeAll APIs on Windows with shell set to cmd.exe, or with shell set to true when CMD is the default. An attacker can execute arbitrary commands by supplying specially crafted arguments that break out of a parenthesized CMD construct and inject shell syntax.
Remediation
Upgrade shescape to version 2.1.14, 3.0.1 or higher.
References
critical severity
- Vulnerable module: shescape
- Introduced through: @snyk/snyk-cocoapods-plugin@3.1.1, @snyk/snyk-hex-plugin@2.2.1 and others
Detailed paths
-
Introduced through: snyk@snyk/snyk › @snyk/snyk-cocoapods-plugin@3.1.1 › shescape@2.1.6Remediation: Upgrade to @snyk/snyk-cocoapods-plugin@3.1.2.
-
Introduced through: snyk@snyk/snyk › @snyk/snyk-hex-plugin@2.2.1 › shescape@2.1.6Remediation: Upgrade to @snyk/snyk-hex-plugin@2.2.3.
-
Introduced through: snyk@snyk/snyk › snyk-sbt-plugin@3.1.1 › shescape@2.1.6Remediation: Upgrade to snyk-sbt-plugin@3.1.3.
Overview
shescape is a simple shell escape library
Affected versions of this package are vulnerable to Improper Neutralization via the escape or escapeAll APIs when processing untrusted input containing parentheses on Windows systems configured to use CMD as the shell. An attacker can execute arbitrary commands by injecting specially crafted input that is not properly escaped. This is only exploitable if the application is running on Windows and explicitly configures the shell to CMD or relies on CMD as the default shell.
Workaround
This vulnerability can be mitigated by removing all instances of ( and ) from untrusted inputs.
Remediation
Upgrade shescape to version 2.1.14, 3.0.1 or higher.
References
high severity
new
- Vulnerable module: shescape
- Introduced through: @snyk/snyk-cocoapods-plugin@3.1.1, @snyk/snyk-hex-plugin@2.2.1 and others
Detailed paths
-
Introduced through: snyk@snyk/snyk › @snyk/snyk-cocoapods-plugin@3.1.1 › shescape@2.1.6Remediation: Upgrade to @snyk/snyk-cocoapods-plugin@3.1.2.
-
Introduced through: snyk@snyk/snyk › @snyk/snyk-hex-plugin@2.2.1 › shescape@2.1.6Remediation: Upgrade to @snyk/snyk-hex-plugin@2.2.3.
-
Introduced through: snyk@snyk/snyk › snyk-sbt-plugin@3.1.1 › shescape@2.1.6Remediation: Upgrade to snyk-sbt-plugin@3.1.3.
Overview
shescape is a simple shell escape library
Affected versions of this package are vulnerable to Improper Encoding or Escaping of Output via improper escaping in the getEscapeFunction function. An attacker can access sensitive home-directory information and potentially alter the target location of commands by supplying crafted input such as :~ when the escape or escapeAll APIs are used on Unix systems with the shell set to dash, or with shell set to true when Dash is the default, and the result is interpolated into an assignment prefixed to a command.
Remediation
Upgrade shescape to version 2.1.14, 3.0.1 or higher.
References
high severity
new
- Vulnerable module: adm-zip
- Introduced through: adm-zip@0.5.18, snyk-cpp-plugin@2.24.5 and others
Detailed paths
-
Introduced through: snyk@snyk/snyk › adm-zip@0.5.18
-
Introduced through: snyk@snyk/snyk › snyk-cpp-plugin@2.24.5 › adm-zip@0.5.18
-
Introduced through: snyk@snyk/snyk › snyk-docker-plugin@9.20.0 › adm-zip@0.5.18
Overview
adm-zip is a JavaScript implementation for zip data compression for NodeJS.
Affected versions of this package are vulnerable to Symlink Attack through the extractAllTo, extractAllToAsync, and extractEntryTo code paths in util/utils.js. An attacker can write attacker-controlled contents outside the extraction root by placing a symbolic link inside the destination directory and then supplying an archive entry that is extracted with overwrite enabled. This can replace any file the extracting process is allowed to write, breaking the integrity of files in shared, reused, or predictable extraction locations such as temporary directories or CI workspaces.
Remediation
There is no fixed version for adm-zip.
References
medium severity
- Vulnerable module: shescape
- Introduced through: @snyk/snyk-cocoapods-plugin@3.1.1, @snyk/snyk-hex-plugin@2.2.1 and others
Detailed paths
-
Introduced through: snyk@snyk/snyk › @snyk/snyk-cocoapods-plugin@3.1.1 › shescape@2.1.6Remediation: Upgrade to @snyk/snyk-cocoapods-plugin@3.1.2.
-
Introduced through: snyk@snyk/snyk › @snyk/snyk-hex-plugin@2.2.1 › shescape@2.1.6Remediation: Upgrade to @snyk/snyk-hex-plugin@2.2.3.
-
Introduced through: snyk@snyk/snyk › snyk-sbt-plugin@3.1.1 › shescape@2.1.6Remediation: Upgrade to snyk-sbt-plugin@3.1.3.
Overview
shescape is a simple shell escape library
Affected versions of this package are vulnerable to Improper Encoding or Escaping of Output in the escape function. An attacker can cause unintended expansion of shell arguments by supplying input containing square brackets, which may result in multiple filesystem matches being processed instead of a single literal argument. This can lead to changes in command behavior, targeting of unintended files, or exposure of filenames when the output is used in shell commands.
PoC
tmp=$(mktemp -d)
cd "$tmp"
npm pack shescape@2.1.9 >/dev/null
mkdir pkg
tar -xzf shescape-2.1.9.tgz -C pkg
cd pkg/package
npm install --omit=dev
node --input-type=module - <<'NODE'
import { mkdtempSync, writeFileSync } from "node:fs";
import { tmpdir } from "node:os";
import path from "node:path";
import { execSync } from "node:child_process";
import { Shescape } from "./src/index.js";
const dir = mkdtempSync(path.join(tmpdir(), "shescape-ghsa-poc-"));
writeFileSync(path.join(dir, "secret1"), "");
writeFileSync(path.join(dir, "secret2"), "");
for (const shell of ["/usr/bin/bash", "/usr/bin/dash"]) {
const shescape = new Shescape({ shell });
const escaped = shescape.escape("secret[12]");
console.log(${shell} escaped=${escaped});
const out = execSync(printf '<%s>\\n' ${escaped}, { cwd: dir, shell }).toString();
process.stdout.write(out);
}
NODE
Remediation
Upgrade shescape to version 2.1.10 or higher.
References
medium severity
new
- Vulnerable module: shescape
- Introduced through: @snyk/snyk-cocoapods-plugin@3.1.1, @snyk/snyk-hex-plugin@2.2.1 and others
Detailed paths
-
Introduced through: snyk@snyk/snyk › @snyk/snyk-cocoapods-plugin@3.1.1 › shescape@2.1.6Remediation: Upgrade to @snyk/snyk-cocoapods-plugin@3.1.2.
-
Introduced through: snyk@snyk/snyk › @snyk/snyk-hex-plugin@2.2.1 › shescape@2.1.6Remediation: Upgrade to @snyk/snyk-hex-plugin@2.2.3.
-
Introduced through: snyk@snyk/snyk › snyk-sbt-plugin@3.1.1 › shescape@2.1.6Remediation: Upgrade to snyk-sbt-plugin@3.1.3.
Overview
shescape is a simple shell escape library
Affected versions of this package are vulnerable to Command Injection in the escape and escapeAll functions when used on Unix systems with the shell explicitly configured to Zsh, or when the default shell is Zsh. An attacker can obtain lists of files and directories on the system by leveraging home directory expansion and extended glob syntax.
Note: This is only exploitable if the shell is set to Zsh and the Zsh options EXTENDED_GLOB and MAGIC_EQUAL_SUBST are enabled.
Remediation
Upgrade shescape to version 2.1.14, 3.0.1 or higher.
References
medium severity
- Vulnerable module: shescape
- Introduced through: @snyk/snyk-cocoapods-plugin@3.1.1, @snyk/snyk-hex-plugin@2.2.1 and others
Detailed paths
-
Introduced through: snyk@snyk/snyk › @snyk/snyk-cocoapods-plugin@3.1.1 › shescape@2.1.6Remediation: Upgrade to @snyk/snyk-cocoapods-plugin@3.1.2.
-
Introduced through: snyk@snyk/snyk › @snyk/snyk-hex-plugin@2.2.1 › shescape@2.1.6Remediation: Upgrade to @snyk/snyk-hex-plugin@2.2.3.
-
Introduced through: snyk@snyk/snyk › snyk-sbt-plugin@3.1.1 › shescape@2.1.6Remediation: Upgrade to snyk-sbt-plugin@3.1.3.
Overview
shescape is a simple shell escape library
Affected versions of this package are vulnerable to Improper Encoding or Escaping of Output in the escape or escapeAll process when used with the shell option set to Dash or when the default shell is Dash. An attacker can obtain the user's home directory and potentially influence the location on which a command operates by supplying specially crafted input containing ~ characters. This is only exploitable if the application explicitly configures the shell option to Dash or relies on Dash as the default shell in assignment contexts.
Workaround
This vulnerability can be mitigated by refraining from using Dash, using the env option of the node:child_process API to inject variables with untrusted values, or removing all instances of ~ from untrusted inputs.
Remediation
Upgrade shescape to version 2.1.14, 3.0.1 or higher.
References
medium severity
new
- Vulnerable module: shescape
- Introduced through: @snyk/snyk-cocoapods-plugin@3.1.1, @snyk/snyk-hex-plugin@2.2.1 and others
Detailed paths
-
Introduced through: snyk@snyk/snyk › @snyk/snyk-cocoapods-plugin@3.1.1 › shescape@2.1.6
-
Introduced through: snyk@snyk/snyk › @snyk/snyk-hex-plugin@2.2.1 › shescape@2.1.6
-
Introduced through: snyk@snyk/snyk › snyk-sbt-plugin@3.1.1 › shescape@2.1.6
-
Introduced through: snyk@snyk/snyk › snyk-gradle-plugin@7.1.3 › shescape@2.1.14
-
Introduced through: snyk@snyk/snyk › snyk-python-plugin@3.3.2 › shescape@2.1.14
Overview
shescape is a simple shell escape library
Affected versions of this package are vulnerable to Improper Encoding or Escaping of Output via the getEscapeFunction logic in src/internal/unix/busybox.js. An attacker can reveal the user's home directory and alter how a command interprets an assignment-prefixed value by supplying input such as :~ or a=~ to escape or escapeAll when Unix shell escaping targets BusyBox sh. On affected Unix systems where shell is set to "sh" or true and /bin/sh points to BusyBox, the escaped tilde is expanded in assignment contexts instead of being treated as data, causing commands like V=...; echo $V to print : followed by the home path.
Remediation
Upgrade shescape to version 2.1.15, 3.0.2 or higher.
References
medium severity
- Vulnerable module: shescape
- Introduced through: @snyk/snyk-cocoapods-plugin@3.1.1, @snyk/snyk-hex-plugin@2.2.1 and others
Detailed paths
-
Introduced through: snyk@snyk/snyk › @snyk/snyk-cocoapods-plugin@3.1.1 › shescape@2.1.6Remediation: Upgrade to @snyk/snyk-cocoapods-plugin@3.1.2.
-
Introduced through: snyk@snyk/snyk › @snyk/snyk-hex-plugin@2.2.1 › shescape@2.1.6Remediation: Upgrade to @snyk/snyk-hex-plugin@2.2.3.
-
Introduced through: snyk@snyk/snyk › snyk-sbt-plugin@3.1.1 › shescape@2.1.6Remediation: Upgrade to snyk-sbt-plugin@3.1.3.
Overview
shescape is a simple shell escape library
Affected versions of this package are vulnerable to Improper Neutralization in the escape or escapeAll process when used with Zsh as the shell, especially if the Zsh options EXTENDED_GLOB or MAGIC_EQUAL_SUBST are enabled. An attacker can obtain sensitive information about files and directories by supplying crafted input that leverages home directory expansion or extended glob syntax. This is only exploitable if the application is configured to use Zsh as the shell and the relevant Zsh options are enabled.
Workaround
This vulnerability can be mitigated by refraining from using Zsh, disabling the EXTENDED_GLOB option, or removing all instances of ^, #, and ~ from untrusted inputs.
Remediation
Upgrade shescape to version 2.1.14, 3.0.1 or higher.
References
medium severity
- Vulnerable module: uuid
- Introduced through: snyk-docker-plugin@9.20.0, snyk-nuget-plugin@4.5.3 and others
Detailed paths
-
Introduced through: snyk@snyk/snyk › snyk-docker-plugin@9.20.0 › snyk-poetry-lockfile-parser@1.9.1 › @snyk/error-catalog-nodejs-public@4.0.4 › uuid@9.0.1
-
Introduced through: snyk@snyk/snyk › snyk-nuget-plugin@4.5.3 › dotnet-deps-parser@6.1.0 › @snyk/error-catalog-nodejs-public@4.0.4 › uuid@9.0.1
-
Introduced through: snyk@snyk/snyk › snyk-python-plugin@3.3.2 › snyk-poetry-lockfile-parser@1.10.1 › @snyk/error-catalog-nodejs-public@4.0.4 › uuid@9.0.1
-
Introduced through: snyk@snyk/snyk › snyk-nodejs-lockfile-parser@2.10.0 › uuid@8.3.2Remediation: Upgrade to snyk-nodejs-lockfile-parser@2.10.3.
Overview
uuid is a RFC4122 (v1, v4, and v5) compliant UUID library.
Affected versions of this package are vulnerable to Improper Validation of Specified Index, Position, or Offset in Input due to accepting external output buffers but not rejecting out-of-range writes (small buf or large offset). This inconsistency allows silent partial writes into caller-provided buffers.
PoC
cd /home/StrawHat/uuid
npm ci
npm run build
node --input-type=module -e "
import {v4,v5,v6} from './dist-node/index.js';
const ns='6ba7b810-9dad-11d1-80b4-00c04fd430c8';
for (const [name,fn] of [
['v4',()=>v4({},new Uint8Array(8),4)],
['v5',()=>v5('x',ns,new Uint8Array(8),4)],
['v6',()=>v6({},new Uint8Array(8),4)],
]) {
try { fn(); console.log(name,'NO_THROW'); }
catch(e){ console.log(name,'THREW',e.name); }
}"
Remediation
Upgrade uuid to version 11.1.1, 14.0.0 or higher.
References
medium severity
- Vulnerable module: inflight
- Introduced through: glob@7.2.3, rimraf@2.7.1 and others
Detailed paths
-
Introduced through: snyk@snyk/snyk › glob@7.2.3 › inflight@1.0.6
-
Introduced through: snyk@snyk/snyk › rimraf@2.7.1 › glob@7.2.3 › inflight@1.0.6
-
Introduced through: snyk@snyk/snyk › snyk-mvn-plugin@4.9.2 › glob@7.2.3 › inflight@1.0.6
Overview
Affected versions of this package are vulnerable to Missing Release of Resource after Effective Lifetime via the makeres function due to improperly deleting keys from the reqs object after execution of callbacks. This behavior causes the keys to remain in the reqs object, which leads to resource exhaustion.
Exploiting this vulnerability results in crashing the node process or in the application crash.
Note: This library is not maintained, and currently, there is no fix for this issue. To overcome this vulnerability, several dependent packages have eliminated the use of this library.
To trigger the memory leak, an attacker would need to have the ability to execute or influence the asynchronous operations that use the inflight module within the application. This typically requires access to the internal workings of the server or application, which is not commonly exposed to remote users. Therefore, “Attack vector” is marked as “Local”.
PoC
const inflight = require('inflight');
function testInflight() {
let i = 0;
function scheduleNext() {
let key = `key-${i++}`;
const callback = () => {
};
for (let j = 0; j < 1000000; j++) {
inflight(key, callback);
}
setImmediate(scheduleNext);
}
if (i % 100 === 0) {
console.log(process.memoryUsage());
}
scheduleNext();
}
testInflight();
Remediation
There is no fixed version for inflight.
References
medium severity
ignored
- Module: shescape
- Introduced through: @snyk/snyk-cocoapods-plugin@3.1.1, @snyk/snyk-hex-plugin@2.2.1 and others
-
Ignored path
∗
-
Expires
in 96 years
Reason
: --about lists all dependency licenses which is a requirement of MPL-2.0This issue was ignored via the project's .snyk policy file. To unignore it, update the policy file.
Detailed paths
-
Introduced through: snyk@snyk/snyk › @snyk/snyk-cocoapods-plugin@3.1.1 › shescape@2.1.6
-
Introduced through: snyk@snyk/snyk › @snyk/snyk-hex-plugin@2.2.1 › shescape@2.1.6
-
Introduced through: snyk@snyk/snyk › snyk-sbt-plugin@3.1.1 › shescape@2.1.6
-
Introduced through: snyk@snyk/snyk › snyk-docker-plugin@9.20.0 › shescape@2.1.15
-
Introduced through: snyk@snyk/snyk › snyk-mvn-plugin@4.9.2 › shescape@2.1.15
-
Introduced through: snyk@snyk/snyk › snyk-gradle-plugin@7.1.3 › shescape@2.1.14
-
Introduced through: snyk@snyk/snyk › snyk-python-plugin@3.3.2 › shescape@2.1.14
MPL-2.0 license