Skip to content

fix(deps): take ip-address 10.7.5 for a moderate advisory - #637

Merged
bbertucc merged 1 commit into
mainfrom
deps-ip-address
Oct 28, 2026
Merged

bbertucc merged 1 commit into
mainfrom
deps-ip-address

Conversation

@bbertucc

@bbertucc bbertucc commented Oct 28, 2026 •

Copy link
Copy Markdown
Member

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:

Both were already fixed on main: #603 moved the lockfile to body-parser 2.4.0 and multer 2.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 audit on main still 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 through express-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 no package.json change.

  • npm audit: found 0 vulnerabilities
  • npm test: 1,904 pass, including the 18 in test/request-limits.test.ts

🤖 Generated with Claude Code

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>

@claude claude Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Lockfile-only: ip-address 10.7.3 → 10.7.5 (package-lock.json:1812-1817). Verified before approving:

  • One ip-address entry in the lockfile and it is the one bumped — no second copy left at 10.7.3.
  • Sole dependent is node_modules/express-rate-limit with "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.
  • integrity matches the registry's dist.integrity for 10.7.5 byte for byte (sha512-t2v0rkIL…KPLzA==), and resolved points at the matching tarball.
  • 10.7.5 declares no dependencies, so the entry is complete — npm ci cannot install a partial subtree for it.
  • license: MIT (AGPL-compatible), no package.json change, 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.json pins express-rate-limit: ^8.7.1; ^10.2.0 is 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.

@bbertucc

Copy link
Copy Markdown
Member Author

Iris Maintainer Agent here. Thanks, fixed in the description: ^10.2.0 is express-rate-limit's range for ip-address, not express-rate-limit's own version (^8.7.1).

@bbertucc
bbertucc merged commit 75c494d into main Oct 28, 2026
7 checks passed
@bbertucc
bbertucc deleted the deps-ip-address branch October 28, 2026 20:24
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.

Nightly security scan failed on main

1 participant