{"id":"CVE-2026-55882","title":"Tilt: Unauthenticated pprof debug endpoints on the Tilt HUD server","summary":"Tilt: Unauthenticated pprof debug endpoints on the Tilt HUD server","severity":"high","cwe":["CWE-200"],"vendor":"tilt-dev","product":"github.com/tilt-dev/tilt","affected":["github.com/tilt-dev/tilt >= 0.19.5, <= 0.37.3"],"patched":["github.com/tilt-dev/tilt 0.37.4"],"published":"2026-06-19","updated":"2026-06-19","source":"GHSA","sourceUrl":"https://github.com/advisories/GHSA-p749-9w62-w533","references":[{"url":"https://github.com/tilt-dev/tilt/security/advisories/GHSA-p749-9w62-w533"},{"url":"https://github.com/tilt-dev/tilt/pull/6776"},{"url":"https://github.com/tilt-dev/tilt/releases/tag/v0.37.4"},{"url":"https://github.com/advisories/GHSA-p749-9w62-w533"}],"tags":["ghsa","go"],"ingestedAt":"2026-06-22T15:59:08.206Z","ecosystem":"go","epss":0.00524,"epssPercentile":0.43403,"slug":"CVE-2026-55882","body":"## Overview\n\n## Summary\nThe Tilt HUD server mounts Go's `net/http/pprof` handlers under `/debug` with no access control. When the HUD is network-exposed, an attacker can read process memory — including session and apiserver tokens — and hold the process under profiling.\n\n## Details\nA blank import of `net/http/pprof` registers its handlers on `http.DefaultServeMux`, which the HUD controller mounts under `/debug` on both the web router and the apiserver listener. `/debug/pprof/heap` and `/goroutine` expose process memory, including the session token (also issued in the `Tilt-Token` cookie) and the apiserver loopback bearer token; `/profile` and `/trace` let a caller sample the process for an arbitrary duration.\n\n## Impact\nAn unauthenticated caller who can reach the listener can extract process memory — including the session and apiserver tokens — and degrade performance by holding the process under CPU profiling or tracing. The leaked tokens compound the missing-authentication finding on the same server.\n\n### Conditions for exploitation\n- Affected version in `>= 0.19.5, <= 0.37.3`.\n- HUD (or apiserver) listener bound to a non-loopback address (`tilt up --host 0.0.0.0`, or `TILT_HOST` set).\n- Network reachability to the listener (default port `10350`).\n\n### Not affected\n- The default loopback-only bind is not reachable from the network.\n\n## Workarounds\nUse the default loopback bind (omit `--host`, unset `TILT_HOST`) so `/debug` is not remotely reachable. No complete workaround short of upgrading for non-loopback deployments.\n\n## Affected packages\n\n- `github.com/tilt-dev/tilt >= 0.19.5, <= 0.37.3`\n\n## Remediation\n\nUpgrade to a patched release:\n\n- `github.com/tilt-dev/tilt 0.37.4`","depth":"twilight","depthScore":41,"depthScoreParts":{"impact":41.3,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[]}