Skip to content

Revert the brace-expansion CVE suppressions from #463 - #484

Merged
msrathore-db merged 1 commit into
mainfrom
revert-osv-suppressions-462
Aug 4, 2026
Merged

Revert the brace-expansion CVE suppressions from #463#484
msrathore-db merged 1 commit into
mainfrom
revert-osv-suppressions-462

Conversation

@msrathore-db

Copy link
Copy Markdown
Contributor

Summary

Reverts the two [[IgnoredVulns]] entries I added in #463, restoring osv-scanner.toml to having no suppressions.

The real dependency bumps from #463 are deliberately kept — this PR touches only osv-scanner.toml:

Package Version Kept?
brace-expansion 1.1.15 → 1.1.16, 2.1.1 → 2.1.3 ✅ kept
ip-address 10.2.0 → 10.3.1 (production dep, via socks) ✅ kept
[[IgnoredVulns]] × 2 ❌ reverted

Why

[[IgnoredVulns]] entries are CVE-id global in OSV-Scanner v2.3.8 — they silence the advisory across every package it is reported against, not just brace-expansion. That is broader than the problem being solved, and (a limitation the config file itself documents) there is no way to scope a suppression to one package without blanket-ignoring all of that package's vulnerabilities.

More importantly, those entries landed inside a security-focused PR without a security reviewer explicitly signing off on the suppression decision. Backing them out so it can be judged on its own merits rather than riding along with the TLS fix.

Consequence — intentional

The Security Scan gate will fail on this PR. Three dev-only findings resurface:

  • GHSA-mh99-v99m-4gvg — brace-expansion 1.1.16 (fixed in 1.1.17)
  • GHSA-rgw5-rvv9-x895 — brace-expansion 1.1.16 (fixed in 1.1.18) and 2.1.3 (fixed in 2.1.4)

There is no published fix: the advisories name 1.1.17/1.1.18/2.1.4, but npm's latest releases are 1.1.16 and 2.1.3. The bumps in #463 already went as far as the registry allows.

These are dev-only: brace-expansion reaches us solely through the eslint / glob / test-exclude toolchains via minimatch. npm ls brace-expansion --omit=dev is empty and both lockfile entries are marked "dev": true, so it is not reachable from the published dist/. Impact is DoS (ReDoS / OOM) on adversarial brace patterns, which would require untrusted input to our own lint/test globs.

Note the gate was already failing on main before #463 for these same dependencies, so this restores the prior state rather than introducing a new regression.

Decision needed from reviewers

Pick one:

  1. Merge this and accept a red Security Scan until 1.1.18 / 2.1.4 publish upstream.
  2. Close this and keep the suppressions from Fix #462: verify Thrift TLS server certificate by default [PECOBLR-3837][SEC-20280] #463 — with a security reviewer explicitly approving the global-scope trade-off and the 2027-02-05 expiry.
  3. Suppress via some narrower mechanism, if one is preferred over [[IgnoredVulns]].

Testing

  • osv-scanner v2.3.8 (the version CI pins) run locally: confirms exactly the three expected findings return, no others.
  • Config-only change — no runtime code touched, so unit/e2e behaviour is unaffected.

This pull request and its description were written by Isaac.

Removes the two [[IgnoredVulns]] entries added in #463, restoring
osv-scanner.toml to having no suppressions. The real dependency
bumps from that PR are deliberately kept: brace-expansion 1.1.16 /
2.1.3 and ip-address 10.3.1 (the latter a production dependency via
socks) all stay in package-lock.json.

Why revert: [[IgnoredVulns]] entries are CVE-id global in OSV-Scanner
v2.3.8 -- they silence the advisory across every package it is
reported against, not just brace-expansion. That is broader than the
problem being solved, and the entries landed inside a security PR
without a security reviewer explicitly signing off on them. Backing
them out so the decision can be made on its own merits.

Consequence, intentional: the Security Scan gate fails again on three
dev-only brace-expansion findings (GHSA-mh99-v99m-4gvg,
GHSA-rgw5-rvv9-x895). There is no published fix -- the advisories name
1.1.17/1.1.18/2.1.4 but npm's latest releases are 1.1.16 and 2.1.3.
These are dev-only: brace-expansion reaches us solely via the
eslint/glob/test-exclude toolchains through minimatch, `npm ls
brace-expansion --omit=dev` is empty, and both lockfile entries are
marked "dev": true, so they are not reachable from the published
dist/. Impact is DoS on adversarial brace patterns, which would
require untrusted input to our own lint/test globs.

Note the gate was already failing on main before #463 for these same
dependencies, so this restores the prior state rather than causing a
new regression.

Signed-off-by: Madhavendra Rathore <madhavendra.rathore@databricks.com>

@peco-review-bot peco-review-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No issues identified by the review bot.

@msrathore-db
msrathore-db merged commit 86e8337 into main Aug 4, 2026
23 of 24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant