Skip to content

fix: Bump proxy-addr from 2.0.7 to 2.0.8 - #959

Merged
mtrezza merged 1 commit into
parse-community:masterfrom
mtrezza:fix/proxy-addr-2.0.8
Oct 26, 2026
Merged

mtrezza merged 1 commit into
parse-community:masterfrom
mtrezza:fix/proxy-addr-2.0.8

Conversation

@mtrezza

@mtrezza mtrezza commented Oct 26, 2026 •

Copy link
Copy Markdown
Member

Closes #948

Fixes Dependabot alert 465 (critical, runtime): GHSA-jqcg-44mw-7w3h / CVE-2026-90711, "proxy-addr vulnerable to IP spoofing via IPv4-mapped IPv6 trust subnet". Affected versions are >= 1.1.0, < 2.0.8; the fix is in 2.0.8.

proxy-addr is a transitive production dependency (express@5.2.1 → proxy-addr), so only the lock file changes.

Changes

Breaking Changes

None

Code Changes Required

None — the upgrade is a drop-in replacement.

The changed code runs only when Express's trust proxy setting is a list of addresses or subnets. This app doesn't set trust proxy, so Express uses its default false. Parse Server applies its trustProxy option only in ParseServer.startApp (the CLI), not when server.app is mounted on this app's Express instance. A comparison of 2.0.7 and 2.0.8 with Express 5.2.1 found identical req.ip, req.ips, req.protocol and req.hostname results for the default setting, true, hop counts, the loopback, linklocal and uniquelocal presets, IPv4 subnets, native IPv6 subnets that don't cover the IPv4-mapped range (e.g. fe80::/10, fc00::/7, 2001:db8::/32, ::/96), and IPv4-mapped subnets with a prefix of 96 or more.

In 2.0.8, IPv4 and IPv4-mapped clients match an IPv6 trust entry only if it is an IPv4-mapped subnet with a prefix of at least 96, and native IPv6 clients never match an IPv4-mapped trust entry. Every difference makes trust stricter, which is the fix itself. A deployment that sets trust proxy to one of these entries is affected:

  • A native IPv6 subnet that covers the IPv4-mapped range ::ffff:0:0/96 no longer trusts IPv4 or IPv4-mapped clients. Examples are ::/64, ::/80, ::/1, prefixes 81 to 95 such as ::fffe:0:0/95 and ::8000:0:0/81, and entries with non-zero host bits such as ::1/64.
  • An IPv4-mapped subnet with a prefix shorter than 96 (e.g. ::ffff:10.0.0.0/8) no longer trusts IPv4 or IPv4-mapped clients, nor native IPv6 clients inside it (e.g. ::1 under ::ffff:127.0.0.0/8).

Write IPv4 trust entries as IPv4 subnets (e.g. 10.0.0.0/8) or as IPv4-mapped subnets with a prefix of 96 or more (e.g. ::ffff:10.0.0.0/104).

Lock file

Dependabot's lock in #948 also removes the lock entries for mongodb's optional peer dependencies (gcp-metadata with its nested gaxios and node-fetch, smart-buffer and socks), which accounts for its additional deletions. This PR instead uses a lock regenerated with npm update proxy-addr on the current master, which changes only the proxy-addr entries (2.0.7 → 2.0.8).

Summary by CodeRabbit

  • Chores
    • Updated an underlying networking component to a newer patch version. No user-facing changes are included.

@parse-github-assistant

Copy link
Copy Markdown

🚀 Thanks for opening this pull request! We appreciate your effort in improving the project. Please let us know once your pull request is ready for review.

Tip

  • Keep pull requests small. Large PRs will be rejected. Break complex features into smaller, incremental PRs.
  • Use Test Driven Development. Write failing tests before implementing functionality. Ensure tests pass.
  • Group code into logical blocks. Add a short comment before each block to explain its purpose.
  • We offer conceptual guidance. Coding is up to you. PRs must be merge-ready for human review.
  • Our review focuses on concept, not quality. PRs with code issues will be rejected. Use an AI agent.
  • Human review time is precious. Avoid review ping-pong. Inspect and test your AI-generated code.

Note

Please respond to review comments from AI agents just like you would to comments from a human reviewer. Let the reviewer resolve their own comments, unless they have reviewed and accepted your commit, or agreed with your explanation for why the feedback was incorrect.

Caution

Pull requests must be written using an AI agent with human supervision. Pull requests written entirely by a human will likely be rejected, because of lower code quality, higher review effort and the higher risk of introducing bugs. Please note that AI review comments on this pull request alone do not satisfy this requirement. Our CI and AI review are safeguards, not development tools. If many issues are flagged, rethink your development approach. Invest more effort in planning and design rather than using review cycles to fix low-quality code.

@coderabbitai

coderabbitai Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Essentials
  • Run ID: 60fb5eec-6129-4b43-983d-3ba99de8e51a
Commits

Reviewing files that changed from the base of the PR and between a5772f6 and 302cc15.

Files selected for processing: 1
  • package-lock.json

Included review availability: This review used your included allowance. Your plan provides up to 5 included reviews per hour; 3 remain after this review.

Walkthrough

The lockfile updates proxy-addr from version 2.0.7 to 2.0.8. The package entry also adds Open Collective funding metadata.

Changes: proxy-addr Dependency Update

Layer / File(s) Summary
Update proxy-addr lockfile entry
package-lock.json
The package entry and dependency tree entry now specify proxy-addr version 2.0.8. The package entry adds Open Collective funding metadata.

Priority: Normal

Estimated code review effort: 2 (Simple) | ~5 minutes

Merge Risk: Minimal · up to 302cc

No actionable merge-blocking risk was identified.

Pre-merge checks: Passed 6
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title begins with the allowed fix: prefix. The first letter after the prefix is capitalized, and the title accurately describes the proxy-addr dependency update.
Linked Issues check Passed Issue #948 has two coding requirements: (1) upgrade proxy-addr from 2.0.7 to 2.0.8, and (2) include the upstream fix for CVE-2026-90711. The diff of package-lock.json against the merge base confirms b…
Out of Scope Changes check Passed The whole-PR diff touches only package-lock.json. Its changes are the proxy-addr version, resolved URL, and integrity fields in both lock sections. The other edits are the license and funding metadata…
Security Check Passed The pull request changes only package-lock.json. It upgrades the transitive production dependency proxy-addr from 2.0.7 to 2.0.8, with a new registry URL and integrity hash. The dependency remains…
Engage In Review Feedback Passed The current review produced zero actionable findings, and no review threads were returned. Therefore, there was no review feedback requiring engagement, implementation, or discussion.
Full details: Linked Issues check

Explanation

Issue #948 has two coding requirements: (1) upgrade proxy-addr from 2.0.7 to 2.0.8, and (2) include the upstream fix for CVE-2026-90711. The diff of package-lock.json against the merge base confirms both lock entries changed from 2.0.7 to 2.0.8 (the node_modules/proxy-addr entry and the v1 proxy-addr entry). The resolved URLs point to proxy-addr-2.0.8.tgz, and the integrity hash changed to sha512-5nnx0yGy...AVyQ==. The fix ships in 2.0.8, as stated in the PR description. The repository does not contain the proxy-addr source. The fix is therefore established by the pinned version, not by a code line in this diff. No coding requirement is left unmet. No automated test was requested by the issue.

Full details: Out of Scope Changes check

Explanation

The whole-PR diff touches only package-lock.json. Its changes are the proxy-addr version, resolved URL, and integrity fields in both lock sections. The other edits are the license and funding metadata that come with proxy-addr 2.0.8. The reported counts (+11/-6) match this scope. No other package entries changed. The PR description notes that the Dependabot lock also removes mongodb optional peer entries. This PR does not make that removal, so it does not add an unrelated change. All changes connect directly to the #948 upgrade.

Full details: Security Check

Explanation

The pull request changes only package-lock.json. It upgrades the transitive production dependency proxy-addr from 2.0.7 to 2.0.8, with a new registry URL and integrity hash. The dependency remains under Express 5.2.1, and its forwarded and ipaddr.js dependencies are unchanged. No application code or new security-sensitive pattern was introduced.

Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@mtrezza
mtrezza merged commit 9d86153 into parse-community:master Oct 26, 2026
4 checks passed
@mtrezza
mtrezza deleted the fix/proxy-addr-2.0.8 branch October 26, 2026 23:30
parseplatformorg pushed a commit that referenced this pull request Oct 26, 2026
## [3.1.2](3.1.1...3.1.2) (2026-10-26)

### Bug Fixes

* Bump proxy-addr from 2.0.7 to 2.0.8 ([#959](#959)) ([9d86153](9d86153))
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