CVE-2026-25705 Overview
CVE-2026-25705 is a path traversal vulnerability [CWE-35] in Rancher's Extensions feature. The flaw resides in the compressedEndpoint field of a UIPlugin deployment. A malicious UI extension can write arbitrary files outside the intended extraction directory. Attackers can overwrite Rancher binaries or configuration files to inject code. The flaw also permits writes to /var/lib/rancher/ to tamper with cluster state. When hostPath volumes are mounted, attackers can write directly to the host node filesystem. The vulnerability requires authenticated high-privilege access and user interaction to install the malicious extension.
Critical Impact
Authenticated attackers can inject code into Rancher, tamper with cluster state, and pivot to host node filesystems via path traversal in UIPlugin deployments.
Affected Products
- Rancher Manager (Extensions component)
- Rancher UIPlugin deployments using compressedEndpoint
- Rancher instances with hostPath volume mounts (elevated impact)
Discovery Timeline
- 2026-05-13 - CVE-2026-25705 published to NVD
- 2026-05-13 - Last updated in NVD database
Technical Details for CVE-2026-25705
Vulnerability Analysis
The vulnerability exists in Rancher's Extensions subsystem. Rancher Extensions allow administrators to install plugins through UIPlugin custom resources. The compressedEndpoint field references a compressed archive that Rancher fetches and decompresses to deliver UI assets.
The decompression routine fails to sanitize archive entry paths. A crafted archive containing entries with ../ sequences escapes the intended extraction directory. The flaw exposes the entire Rancher process filesystem to attacker-controlled writes.
Attackers can chain this with other techniques to achieve persistence, lateral movement, or full cluster takeover. The chained impact is most severe when hostPath volumes expose node-level paths to the Rancher pod.
Root Cause
The root cause is improper validation of file paths during archive extraction, classified as [CWE-35] Path Traversal. Rancher trusts the file names embedded in the compressed archive referenced by compressedEndpoint. The extraction routine concatenates the destination directory with archive entry names without canonicalizing the result or verifying containment.
Attack Vector
Exploitation requires an authenticated user with privileges sufficient to create or modify UIPlugin resources. The attacker hosts a malicious compressed archive at a network-reachable URL. The archive contains entries with traversal sequences targeting Rancher binaries, configuration files, or /var/lib/rancher/ state. The attacker creates a UIPlugin resource pointing compressedEndpoint at the hostile archive. A Rancher administrator triggers installation, and Rancher fetches and extracts the archive, writing attacker-controlled content to arbitrary paths.
See the GitHub Security Advisory GHSA-5v3h-x4wf-5c35 for vendor technical details.
Detection Methods for CVE-2026-25705
Indicators of Compromise
- Unexpected UIPlugin resources referencing external or unfamiliar compressedEndpoint URLs
- Modified files under /var/lib/rancher/, Rancher binaries, or Rancher configuration directories with timestamps matching extension installation events
- New or modified files on host nodes when hostPath volumes are mounted into the Rancher pod
- Archive entries containing ../ sequences in fetched extension bundles
Detection Strategies
- Audit Kubernetes API server logs for UIPlugin create and update operations and correlate with the source identity
- Monitor file integrity on Rancher binaries, configuration files, and the /var/lib/rancher/ directory tree
- Inspect cached extension archives for entries containing traversal sequences before extraction
Monitoring Recommendations
- Enable Kubernetes audit logging for the catalog.cattle.io API group covering UIPlugin resources
- Forward Rancher pod logs and node filesystem events to a centralized analytics platform for correlation
- Alert on creation of UIPlugin resources by accounts that do not normally manage extensions
How to Mitigate CVE-2026-25705
Immediate Actions Required
- Restrict permissions to create or modify UIPlugin resources to a minimal set of trusted administrators
- Inventory existing UIPlugin resources and validate every compressedEndpoint URL against an approved allowlist
- Remove or do not mount hostPath volumes into the Rancher pod unless strictly required
- Apply the vendor patch as soon as it is available from the upstream Rancher project
Patch Information
Refer to the GitHub Security Advisory GHSA-5v3h-x4wf-5c35 and the SUSE Bugzilla entry for CVE-2026-25705 for fixed version information and upgrade guidance. Upgrade Rancher to a version that includes the path canonicalization fix for archive extraction.
Workarounds
- Block all outbound network egress from Rancher to untrusted hosts so compressedEndpoint cannot fetch attacker archives
- Disable the Extensions feature in environments that do not require UI plugins
- Use Kubernetes admission controllers such as Kyverno or OPA Gatekeeper to deny UIPlugin resources whose compressedEndpoint does not match an approved domain
# Example Kyverno policy fragment restricting UIPlugin compressedEndpoint sources
# Adjust the allowed pattern to match your approved extension registry
apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
name: restrict-uiplugin-endpoint
spec:
validationFailureAction: Enforce
rules:
- name: validate-compressed-endpoint
match:
any:
- resources:
kinds:
- UIPlugin
validate:
message: "compressedEndpoint must reference the approved registry"
pattern:
spec:
plugin:
endpoint: "https://extensions.example.com/*"
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


