Repository navigation
Update dependency shell-quote to v1.11.0 [SECURITY] - #320
Merged
Merged
Conversation
williamlin-suse
approved these changes
Oct 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.10.0→1.11.0shell-quote:
quote()command injection via a line terminator in a token after a{ comment }tokenCVE-2026-102422 / GHSA-pqg4-j6r4-53mv
More information
Details
Impact
quote()emits a{ comment }token as#followed by its text, which comments out the rest of the shell line, including the opening quote of any later string token. A line terminator in that later string ends the comment, and the rest of the string is parsed as shell input:Passed to
sh,bash,dash,ksh, orzsh, this runsid.parse()emits a comment token for a#in the middle of a word (for examplehttp://example.com/#frag), so callers that combineparse()output with another untrusted string, such asquote(parse(untrustedCommand).concat(untrustedArg)), are affected. The fix for CVE-2026-9277 rejected line terminators in the comment's own text, but not in the tokens after it.Exploitation requires an attacker-controlled string containing a line terminator that follows a
{ comment }token in the samequote()call.Patches
Fixed in v1.11.0:
quote()throws aTypeErrorwhen a string after a{ comment }token contains a line terminator (\n,\r, U+2028, or U+2029).Workarounds
Drop every token after a
{ comment }token before callingquote(), or reject line terminators in untrusted strings. Separately, do not append other shell text afterquote()output that contains a comment, since the comment swallows it.Severity
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
ljharb/shell-quote (shell-quote)
v1.11.0Compare Source
Fixed
quote: drop a replace that can never match in the single-quote branch#15parse: support bash ANSI-C quoting ($'...')#32Commits
quote: reject line terminators in tokens after acomment6002b2eparse: preserve text after special shell parameters81b08a5parse: an escaped backslash does not escape the character after itd708019quote: preserve!in arguments that also contain'ad39927parse: treat$_nameas a variable name, not$_followed by text28f88cdquote: preserve empty glob patterns35c9b97quote: escape~in glob patterns to prevent shell tilde-expansion239d49c@ljharb/eslint-config,auto-changelog,eslint,evalmdb1e406eebfc3083429b0dcache-mode36f2394eslint6de9a41Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR has been generated by Mend Renovate CLI.