Pin Web Push connections to validated public addresses #1096

Closed
opened 2026-08-18 21:20:58 +00:00 by rockachopa · 0 comments
Member

Problem

Web Push endpoint policy validates DNS before dispatch, but the HTTP transport resolves the hostname again while connecting. A rebinding hostname can pass validation with a public address and then direct the delivery socket to loopback, private, link-local, or metadata infrastructure. Existing #653 / commit 85043b4 added validation before persistence and dispatch, but did not bind validation to the connection.

User impact

Preserve mobile push delivery while closing a durable authenticated SSRF path across the validation-to-connect boundary.

Acceptance criteria

  • Resolve immediately before delivery and fail closed if any answer is non-global.
  • The HTTP connection dials only an address returned by that validated resolution.
  • TLS SNI and certificate verification continue to use the original endpoint hostname.
  • Redirects remain disabled.
  • Unsafe subscriptions are deleted without a connection attempt; healthy devices continue independently.
  • Behavioral tests prove RED against the current two-lookup transport and the full suite passes.
## Problem Web Push endpoint policy validates DNS before dispatch, but the HTTP transport resolves the hostname again while connecting. A rebinding hostname can pass validation with a public address and then direct the delivery socket to loopback, private, link-local, or metadata infrastructure. Existing #653 / commit 85043b4 added validation before persistence and dispatch, but did not bind validation to the connection. ## User impact Preserve mobile push delivery while closing a durable authenticated SSRF path across the validation-to-connect boundary. ## Acceptance criteria - Resolve immediately before delivery and fail closed if any answer is non-global. - The HTTP connection dials only an address returned by that validated resolution. - TLS SNI and certificate verification continue to use the original endpoint hostname. - Redirects remain disabled. - Unsafe subscriptions are deleted without a connection attempt; healthy devices continue independently. - Behavioral tests prove RED against the current two-lookup transport and the full suite passes.
timmy was assigned by rockachopa 2026-08-18 21:20:58 +00:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: stackchain/stackchain-dashboard#1096
No description provided.