fix: allow WSL2 172.x subnet in CORS origin whitelist - #998
Conversation
WSL2 uses a 172.x.x.x virtual network — browsers connecting via the WSL IP were rejected by the CORS policy added in the public-release security hardening. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Review feedback: a bare "http://172." prefix whitelists all of 172.0.0.0/8, which includes active public internet space (Cloudflare 172.64/13, Google 172.217/16). WSL2 vEthernet addresses only come from the RFC1918 172.16-172.31 range, so match exactly that. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Reviewed in the open-PR sweep: right idea, but bare |
Devices on the home LAN reach the orchestrator through the Windows portproxy with origins like http://192.168.0.53:2080, which the whitelist rejected — Socket.IO connections from a phone or second PC failed even though the private 172.16/12 (WSL) and CGNAT 100/8 (Tailscale) ranges were already allowed. Adds 192.168/16 and 10/8; all public space stays blocked. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Extended for remote access: the whitelist now also accepts the remaining RFC1918 private ranges (192.168/16, 10/8) — LAN devices reaching the orchestrator through the Windows portproxy present origins like http://192.168.0.53:2080, which were being rejected so Socket.IO never connected from a phone or second PC. Public address space remains blocked. |
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Summary
http://172.to the Socket.IO CORS origin whitelist172.x.x.xvirtual network — browsers connecting via the WSL IP were rejected by the CORS policy added during public-release security hardeningTest plan
http://172.30.127.227:2080)🤖 Generated with Claude Code