CVE-2026-27734
NixOS vulnerability analysis and mitigation

Overview

CVE-2026-27734 is a Docker API path traversal vulnerability in Beszel, an open-source server monitoring platform. The flaw exists in the hub's authenticated API endpoints (GET /api/beszel/containers/logs and GET /api/beszel/containers/info), which pass user-supplied container query parameters to the agent without validation, enabling traversal to arbitrary Docker Engine API endpoints. All Beszel versions up to and including 0.18.3 are affected; version 0.18.4 contains the fix. The vulnerability was disclosed on February 27, 2026, and carries a CVSS v3.1 base score of 6.5 (Medium) (Github Advisory, Beszel Release).

Technical details

The root cause is CWE-22 (Path Traversal): the hub code in internal/hub/hub.go (lines 407–426) retrieves the container query parameter and checks only for emptiness before forwarding it to the agent. The agent (agent/docker.go, lines 651–652 and 682–683) then interpolates the raw value directly into Docker Engine API URLs using fmt.Sprintf (e.g., http://localhost/containers/%s/json) instead of using url.PathEscape(). Go's http.Client does not sanitize ../ sequences in URL paths when communicating over Unix sockets, so the Docker daemon's internal cleanPath function resolves the traversal sequences and routes requests to unintended API endpoints. A public proof-of-concept demonstrating exploitation against Beszel v0.18.3 is included in the security advisory (Github Advisory).

Impact

Any authenticated user — including those with the readonly role — can read arbitrary Docker Engine API GET endpoints on all agent hosts connected to the Beszel hub. Exposed data includes hostname, OS version, kernel version, Docker engine version, full container inventory, image list, network topology, storage driver configuration, and security options. This constitutes a privilege escalation for readonly users and enables detailed infrastructure reconnaissance that could facilitate further attacks against the Docker environment or connected systems (Github Advisory).

Exploitation steps

  1. Authenticate: Obtain a valid Beszel user token (any role, including readonly) by sending a POST request to /api/collections/users/auth-with-password with valid credentials and extracting the returned JWT token.
  2. Identify target system: Determine the system ID of an agent host registered in the Beszel hub (visible in the UI or via API enumeration).
  3. Craft traversal payload: Construct a container query parameter containing path traversal sequences, e.g., ../../version?x= to target the Docker Engine version endpoint, or ../../info?x= for full system info.
  4. Send malicious request: Issue a GET request to http://<hub>/api/beszel/containers/info?system=<SYSTEM_ID>&container=../../version?x= with the Authorization: Bearer <TOKEN> header.
  5. Receive Docker API response: The agent forwards the traversed URL over the Docker Unix socket; the Docker daemon resolves the path and returns data from the unintended endpoint (e.g., engine version, kernel, hostname, container inventory) directly to the attacker (Github Advisory).

Indicators of compromise

  • Network: Unusual GET requests to /api/beszel/containers/info or /api/beszel/containers/logs with container query parameters containing ../ sequences (e.g., container=../../version?x=, container=../../info?x=).
  • Logs: Beszel hub access logs showing requests from low-privilege or readonly accounts to container API endpoints with anomalous container ID values; Docker daemon logs on agent hosts showing requests to /version, /info, or /images/json originating from the Beszel agent process rather than expected management tooling.
  • Process/Behavior: Beszel agent making unexpected Docker Unix socket calls to endpoints outside the /containers/ path namespace (e.g., /version, /info, /images/json) (Github Advisory).

Mitigation and workarounds

Upgrade Beszel to version 0.18.4 or later, which hardens the agent against Docker API path traversal by properly sanitizing the container parameter before URL construction. Until patching is complete, restrict network access to the Beszel hub to trusted internal networks only and limit user account creation to the minimum necessary. Audit Docker API access logs on agent hosts for any suspicious path traversal attempts, and review or revoke readonly credentials that may have been misused (Beszel Release, Github Advisory).

Community reactions

The vulnerability was discovered and reported by researcher Sergio Cabrera (credited in the advisory), with nekros1xx also credited as a reporter. The Beszel maintainer (henrygd) published the advisory and released the patch promptly on February 27, 2026. No significant broader media coverage or notable community controversy has been identified beyond the standard advisory publication (Github Advisory).

Additional resources


SourceThis report was generated using AI

Related NixOS vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-16412CRITICAL9.8
  • NixOS logoNixOS
  • cpe:2.3:a:mozilla:firefox:*:*:*:*:esr:*:*:*
NoYesJul 21, 2026
CVE-2026-16411CRITICAL9.8
  • NixOS logoNixOS
  • firefox
NoYesJul 21, 2026
CVE-2026-16410CRITICAL9.8
  • NixOS logoNixOS
  • thunderbird
NoYesJul 21, 2026
CVE-2026-16408CRITICAL9.8
  • NixOS logoNixOS
  • thunderbird
NoYesJul 21, 2026
CVE-2026-16409HIGH7.5
  • NixOS logoNixOS
  • cpe:2.3:a:mozilla:firefox
NoYesJul 21, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management