Skip to content

Commit 23d2c31

Browse files
author
Oliver Gibbs
committed
bump aws-cdk-lib and reconcile the root audit allowlist
The bundled minimatch subtree inside aws-cdk-lib carried a brace-expansion copy that npm overrides structurally cannot reach. Bumping to the current latest release moves it from 5.0.7 to 5.0.8, clearing one of the two allowlisted high advisories; the remaining one is fixed only in 5.0.9 and stays allowlisted with a justification refreshed to current truth and an upstream revisit note. The vestigial react-router allowlist entry and its stale comment are removed now that the fix is resolved and the frontend gate from the previous change is in place. Synthesized templates were proven logically identical across all stacks before and after the bump, with only metadata version strings differing; alpha package pins are untouched.
1 parent 1697383 commit 23d2c31

4 files changed

Lines changed: 35 additions & 39 deletions

File tree

.audit-ci.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,9 @@
55
"high": true,
66
"critical": true,
77
"allowlist": [
8-
"GHSA-mh99-v99m-4gvg",
9-
"GHSA-qwww-vcr4-c8h2",
108
"GHSA-rgw5-rvv9-x895"
119
],
1210
"report": true,
1311
"skip-dev": false,
14-
"_comment": "Carries GHSA-mh99-v99m-4gvg (brace-expansion) and GHSA-qwww-vcr4-c8h2 (react-router, no fix version published yet), and GHSA-rgw5-rvv9-x895 (brace-expansion, bundled in aws-cdk-lib, unreachable by overrides). See audit-ci-allowlist-justifications.md for details and remediation path."
12+
"_comment": "Carries GHSA-rgw5-rvv9-x895 (brace-expansion, bundled in aws-cdk-lib, unreachable by overrides). GHSA-mh99-v99m-4gvg resolved by the aws-cdk-lib 2.264.0 bump (bundled subtree now 5.0.8). GHSA-qwww-vcr4-c8h2 (react-router) fully resolved since PR #67/#70; entry removed. See audit-ci-allowlist-justifications.md for details and remediation path."
1513
}

audit-ci-allowlist-justifications.md

Lines changed: 25 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,13 @@ Each entry below corresponds to an advisory ID (or module name) added to the
55
array after a justification is written here. Review and either remediate or
66
renew the justification by the listed `revisitBy` date.
77

8-
## GHSA-mh99-v99m-4gvg — brace-expansion (HIGH DoS via unbounded expansion)
8+
## GHSA-mh99-v99m-4gvg — brace-expansion (HIGH DoS via unbounded expansion) — RESOLVED, entry removed
9+
10+
**Resolved (2026-08-12):** the last remaining blocker — the `aws-cdk-lib` bundled copy
11+
(`node_modules/aws-cdk-lib/node_modules/brace-expansion@5.0.7`) — is fixed by the
12+
`aws-cdk-lib` 2.264.0 bump. mh99's `fixedIn` is `5.0.8`; the bundled subtree now resolves to
13+
`brace-expansion@5.0.8`. `npm audit` no longer reports this advisory. The allowlist entry has
14+
been removed from `.audit-ci.json`. Historical detail retained below for context.
915

1016
**Affected instances:**
1117
- `node_modules/aws-cdk-lib/node_modules/brace-expansion@5.0.7` (bundled; advisory range <=5.0.7)
@@ -57,7 +63,7 @@ already expects, no API-shape change. Do not widen the minimatch@3 chains to 5.x
5763
## GHSA-rgw5-rvv9-x895 — brace-expansion (HIGH DoS via unbounded intermediate arrays; bypasses GHSA-mh99-v99m-4gvg mitigation)
5864

5965
**Affected instances:**
60-
- `node_modules/aws-cdk-lib/node_modules/brace-expansion@5.0.7` (`inBundle: true`; advisory range `>=4.0.0 <5.0.9`)
66+
- `node_modules/aws-cdk-lib/node_modules/brace-expansion@5.0.8` (`inBundle: true`; advisory range `>=4.0.0 <5.0.9`)
6167

6268
This is the same bundled copy as GHSA-mh99-v99m-4gvg above — rgw5 is its unallowlisted
6369
bypass-successor (mh99's mitigation covers `<5.0.8`; rgw5 extends the vulnerable range to `<5.0.9`).
@@ -66,11 +72,11 @@ bypass-successor (mh99's mitigation covers `<5.0.8`; rgw5 extends the vulnerable
6672
1. **Bundled, not reachable by `overrides`.** npm `overrides` cannot rewrite `bundleDependencies`
6773
content. The existing nested override `aws-cdk-lib.minimatch.brace-expansion: ">=5.0.9 <6"` is
6874
structurally ineffective against this copy — confirmed the installed tree still resolves
69-
`brace-expansion@5.0.7` inside `node_modules/aws-cdk-lib/node_modules/`.
70-
2. **No upstream fix available yet.** Registry latest `aws-cdk-lib` is `2.263.0` (installed:
71-
`2.262.1`); verified via the published tarball that `2.263.0` still bundles
72-
`brace-expansion@5.0.8` — patched against mh99 (`<5.0.8`) but still inside rgw5's vulnerable
73-
range (`<5.0.9`). Bumping to the latest available cdk release does not clear this advisory.
75+
`brace-expansion@5.0.8` inside `node_modules/aws-cdk-lib/node_modules/`.
76+
2. **No upstream fix available yet.** Installed `aws-cdk-lib` is `2.264.0` (bumped 2026-08-12);
77+
its bundled `brace-expansion` is `5.0.8` — patched against mh99 (`<5.0.8`) but still inside
78+
rgw5's vulnerable range (fix is `5.0.9`, i.e. `<5.0.9` remains vulnerable). No newer
79+
`aws-cdk-lib` release exists yet that bundles `>=5.0.9`.
7480

7581
**Exposure & Risk Acceptance:**
7682
- Same bundled, build-time-only, non-deployed instance as GHSA-mh99-v99m-4gvg above.
@@ -80,13 +86,12 @@ bypass-successor (mh99's mitigation covers `<5.0.8`; rgw5 extends the vulnerable
8086
a release bundling brace-expansion >=5.0.9.
8187

8288
**Recommended follow-ups (revisitBy: 2026-10-22):**
83-
1. Check for aws-cdk-lib releases with bundled brace-expansion >=5.0.9 (as of 2.263.0, still on 5.0.8).
84-
2. When available, bump aws-cdk-lib and confirm both mh99 and rgw5 clear together; remove both
85-
entries from the allowlist.
89+
1. Check for aws-cdk-lib releases with bundled brace-expansion >=5.0.9 (as of 2.264.0, still on 5.0.8).
90+
2. When available, bump aws-cdk-lib and confirm rgw5 clears; remove the entry from the allowlist.
8691
3. Re-run `npm audit` to confirm no new unallowlisted advisories land.
8792

8893

89-
## GHSA-qwww-vcr4-c8h2 — react-router (RESOLVED 2026-08-11, no longer fires; vestigial root entry pending cleanup)
94+
## GHSA-qwww-vcr4-c8h2 — react-router (RESOLVED 2026-08-11; root allowlist entry removed 2026-08-12)
9095

9196
**Prior claim (now false):** this entry previously asserted no fix version was published for the
9297
7.x line and that `react-router-dom@latest` topped out at `7.18.1`.
@@ -95,19 +100,12 @@ bypass-successor (mh99's mitigation covers `<5.0.8`; rgw5 extends the vulnerable
95100
advisory's documented `first_patched_version` for the `>=7.12.0, <7.18.2` vulnerable range
96101
(GHSA record vulnerable ranges: `>=7.12.0 <7.18.2` and `>=8.0.0 <8.3.0`; first patched `7.18.2`
97102
and `8.3.0` respectively). `frontend/package.json` declares `"react-router-dom": "^7.18.2"`, and
98-
`frontend/package-lock.json` already resolved `react-router-dom@7.18.2` / `react-router@7.18.2`
99-
`node_modules` was simply stale relative to the lockfile (`npm ls` reported
100-
`invalid: "^7.18.2"` against an installed `7.18.1`) until `npm install` resynced it on
101-
2026-08-11. `npm audit --audit-level=low --prefix frontend` no longer reports this advisory (0
102-
vulnerabilities from react-router).
103-
104-
**Allowlist status (accurate as of this edit):** `GHSA-qwww-vcr4-c8h2` was **never added** to the
105-
new `frontend/.audit-ci.json` (that file was created with an empty allowlist and stays that way —
106-
frontend's own `npm audit` reports 0 vulnerabilities, so nothing there needs allowlisting). The ID
107-
**remains present** in the **root** `.audit-ci.json` allowlist and its `_comment` still says "no
108-
fix version published yet" — that is now stale but is **out of scope** for this change (root
109-
`.audit-ci.json` is intentionally left byte-identical to keep this change's diff scoped to the
110-
frontend gate). Removing the vestigial root entry and correcting its `_comment` is a follow-up,
111-
root-scoped cleanup; the root gate continues to exit 0 either way since audit-ci does not fail on
112-
an allowlisted-but-non-firing advisory (it only warns "Consider not allowlisting advisory:
113-
GHSA-qwww-vcr4-c8h2").
103+
`frontend/package-lock.json` already resolved `react-router-dom@7.18.2` / `react-router@7.18.2`.
104+
`npm audit --audit-level=low --prefix frontend` reports 0 vulnerabilities from react-router.
105+
106+
**Allowlist status (accurate as of this edit):** `GHSA-qwww-vcr4-c8h2` was never added to
107+
`frontend/.audit-ci.json`. PR #70 deferred the root-scoped cleanup of the vestigial root
108+
`.audit-ci.json` entry to keep that change's diff scoped to the frontend gate; PR #70 is now
109+
merged into main with no conflicts, so that deferred cleanup is applied here: the entry and its
110+
stale `_comment` claim have been removed from the root `.audit-ci.json` allowlist. The advisory
111+
is fully resolved with no remaining allowlist entries anywhere in the repo.

package-lock.json

Lines changed: 8 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,6 @@
6666
}
6767
},
6868
"peerDependencies": {
69-
"aws-cdk-lib": "^2.262.1"
69+
"aws-cdk-lib": "2.264.0"
7070
}
7171
}

0 commit comments

Comments
 (0)