Beszel Vulnerable to Docker API Path Traversal via Unsanitized Container ID
Beszel is a server monitoring platform. Prior to version 0.18.2, the hub's authenticated API endpoints GET /api/beszel/containers/logs and GET /api/beszel/containers/info pass the user-supplied "container" query parameter to the agent without validation. The agent constructs Docker Engine API URLs using fmt.Sprintf with the raw value instead of url.PathEscape(). Since Go's http.Client does not sanitize `../` sequences from URL paths sent over unix sockets, an authenticated user (including readonly role) can traverse to arbitrary Docker API endpoints on agent hosts, exposing sensitive infrastructure details. Version 0.18.4 fixes the issue.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-27734
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 07:08 UTC · Revision 1
Source evidence
Beszel Vulnerable to Docker API Path Traversal via Unsanitized Container ID
core-osv · Original sourcePublished 27 Feb 2026, 19:41 UTC
Beszel is a server monitoring platform. Prior to version 0.18.2, the hub's authenticated API endpoints GET /api/beszel/containers/logs and GET /api/beszel/containers/info pass the user-supplied "container" query parameter to the agent without validation. The agent constructs Docker Engine API URLs using fmt.Sprintf with the raw value instead of url.PathEscape(). Since Go's http.Client does not sanitize `../` sequences from URL paths sent over unix sockets, an authenticated user (including readonly role) can traverse to arbitrary Docker API endpoints on agent hosts, exposing sensitive infrastructure details. Version 0.18.4 fixes the issue.
osv:CVE-2026-27734
Complete source record
{
"id": "9a4886a7b7134d1f2aac774521503bab0e826503e8c9306dbf887d5c64031784",
"url": "https://osv.dev/vulnerability/CVE-2026-27734",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Beszel Vulnerable to Docker API Path Traversal via Unsanitized Container ID",
"summary": "Beszel is a server monitoring platform. Prior to version 0.18.2, the hub's authenticated API endpoints GET /api/beszel/containers/logs and GET /api/beszel/containers/info pass the user-supplied \"container\" query parameter to the agent without validation. The agent constructs Docker Engine API URLs using fmt.Sprintf with the raw value instead of url.PathEscape(). Since Go's http.Client does not sanitize `../` sequences from URL paths sent over unix sockets, an authenticated user (including readonly role) can traverse to arbitrary Docker API endpoints on agent hosts, exposing sensitive infrastructure details. Version 0.18.4 fixes the issue.",
"evidence": "osv:CVE-2026-27734",
"products": [],
"severity": "medium",
"structured": {
"id": "CVE-2026-27734",
"aliases": [
"CVE-2026-27734",
"GHSA-phwh-4f42-gwf3",
"GO-2026-4571"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/henrygd/beszel",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "af0c1d3af793a8c08959cd31752a723f72833651"
},
{
"fixed": "ac79860d4a8a3ce73c15797db339f9f230472033"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:beszel:beszel:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "0.18.2"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "ac79860d4a8a3ce73c15797db339f9f230472033"
}
],
"source": "REFERENCES_TAG",
"original_tag": "v0.18.4"
}
]
}
}
],
"versions": [
"v0.18.1",
"v0.18.0",
"v0.17.0",
"v0.16.1",
"v0.16.0",
"v0.12.12",
"v0.15.4",
"v0.15.3",
"v0.15.2",
"v0.15.1",
"v0.15.0",
"v0.14.1",
"v0.14.0",
"v0.13.2",
"v0.13.1",
"v0.13.0",
"v0.12.11",
"v0.12.10",
"v0.12.9",
"v0.12.8",
"v0.12.7",
"v0.12.6",
"v0.12.5",
"v0.12.4",
"v0.12.3",
"v0.12.2",
"v0.12.1",
"v0.12.0",
"v0.12.0-beta2",
"v0.12.0-beta1",
"v0.11.1",
"v0.11.0",
"v0.10.2",
"v0.10.1",
"v0.10.0",
"v0.9.1",
"v0.9.0",
"v0.8.0",
"v0.7.4",
"v0.7.3",
"v0.7.2",
"v0.7.1",
"v0.7.0",
"v0.6.2",
"v0.6.1",
"v0.6.0",
"v0.5.3",
"v0.5.2",
"v0.5.1",
"v0.5.0",
"v0.4.0",
"v0.3.0",
"v0.2.0",
"v0.1.2",
"v0.1.1",
"v0.1.0",
"v0.0.1",
"v0.0.1-alpha.9",
"v0.0.1-alpha.8",
"v0.0.1-alpha.7",
"v0.0.1-alpha.6",
"v0.0.1-alpha.5",
"v0.0.1-alpha.4",
"v0.0.1-alpha.3",
"v0.0.1-alpha.2",
"v0.0.1-alpha.1",
"v0.0.1-alpha.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-27734.json"
}
}
],
"modified": "2026-10-28T02:30:27.069077684Z",
"provider": "osv",
"references": [
"https://github.com/henrygd/beszel/releases/tag/v0.18.4",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/27xxx/CVE-2026-27734.json",
"https://github.com/henrygd/beszel/security/advisories/GHSA-phwh-4f42-gwf3",
"https://nvd.nist.gov/vuln/detail/CVE-2026-27734"
],
"provider_metadata": {
"cwe_ids": [
"CWE-22"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/27xxx/CVE-2026-27734.json"
}
},
"related_cves": [
{
"value": "CVE-2026-27734",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 493247,
"published_at": "2026-02-27T19:41:30.418+00:00"
}