Severity by source
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N
Primary rating from GitHub Advisory.
CVSS VectorGitHub Advisory
Lifecycle Timeline
3DescriptionGitHub Advisory
Summary
Kubetail's dashboard exposes WebSocket endpoints that did not adequately validate the Origin header on connection upgrade. A malicious web page visited by a user with an active Kubetail session could open a WebSocket to the user's dashboard and read their Kubernetes logs in real time. This is a Cross-Site WebSocket Hijacking (CSWSH) vulnerability and affects both the desktop deployment (default http://localhost:7500) and cluster deployments (typically behind an Ingress with HTTP basic auth).
Impact
An attacker who can convince an authenticated Kubetail user to visit a page they control can:
- Establish a WebSocket connection to the victim's dashboard from the attacker's origin
- Stream container logs the victim has access to via the Kubernetes API
- Exfiltrate the contents to an attacker-controlled server
The attacker gains read-only access to logs - no write or destructive operations are exposed. However, container logs frequently contain credentials accidentally written by application code, bearer tokens, internal hostnames, customer PII, and other secrets, so the practical impact of read access can be significant.
The desktop deployment is particularly exposed because the dashboard is reachable at a predictable localhost URL, requires no network reachability from the attacker, and the browser will attach ambient credentials to the WebSocket handshake. For cluster deployments fronted by HTTP basic auth, the browser's automatic re-sending of basic-auth credentials on the WebSocket upgrade request enables the same attack against the configured dashboard origin.
Affected versions
| Component | Name | Affected | Patched |
|---|---|---|---|
| Kubetail Dashboard docker image | kubetail-dashboard | < 0.14.0 | >= 0.14.0 |
| Kubetail Helm Chart | kubetail/kubetail | < 0.23.0 | >= 0.23.0 |
| Kubetail CLI | kubetail | < 0.16.0 | >= 0.16.0 |
Confirmed in Google Chrome. Microsoft Edge is presumed affected as it shares Chromium's WebSocket implementation, but was not directly tested.
Preconditions for exploitation
- The victim has an active authenticated Kubetail session (desktop dashboard running, or browser holding valid credentials for a cluster deployment).
- The victim visits a web page controlled by the attacker in the same browser.
- The attacker knows or can guess the dashboard URL (trivial for desktop; cluster deployments require knowing the Ingress hostname).
Patches
Upgrade to:
- Kubetail Dashboard 0.14.0 or later
- Kubetail Helm Chart 0.23.0 or later
- Kubetail CLI 0.16.0 or later
Workarounds
If users cannot upgrade immediately:
- Desktop: Stop the dashboard (kubetail CLI process) when not actively in use. Avoid visiting untrusted sites in the same browser profile while the dashboard is running.
- Cluster: Restrict Ingress access to a VPN, bastion, or office network. Add a stronger outer authentication layer (e.g. OAuth proxy) in front of basic auth. Consider browser profile isolation for cluster admins.
AnalysisAI
Kubetail Dashboard prior to version 0.14.0 fails to validate the Origin header on WebSocket connection upgrades, enabling Cross-Site WebSocket Hijacking (CSWSH) attacks. An authenticated user visiting a malicious web page can be exploited to stream their Kubernetes container logs-including credentials, tokens, and PII often present in logs-to an attacker-controlled server. The vulnerability affects both desktop deployments at localhost:7500 and cluster deployments behind HTTP basic auth, with browser ambient credentials automatically attached to the WebSocket handshake.
Technical ContextAI
Kubetail Dashboard implements WebSocket endpoints for real-time Kubernetes log streaming (pkg:go/github.com_kubetail-org_kubetail_modules_dashboard). The vulnerability stems from inadequate Origin header validation during WebSocket upgrade handshakes, a critical defense mechanism against cross-origin attacks. Modern browsers enforce Same-Origin Policy (SOP) on HTTP requests but allow WebSocket upgrades from any origin if the server does not validate the Origin header. CWE-1385 (Improper Validation of Specified Quantity in Input) describes the root cause: the application fails to validate a required security-critical header. For desktop deployments, the WebSocket is reachable at a predictable localhost:7500 address with no network barrier. For cluster deployments, HTTP basic auth credentials are automatically re-sent by the browser during the WebSocket upgrade request, effectively authenticating the hijacked connection.
RemediationAI
Vendor-released patches are available: upgrade Kubetail Dashboard to 0.14.0 or later, Kubetail Helm Chart to 0.23.0 or later, and Kubetail CLI to 0.16.0 or later. See https://github.com/kubetail-org/kubetail/security/advisories/GHSA-v8j7-hp7c-738f for full advisory and upgrade guidance. Until patching is possible, implement the following workarounds with noted trade-offs: For desktop deployments, stop the Kubetail CLI process and dashboard when not actively in use (operational friction but eliminates attack surface); avoid visiting untrusted websites in the same browser profile while the dashboard is running (behavioral control, difficult to enforce at scale). For cluster deployments, restrict Ingress access to a VPN, bastion host, or office network (reduces attacker's ability to deliver the malicious page but assumes external attacker; insider threats remain unmitigated); deploy a stronger outer authentication layer such as an OAuth proxy in front of HTTP basic auth (adds defense in depth but increases operational complexity); isolate browser profiles for cluster administrators (limits blast radius but impractical for many environments). These workarounds do not eliminate the vulnerability-patching is the definitive remediation.
An issue was discovered in Appsmith before 1.52. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl
runc through version 1.0-rc6 (used in Docker before 18.09.2) contains a container escape vulnerability that allows attac
Netmaker makes networks with WireGuard. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no a
Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/
The News & Blog Designer Pack - WordPress Blog Plugin - (Blog Post Grid, Blog Post Slider, Blog Post Carousel, Blog Post
Path traversal in JFrog Artifactory (CWE-22) enables an authenticated low-privilege user to write data outside the inten
Docker 1.3.2 allows remote attackers to execute arbitrary code with root privileges via a crafted (1) image or (2) build
Remote code execution in Gogs through 0.14.2 allows authenticated users (and unauthenticated attackers on default-config
Remote code execution in Flowise before 3.1.2 allows any authenticated user (or API caller with chatflow view/update per
Remote code execution in NocoBase Workflow Script Node (npm @nocobase/plugin-workflow-javascript) allows authenticated l
Docker Desktop Community Edition before 2.1.0.1 allows local users to gain privileges by placing a Trojan horse docker-c
Vasion Print (formerly PrinterLogic) Virtual Appliance Host prior to version 25.2.169 and Application prior to version 2
Same weakness CWE-1385 – Missing Origin Validation in WebSockets
View allSame technique Information Disclosure
View allVendor StatusVendor
SUSE
Severity: Moderate| Product | Status |
|---|---|
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP6 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.6 | Affected |
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-30331
GHSA-v8j7-hp7c-738f