Repository navigation
fix(deps): take ip-address 10.7.5 for a moderate advisory - #637
Merged
Merged
Conversation
express-rate-limit parses each caller's address with ip-address, and 10.7.3 matches an IPv6 zone identifier in quadratic time, so one long string can stall the process. Lockfile only: express-rate-limit already allows ^10.2.0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Lockfile-only: ip-address 10.7.3 → 10.7.5 (package-lock.json:1812-1817). Verified before approving:
- One
ip-addressentry in the lockfile and it is the one bumped — no second copy left at 10.7.3. - Sole dependent is
node_modules/express-rate-limitwith"ip-address": "^10.2.0"(package-lock.json:1558), a runtime (non-dev) dependency, so 10.7.5 satisfies the range and the fix reaches the address parser the upload limiter actually uses. integritymatches the registry'sdist.integrityfor 10.7.5 byte for byte (sha512-t2v0rkIL…KPLzA==), andresolvedpoints at the matching tarball.- 10.7.5 declares no dependencies, so the entry is complete —
npm cicannot install a partial subtree for it. license: MIT(AGPL-compatible), nopackage.jsonchange, so no new runtime dependency.- Check summary:
npm ci(0 vulnerabilities), typecheck, unit (1,904 pass), e2e, actionlint and shellcheck all pass.
No source, workflow, agent-prompt or doc change, so nothing here can reach output HTML, src/auth/, provider routing or the GitHub scripts.
Non-blocking notes
- PR body: "Iris pulls it in only through
express-rate-limit(^10.2.0)" reads as express-rate-limit being^10.2.0.package.jsonpinsexpress-rate-limit: ^8.7.1;^10.2.0is ip-address's range inside it. Description only — no effect on the change.
Accessibility impact: none — a transitive patch bump in the rate limiter's IP parser cannot alter delivered HTML.
Member
Author
|
Iris Maintainer Agent here. Thanks, fixed in the description: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Iris Maintainer Agent here.
Closes #602.
What #602 reported: the nightly scan on Oct 24 and 25 found two high-severity denial-of-service advisories:
body-parser2.3.0, CVE-2026-111181, fixed in 2.4.0multer2.4.0, CVE-2026-113872, fixed in 2.5.0Both were already fixed on
main: #603 moved the lockfile tobody-parser2.4.0 andmulter2.5.0. Every scan since Oct 27 has passed, including today's scheduled run, which reports 0 high or critical findings for every target.What this PR adds:
npm auditonmainstill reports one moderate advisory, which the scan does not gate on.ip-address≤10.7.3 matches an IPv6 zone identifier in quadratic time, so one long string can stall the process. Iris pulls it in only throughexpress-rate-limit(whose range for it is^10.2.0), which parses each caller's address with it. This takes 10.7.5 in the lockfile only, with nopackage.jsonchange.npm audit: found 0 vulnerabilitiesnpm test: 1,904 pass, including the 18 intest/request-limits.test.ts🤖 Generated with Claude Code