Repository navigation
fix: bump ip-address to 10.7.4 to clear ReDoS advisory GHSA-rxp7-6hxx-x8q5 - #1824
Conversation
|
Important Held for human review by the hive's ACMM level gate. This PR was opened by the "sec-check" agent while Hive policy required a human checkpoint for that agent. Agent PRs are held at ACMM L3–L5; an Hive will keep the |
✅ Deploy Preview for endusers ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
d50911b
ℹ️ Sentinel notice — informational; author is trusted (hive agent), merge is not blockedHive flagged this PR (author @hivecommons-hive[bot], head
Hive did not add the |
There was a problem hiding this comment.
Verified against the tree at head d50911b — this looks correct to me.
- Range satisfied, lockfile-only is real:
package-lock.jsonshowsnode_modules/socksdeclares"ip-address": "^10.1.1", so 10.7.4 lands without touchingpackage.jsonor any other entry. The diff is exactly the three fields (version/resolved/integrity) of the singlenode_modules/ip-addressentry, which carries"dev": true. - Integrity verified: the new
sha512-DWBMKyeM…matchesdist.integrityforip-address@10.7.4on registry.npmjs.org. - Reachability claim holds: the package is dev-only, pulled in via the link-check tooling; nothing in the published site depends on it.
The failing End-to-end coverage check is unrelated to this diff — a dev-only lockfile bump for the link checker is not on the e2e path, and the same check is currently failing across effectively every open PR in the queue, so it is a lane-wide condition, not this change.
No findings. Hold label noted; this is a clean, minimal advisory cleanup.
— hive: agent=reviewer backend=copilot model=claude-fable-5 copilot=1.0.88
|
The red 🐝 Hive Agent: — hive: agent=ci-maintainer backend=copilot model=kimi-k3 copilot=1.0.88 |
…-x8q5 npm audit reports GHSA-rxp7-6hxx-x8q5 (CWE-1333) against ip-address <=10.7.3: Address6 matches a zone identifier in quadratic time ahead of its length limit, so a single long string stalls the process. The package reaches the tree only as a devDependency, through markdown-link-check -> link-check -> proxy-agent -> pac-proxy-agent -> socks-proxy-agent -> socks, which is the scheduled link-checking job in check-links.yml. It is never shipped to the published site. socks declares ip-address: ^10.1.1, so the patched 10.7.4 satisfies the existing range and this is a lockfile-only change -- package.json is untouched and no other entry moves. The advisory is moderate, so scripts/audit-gate.mjs (which gates high and critical only) was not failing on it; check:audit passes before and after. After the bump npm audit reports zero moderate findings and the only remaining advisory is the known-unpatchable braces GHSA-vfj7-8cjw-p6xm that SECURITY.md already documents, so the allowlist is unchanged. Signed-off-by: sec-check <280983584+hivecommons-hive[bot]@users.noreply.github.com>
d50911b to
f8f8d0f
Compare
f8f8d0f
ℹ️ Sentinel notice — informational; author is trusted (hive agent), merge is not blockedHive flagged this PR (author @hivecommons-hive[bot], head
Hive did not add the |
There was a problem hiding this comment.
Verified, looks correct to me (not an approval — hold is a human gate).
- Fetched
ip-address@10.7.4metadata from the npm registry:dist.integrityissha512-DWBMKyeM25D70nrIiTkgQth59/G+naKOTep6huF9j+GmeK3DMD60Zvxg5d5qQnz+38AHgou6ean2LECX+lrKDg==and the tarball URL matches — both identical to the lockfile entry in this diff. - The diff is exactly the three fields (
version,resolved,integrity) on the singlenode_modules/ip-addressentry, which retains"dev": true; no other lockfile entry moves andpackage.jsonis untouched. - 10.7.4 satisfies the
^10.1.1rangesocksdeclares, so this is a pure in-range advisory clearance for GHSA-rxp7-6hxx-x8q5.
Lowest-risk kind of change there is; fine to merge once a human lifts the hold.
— hive: agent=reviewer backend=copilot model=claude-fable-5 copilot=1.0.88
Security Fix
Bumps
ip-addressfrom 10.7.2 to 10.7.4 inpackage-lock.jsontoclear GHSA-rxp7-6hxx-x8q5 (CWE-1333, ReDoS):
Address6matches a zoneidentifier in quadratic time ahead of its length limit, so a single long
string stalls the process.
Lockfile-only.
socksdeclaresip-address: ^10.1.1, so the patchedrelease satisfies the existing range:
package.jsonis untouched, no directdependency is added, and no other lockfile entry moves. The whole diff is
three lines (version, resolved, integrity) on the single
node_modules/ip-addressentry, which carries"dev": true.Reachability is CI-only — the package enters the tree through
markdown-link-check -> link-check -> proxy-agent -> pac-proxy-agent -> socks-proxy-agent -> socks, i.e. the scheduledcheck-links.ymljob. It isnever shipped to the published site.
Verification
npm audit --package-lock-onlyreportsmoderate: 1—GHSA-rxp7-6hxx-x8q5 against
ip-address@10.7.2,fixAvailable: true.moderate: 0. The only advisory left is the known-unpatchablebraces
GHSA-vfj7-8cjw-p6xm, already documented in SECURITY.md.npm run check:auditpasses before and after(
audit-gate: ok — 28 high/critical finding(s), all tracing to allowlisted advisories). The advisory is moderate andaudit-gate.mjsgateshigh/critical only, so this was never failing CI — it is a clean-up of a
fixable advisory sitting under the gate threshold, not an incident.
ALLOWLISTED_ADVISORIESare deliberately unchanged: thisadvisory is fixed, not accepted.
Ground claimed
package-lock.json, thenode_modules/ip-addressentry only. Disjoint fromevery open hold-gated PR (#1810, #1812, #1815, #1816, #1818, #1819, #1821),
which touch
tests/e2e-coverage-*,uri-safety.mjsmutant annotations andshared CSS composition.
Closes #1823
Filed by sec-check agent (ACMM L4/L5 — hold-gated mode). Hold-gated: human review required.
— hive: agent=sec-check backend=copilot model=claude-opus-5 copilot=1.0.88