{"id":"GHSA-c73q-8xxr-rgqm","revision":"bab021b40f8c4c21b5bed78501712bbf","records":[{"revision":"bab021b40f8c4c21b5bed78501712bbf","observedAt":"2026-10-24T13:19:41.952+00:00","statement":{"source":"osv","id":"GHSA-c73q-8xxr-rgqm","aliases":["CVE-2026-55884","GO-2026-5317"],"title":"Tilt: Missing authentication on the network-exposed Tilt HUD server","description":"## Summary\nThe Tilt HUD HTTP server exposes state-changing and sensitive-read endpoints with no authentication. When the HUD is bound to a non-loopback address, a network attacker can trigger the developer's pre-defined Tiltfile resources, tamper with Tiltfile arguments, read full engine state including the session token, and reach the Tilt apiserver through a token-attaching proxy.\n\n## Details\nThe HUD server registers its handlers on a `gorilla/mux` router with no authenticating middleware. The `cookieWrapper` helper emits the `Tilt-Token` cookie but never validates it, and is attached only to the static-asset prefix.\n\n## Impact\nAn unauthenticated network caller can force any developer-defined resource to run on the host as the `tilt` user (choosing which and when, not the command text), set arbitrary Tiltfile arguments, disclose the session token and full engine state, and invoke apiserver resources via the loopback-token proxy. Because `tilt up` runs with the developer's privileges and credentials, the impact reaches the developer's environment and cluster.\n\n### Conditions for exploitation\n- Affected version in `>= 0.20.8, <= 0.37.3`.\n- HUD 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`) and ensure nothing else proxies to `localhost:10350`. No complete workaround short of upgrading for non-loopback deployments.","state":0,"publishedAt":"2026-06-19T13:58:13+00:00","modifiedAt":"2026-06-25T19:56:17.4487135+00:00","affected":[{"ecosystem":"Go","name":"github.com/tilt-dev/tilt","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"0.20.8"},{"kind":"fixed","version":"0.37.4"}]}],"versions":[],"rawVersionEvidence":null}],"metrics":[{"system":"CVSS_V4","vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N","score":null,"severity":null},{"system":"Publisher rating","vector":null,"score":null,"severity":"CRITICAL"}],"references":["https://github.com/tilt-dev/tilt/security/advisories/GHSA-c73q-8xxr-rgqm","https://github.com/tilt-dev/tilt/pull/6776","https://github.com/tilt-dev/tilt","https://github.com/tilt-dev/tilt/releases/tag/v0.37.4"],"sourceUrl":"https://github.com/advisories/GHSA-c73q-8xxr-rgqm","license":"GitHub Advisory Database · CC-BY-4.0","key":"osv:GHSA-c73q-8xxr-rgqm","identifiers":["GHSA-c73q-8xxr-rgqm","CVE-2026-55884","GO-2026-5317"]},"retained":false,"historicalAffected":[]}],"coverage":[]}