Repository navigation
chore(deps): update overrides shell-quote to >=1.12.0 [security] - #2070
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2070 +/- ##
==========================================
+ Coverage 99.26% 99.35% +0.09%
==========================================
Files 83 83
Lines 3244 3244
Branches 562 562
==========================================
+ Hits 3220 3223 +3
+ Misses 17 15 -2
+ Partials 7 6 -1 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This branch has not been deployed
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.8.4→>=1.12.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.12.0Compare Source
Fixed
parse: support here-documents (<<)#31Commits
parse: support tab-stripping here-documents (<<-)dbfac37parse: support output process substitution (>()2053315parse: support thecasetest-next terminator (;;&)7d688b9parse: support thecasefall-through terminator (;&)f27010eparse: support redirecting output despitenoclobber(>|)b78d19cparse: support opening a file for reading and writing (<>)21cc333parse: support redirecting stdout and stderr (&>)6ad6cd2parse: support appending stdout and stderr (&>>)90cde9c@ljharb/eslint-config3a7b4aev1.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-mode36f2394eslint6de9a41v1.10.0Compare Source
Merged
parse: add opt-insplitUnquotedoption for shell field-splitting of unquoted expansions#1Commits
parse: match nested${...}braces so nested parameter expansion is consumed as one substitutionc0842c8parse: pin single-quote literalness and unmatched-quote handlinga0d03e32116fa3quote: pin conservative escaping of=,@,^,,,:,!(#11)1c36f3fquoteoutputs POSIX quoting, notcmd.exe/PowerShell100e96eparse's supported parameter-expansion subsete1c75cdparse: a backslash inside single quotes must not escape the closing quote5d460a32de86f5quote: pin that a backslash with whitespace is not doubled in single quotes (#14)190e236quote: use output verbatim; do not re-quote it (#11)1b36468parse: fix swappedSINGLE_QUOTE/DOUBLE_QUOTEvariable names801af5c59bbf8b@arethetypeswrong/cli,evalmda04d475@arethetypeswrong/ci,eslintd390f9aquote: the tilde test escapes every~, not just a leading one (#9)617d119v1.9.0Compare Source
Commits
dca6e21eslint9aa9e8fparse: finalize tokens in linear time (GHSA-395f-4hp3-45gv)7ff548875e8497@types/esrecurse3fb739dnpm installon Windows to survive npm 2/3 staging-rename flakeabe0163b4bafa2quote: escape leading~to prevent shell tilde-expansion7a76c1aauto-changelog,tape7184b44jackspeakis no longer in the graph9ba368aConfiguration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.