OCPBUGS-90514: Fix CVE-2026-12143 form-data CRLF injection - #16865
OCPBUGS-90514: Fix CVE-2026-12143 form-data CRLF injection#16865sg00dwin wants to merge 2 commits into
Conversation
Pin form-data to patched versions (2.5.6, 4.0.6) via Yarn resolutions to fix Content-Disposition header injection. Assisted by: Claude Code (Opus 4.6)
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
@sg00dwin: This pull request references Jira Issue OCPBUGS-90514, 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. |
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters (1)
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including ⚙️ Run configurationConfiguration used: Repository: openshift/coderabbit/.coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
WalkthroughThe frontend Yarn resolutions retain the existing ChangesFrontend dependency resolutions
Estimated code review effort: 1 (Trivial) | ~3 minutes Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 5 | ❌ 10❌ Failed checks (10 inconclusive)
✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
@sg00dwin: This pull request references Jira Issue OCPBUGS-90514, 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. |
|
/assign @rhamilto |
Assisted by: Claude Code
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: sg00dwin The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
@sg00dwin: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions 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 kubernetes-sigs/prow repository. I understand the commands that are listed here. |
Pin form-data to patched versions (2.5.6, 4.0.6) via Yarn resolutions to fix Content-Disposition header injection.
Analysis / Root cause:
The form-data npm package (transitive dependency) versions 4.0.5 and 2.5.1 are vulnerable to CRLF injection (CVE-2026-12143). Field names and filenames are concatenated into Content-Disposition headers without escaping CR, LF, or " characters, allowing header injection or multipart part smuggling. Two vulnerable versions are resolved in the lockfile:
form-data@4.0.5 via @cypress/request, @kubernetes/client-node, @types/node-fetch
form-data@2.5.1 via gitlab@10.0.1 (through @console/git-service)
Solution description:
Adds four descriptor-scoped Yarn Berry resolutions to frontend/package.json pinning form-data to patched versions (2.5.6 and 4.0.6). Each resolution targets a specific semver range declared by a different consumer — required because Yarn Berry matches resolutions against exact descriptor strings, not package names. No API changes; the fix escapes CR/LF/" as %0D/%0A/%22 per the WHATWG spec, matching browser behavior.
Test cases:
yarn install succeeds
yarn why form-data confirms all 4 consumers resolve to patched versions
yarn test packages/git-service — 9 suites, 123 tests pass
yarn test packages/dev-console — 99 suites, 679 tests pass
yarn build — production build succeeds
yarn test-playwright --project=smoke — 5 tests pass against live OCP cluster
CI passes
Additional info:
CVE: https://nvd.nist.gov/vuln/detail/CVE-2026-12143
Jira: OCPBUGS-90514
Assisted by: Claude Code (Opus 4.6)
Summary by CodeRabbit