OCPBUGS-94168: Fix CVE-2026-13149 brace-expansion DoS vulnerability#16812
Conversation
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
@rhamilto: This pull request references Jira Issue OCPBUGS-94168, which is valid. The bug has been moved to the POST state. 3 validation(s) were run on this bug
The bug has been updated to refer to the pull request using the external bug tracker. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
WalkthroughThe Yarn resolutions block adds overrides for ChangesDependency resolution
Estimated code review effort: 1 (Trivial) | ~2 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 15✅ Passed checks (15 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
@rhamilto: This pull request references Jira Issue OCPBUGS-94168, which is valid. 3 validation(s) were run on this bug
DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
Add per-descriptor yarn resolutions to bump each brace-expansion major line to its patched release (1.1.16, 2.1.2, 5.0.7), preserving API compatibility with minimatch 3.x, 9.x, and 10.x respectively. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
@rhamilto: This pull request references Jira Issue OCPBUGS-94168. The bug has been updated to no longer refer to the pull request using the external bug tracker. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
@rhamilto: This pull request references Jira Issue OCPBUGS-94168, which is valid. 3 validation(s) were run on this bug
The bug has been updated to refer to the pull request using the external bug tracker. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
/jira refresh |
|
@rhamilto: This pull request references Jira Issue OCPBUGS-94168, which is valid. 3 validation(s) were run on this bug
DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
Scheduling tests matching the |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: rhamilto, shahsahil264 The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/pipeline required |
|
Scheduling tests matching the |
|
/verified by CI |
|
@rhamilto: This PR has been marked as verified by DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
4cf941d
into
openshift:main
|
@rhamilto: Jira Issue Verification Checks: Jira Issue OCPBUGS-94168 Jira Issue OCPBUGS-94168 has been moved to the MODIFIED state and will move to the VERIFIED state when the change is available in an accepted nightly payload. 🕓 DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
/jira refresh |
|
@rhamilto: Jira Issue OCPBUGS-94168 is in an unrecognized state (MODIFIED) and will not be moved to the MODIFIED state. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
Analysis / Root cause:
CVE-2026-13149 — brace-expansion through 5.0.6 is vulnerable to denial of service. The
expand()function exhibits exponential-time complexity (O(2^n)) in the number of consecutive non-expanding{}brace groups. A ~90 byte payload can block the calling thread for minutes. Themaxoption does not mitigate this.The repo carried three vulnerable transitive copies via minimatch: 1.1.12 (via minimatch 3.1.5), 2.1.0 (via minimatch 9.0.9), and 5.0.5 (via minimatch 10.2.5).
Jira: https://redhat.atlassian.net/browse/OCPBUGS-94168
Solution description:
Add per-descriptor yarn resolutions to bump each brace-expansion major line to its patched release:
brace-expansion@npm:^1.1.7→ 1.1.16 (for minimatch 3.x)brace-expansion@npm:^2.0.2→ 2.1.2 (for minimatch 9.x)brace-expansion@npm:^5.0.5→ 5.0.7 (for minimatch 10.x)Each resolution targets a specific descriptor to preserve API compatibility within its major line. A blanket
>=1.1.16resolution was attempted first but broke minimatch 3.x because brace-expansion 5.x has an incompatible API (expand is not a function).Screenshots / screen recording:
N/A — dependency-only change with no UI impact.
Test setup:
N/A
Test cases:
yarn buildcompletes successfully with the updated dependencies.yarn lintpasses (verifies eslint-plugin-import'sno-extraneous-dependenciesrule works with the updated brace-expansion, which was the failure mode of the first attempt).Browser conformance:
N/A — no runtime behavior change.
Additional info:
Reviewers and assignees:
Summary by CodeRabbit
protobufjspinned and addingbrace-expansionoverrides for more targeted version control.