Skip to content

security: remove client-controlled coordinator URL (SSRF)#122

Open
antojoseph wants to merge 1 commit into
masterfrom
security/f002-remove-ssrf-coordinator-url
Open

security: remove client-controlled coordinator URL (SSRF)#122
antojoseph wants to merge 1 commit into
masterfrom
security/f002-remove-ssrf-coordinator-url

Conversation

@antojoseph
Copy link
Copy Markdown

Summary

  • All 5 console-ui API proxy routes read x-coordinator-url from the request and forwarded Privy session tokens / cookies to that arbitrary URL
  • An attacker sending a crafted request could exfiltrate bearer tokens to any server they control
  • Fix: remove the header read entirely; all routes now unconditionally use DEFAULT_COORD (server-side env var)

Affected routes:

  • POST /api/payments/withdraw/stripe
  • POST /api/payments/stripe/checkout
  • POST /api/payments/stripe/onboard
  • GET /api/payments/stripe/status
  • POST /api/telemetry

Test plan

  • Verify billing flows still work end-to-end (checkout, onboard, status, withdraw)
  • Verify telemetry still reaches the coordinator
  • Confirm that sending x-coordinator-url: https://evil.example.com in a request no longer causes auth headers to be forwarded there

All five console API proxy routes read x-coordinator-url from the request
and forwarded Privy session tokens or cookies to that arbitrary URL.
An attacker could exfiltrate bearer tokens to any server they control.

Remove the header read; always use DEFAULT_COORD (the server-side env var).
@vercel
Copy link
Copy Markdown

vercel Bot commented May 4, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
d-inference Ready Ready Preview May 4, 2026 2:46am
d-inference-console-ui-dev Building Building Preview May 4, 2026 2:46am
d-inference-landing Ready Ready Preview May 4, 2026 2:46am

Request Review

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