Skip to main content
Vulnerability Database/CVE-2026-92791

CVE-2026-92791: Uber Kraken Path Traversal Vulnerability

CVE-2026-92791 is a path traversal vulnerability in Uber Kraken that lets unauthenticated attackers read arbitrary files by exploiting the /tags/{tag} endpoint. This article covers technical details, affected versions, and mitigation.

Published:

CVE-2026-92791 Overview

Uber Kraken through version 0.1.29 contains a path traversal vulnerability [CWE-22] in the /tags/{tag} endpoint. The server fails to validate the tag parameter, allowing unauthenticated attackers to escape the configured storage root. By supplying percent-encoded parent-directory segments, an attacker can read arbitrary files accessible to the testfs backend process. Kraken is Uber's peer-to-peer Docker registry designed for large-scale container image distribution, making exposed instances attractive targets for information disclosure.

Critical Impact

Unauthenticated remote attackers can read arbitrary files on the host running the Kraken testfs backend, potentially exposing credentials, configuration, and container image data.

Affected Products

  • Uber Kraken versions up to and including 0.1.29
  • Kraken build-index/tagserver component
  • Kraken testfs backend storage service

Discovery Timeline

  • 2026-09-16 - CVE-2026-92791 published to NVD
  • 2026-09-16 - Last updated in NVD database

Technical Details for CVE-2026-92791

Vulnerability Analysis

The vulnerability resides in Kraken's tag server, which exposes the /tags/{tag} HTTP endpoint. The server passes the user-supplied tag value into a path builder that constructs the storage location for the tag file. Because the server does not canonicalize or validate the tag string, percent-encoded traversal sequences such as %2F..%2F..%2F are decoded into directory separators. The resulting path escapes the configured storage root and resolves to arbitrary locations on the underlying filesystem.

The testfs backend then opens and returns the file contents to the caller. No authentication is required to reach the endpoint. See the VulnCheck Advisory on Kraken and GitHub Kraken Issue #645 for reproduction details.

Root Cause

The root cause is missing input validation in the tag handling pipeline. The tagserver handler forwards the raw tag to the namepath pather, which joins the value onto the storage root without rejecting .. segments or percent-decoded separators. The testfs server then reads the resulting path directly.

Attack Vector

An unauthenticated attacker sends an HTTP GET request to the Kraken tag server with a crafted tag value containing percent-encoded parent-directory traversal sequences. The server decodes the value, joins it to the storage root, and returns the target file. The attack requires only network reachability to the tag server port.

No verified public exploit code is available. Refer to the GitHub Kraken Repository and linked advisory for full technical detail.

Detection Methods for CVE-2026-92791

Indicators of Compromise

  • HTTP requests to /tags/ paths containing percent-encoded traversal sequences such as %2e%2e%2f, %2E%2E%2F, or double-encoded variants like %252e%252e%252f.
  • Access log entries showing /tags/{tag} requests with unusually long or non-alphanumeric tag values.
  • Kraken tag server responses returning non-image file content, such as /etc/passwd or configuration files.

Detection Strategies

  • Inspect Kraken tagserver access logs for tag parameters that fail to match expected registry naming patterns.
  • Deploy web application firewall rules that block URL-encoded .. sequences on the /tags/ route.
  • Correlate outbound reads from the testfs process against paths outside the configured storage root.

Monitoring Recommendations

  • Forward Kraken container and host logs into a centralized analytics pipeline for anomaly review.
  • Alert on 200 OK responses to /tags/ requests where the URL contains encoded path separators.
  • Monitor file access telemetry on hosts running the Kraken testfs backend for reads outside the storage root.

How to Mitigate CVE-2026-92791

Immediate Actions Required

  • Restrict network access to Kraken tag server endpoints so only trusted registry clients can reach them.
  • Audit deployed Kraken instances and identify any running version 0.1.29 or earlier.
  • Rotate any credentials or secrets stored on hosts running the testfs backend, as they may have been exposed.

Patch Information

At the time of publication, no fixed release is referenced in the enriched CVE data. Track the GitHub Kraken Repository and GitHub Kraken Issue #645 for upstream fix status and apply the patched version once released.

Workarounds

  • Place Kraken tag server behind an authenticating reverse proxy that rejects encoded traversal sequences in the /tags/ path.
  • Run the testfs backend under a dedicated low-privilege user with filesystem access limited to the storage root.
  • Avoid using the testfs backend in production; prefer supported object-storage backends where available.
bash
# Example nginx rule to block encoded traversal on the tags route
location ~* ^/tags/ {
    if ($request_uri ~* "(%2e%2e|%252e%252e|\.\./)") { return 400; }
    proxy_pass http://kraken_tagserver_upstream;
}

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.