Skip to content

[15.x] Port ReplyServer traversal guards to FlightClient - #96405

Merged
eps1lon merged 1 commit into
next-15-5from
sebbie/vendor-flight-guards/next-15-5
Jul 31, 2026
Merged

[15.x] Port ReplyServer traversal guards to FlightClient#96405
eps1lon merged 1 commit into
next-15-5from
sebbie/vendor-flight-guards/next-15-5

Conversation

@eps1lon

@eps1lon eps1lon commented Jul 30, 2026

Copy link
Copy Markdown
Member

Backports react/react#37144.

@eps1lon eps1lon changed the title [15.x] Port ReplyServer traversal guards to FlightClient (#77) [15.x] Port ReplyServer traversal guards to FlightClient Jul 30, 2026
Re-vendors the Flight client bundles for the Next.js 15.5.x React with the
traversal guard backported in eps1lon/react-secured-mirror#77 (a backport of
react/react#37144). getOutlinedModel now verifies each traversed value is a
plain object or array with an own property for the path segment before indexing
into it, throwing "Invalid reference." otherwise. This is defense-in-depth
against prototype-pollution style access when untrusted input reaches the Flight
client. The reviveModel change from the upstream PR does not apply on this React
line, which revives models through a JSON.parse reviver that already skips
__proto__ and only visits own enumerable properties. Only the vendored
react-server-dom-webpack/turbopack client bundles change.
@eps1lon
eps1lon force-pushed the sebbie/vendor-flight-guards/next-15-5 branch from 4f80b17 to d49cef7 Compare July 30, 2026 21:48
@github-actions

github-actions Bot commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Tests Passed

Commit: d49cef7

@eps1lon
eps1lon marked this pull request as ready for review July 30, 2026 21:58
@eps1lon
eps1lon requested review from gnoff and unstubbable July 30, 2026 21:58
@eps1lon
eps1lon merged commit 0cb3208 into next-15-5 Jul 31, 2026
260 of 264 checks passed
@eps1lon
eps1lon deleted the sebbie/vendor-flight-guards/next-15-5 branch July 31, 2026 15:30
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.

2 participants