Port 3000 is published on all interfaces and HTTPS checks trust config, not the connection #67

Open
opened 2026-10-08 16:33:30 -04:00 by goddard · 0 comments
Collaborator

docker-compose.yml:9 publishes port 3000 directly on all interfaces. The HTTPS checks (auth/http.ts:6, hosts/http.ts:5) read url.protocol, which comes from ORIGIN, so plain-HTTP requests to host:3000 count as HTTPS. The Origin check stops browser logins, but telemetry reporters or scripts pointed at that port send tokens unencrypted.

Fix

  • Publish 127.0.0.1:3000:3000, or attach the container only to the reverse proxy's network.
`docker-compose.yml:9` publishes port 3000 directly on all interfaces. The HTTPS checks (`auth/http.ts:6`, `hosts/http.ts:5`) read `url.protocol`, which comes from `ORIGIN`, so plain-HTTP requests to `host:3000` count as HTTPS. The Origin check stops browser logins, but telemetry reporters or scripts pointed at that port send tokens unencrypted. **Fix** - Publish `127.0.0.1:3000:3000`, or attach the container only to the reverse proxy's network.
goddard added the
priority
medium
type/security
labels 2026-10-08 16:39:12 -04:00
josh was assigned by goddard 2026-10-08 17:31:47 -04:00
Sign in to join this conversation.