chore(deps): update dependency brace-expansion to v2.0.3 [security] (master)#1042
Closed
red-hat-konflux[bot] wants to merge 1 commit intomasterfrom
Closed
Conversation
Contributor
Reviewer's guide (collapsed on small PRs)Reviewer's GuideUpdates the brace-expansion dependency override from v2 to v5 to address a security vulnerability and refresh the locked dependency tree accordingly. Flow diagram for brace-expansion security fix via dependency bumpflowchart TD
A[CLI_or_Config_input] --> B[Application_pattern_handling]
B --> C[brace_expansion_library]
subgraph Before_update_v2_0_2
C --> D{Step_value_in_pattern}
D -->|Non_zero_step| E[Generate_sequence_normally]
D -->|Zero_step_0| F[Infinite_like_loop<br/>High_CPU_and_memory<br/>Potential_process_hang]
end
subgraph After_update_v5_0_5
C --> G{Step_value_in_pattern}
G -->|Non_zero_step| H[Generate_sequence_normally]
G -->|Zero_step_0| I[Sanitize_step_to_1<br/>Match_bash_behavior<br/>Avoid_hang_and_exhaustion]
end
F -.vulnerability_CVE_2026_33750.-> J[Denial_of_service_risk]
I --> K[Mitigated_risk_in_updated_dependency]
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Signed-off-by: red-hat-konflux <126015336+red-hat-konflux[bot]@users.noreply.github.com>
511c8c1 to
ea3a01c
Compare
Contributor
Author
|
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:
2.0.2->2.0.3brace-expansion: Zero-step sequence causes process hang and memory exhaustion
CVE-2026-33750 / GHSA-f886-m6hf-6m8v
More information
Details
Impact
A brace pattern with a zero step value (e.g.,
{1..2..0}) causes the sequence generation loop to run indefinitely, making the process hang for seconds and allocate heaps of memory.The loop in question:
https://github.com/juliangruber/brace-expansion/blob/daa71bcb4a30a2df9bcb7f7b8daaf2ab30e5794a/src/index.ts#L184
test()is one ofhttps://github.com/juliangruber/brace-expansion/blob/daa71bcb4a30a2df9bcb7f7b8daaf2ab30e5794a/src/index.ts#L107-L113
The increment is computed as
Math.abs(0) = 0, so the loop variable never advances. On a test machine, the process hangs for about 3.5 seconds and allocates roughly 1.9 GB of memory before throwing aRangeError. Setting max to any value has no effect because the limit is only checked at the output combination step, not during sequence generation.This affects any application that passes untrusted strings to expand(), or by error sets a step value of
0. That includes tools built on minimatch/glob that resolve patterns from CLI arguments or config files. The input needed is just 10 bytes.Patches
Upgrade to versions
A step increment of 0 is now sanitized to 1, which matches bash behavior.
Workarounds
Sanitize strings passed to
expand()to ensure a step value of0is not used.Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:HReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Release Notes
juliangruber/brace-expansion (brace-expansion)
v2.0.3Compare Source
Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 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 this update again.
To execute skipped test pipelines write comment
/ok-to-test.Documentation
Find out how to configure dependency updates in MintMaker documentation or see all available configuration options in Renovate documentation.