☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2026-15687

CVE-2026-15687 Path Traversal in Kubernetes
📅 PUBLISHED: 2026-07-23 18:43 UTC 🔄 UPDATED: 2026-10-08 19:49 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix ⏳ Vendor-claimed fix: v25.0.1 — source: kubernetes. UNVERIFIED · pending independent confirmation. how verification works →
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.35%
👁️
0.35% probability
8.8× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
2.7
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-15687 is a Low severity vulnerability in the Kubernetes Java client library. The flaw allows a compromised pod to create new files in arbitrary locations on the client machine executing copy operations via the copyDirectoryFromPod method when enableTarCompressing is set to false. This is a path traversal vulnerability (CWE-22) that requires local access to the client machine and user interaction.

Business Impact: Organizations using the Kubernetes Java client library for automated operations, particularly in CI/CD pipelines or administrative tooling, are at risk. The likely attacker is a malicious insider or an attacker who has already compromised a pod within the cluster. Industries with multi-tenant Kubernetes environments, such as cloud service providers, SaaS companies, and large enterprises, are most at risk.

Urgency Assessment: With a CVSS score of 2.7 (Low) and an EPSS exploitation probability of 0.0%, this vulnerability is not considered an immediate threat. The attack vector is local, requires high attack complexity, and user interaction, making it difficult to exploit in real-world scenarios. No active exploitation has been reported as of 2026-07-23.

Key Facts:

  • Vendor: Kubernetes
  • Affected Software: Kubernetes Java client library
  • Patch Status: None available as of 2026-07-23
  • CISA KEV: Not listed
⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

CVSS Breakdown & Threat Level

CVSS Vector: CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:N/I:L/A:N

Metric Decomposition:

  • AV:L (Local): The attacker must have local access to the client machine executing the copy operation. This is not a network-accessible vulnerability.
  • AC:H (High): Exploitation requires specific conditions: enableTarCompressing must be false, and the attacker must control a pod that can trigger the copy operation.
  • PR:L (Low): The attacker needs low-level privileges, such as access to a compromised pod.
  • UI:R (Required): User interaction is required. A user on the client machine must execute the copyDirectoryFromPod method.
  • S:U (Unchanged): The vulnerability does not affect resources beyond the vulnerable component.
  • C:N (None): No confidentiality impact. The attacker cannot read files.
  • I:L (Low): Low integrity impact. The attacker can create new files but cannot modify existing ones.
  • A:N (None): No availability impact.

Qualitative Severity: Low

EPSS Interpretation: An EPSS score of 0.0% indicates that the probability of exploitation in the wild is negligible. This is consistent with the high complexity and specific preconditions required for exploitation.

Historical Comparison: This vulnerability is similar to CVE-2022-3172 (Kubernetes API Server path traversal) and CVE-2021-25741 (Kubernetes symlink exchange), both of which involve path traversal in Kubernetes components. However, CVE-2026-15687 is less severe due to its local attack vector and user interaction requirement.

Temporal/Environmental Considerations: No patch is available, and no exploit exists. The temporal score remains unchanged. In environments where enableTarCompressing is commonly set to false and untrusted pods are allowed to initiate copy operations, the environmental score may be slightly elevated.

Technical Deep Dive & Attack Mechanics

Root Cause Analysis: The vulnerability stems from insufficient input validation in the copyDirectoryFromPod method of the Kubernetes Java client library. When enableTarCompressing is false, the library performs a non-tar copy operation. The attacker-controlled pod can manipulate the directory structure or file paths returned during the copy, leading to path traversal.

Step-by-Step Exploitation:

  1. Precondition: The attacker has compromised a pod in the Kubernetes cluster. The client machine uses the Kubernetes Java client library with enableTarCompressing set to false.
  2. Trigger: A user on the client machine executes copyDirectoryFromPod to copy a directory from the compromised pod to the client machine.
  3. Exploitation: The compromised pod responds with crafted directory entries containing path traversal sequences (e.g., ../../malicious_dir/).
  4. Outcome: The client library writes files to arbitrary locations on the client machine, such as ~/.ssh/authorized_keys or /etc/cron.d/.

Attack Surface: The attack surface is limited to the client machine running the Kubernetes Java client library. The vulnerability is not exploitable over the network directly.

Pre-conditions:

  • The attacker must have compromised a pod.
  • The client must use copyDirectoryFromPod with enableTarCompressing=false.
  • A user must initiate the copy operation.

Why Standard Defenses May Fail: Standard network-based defenses (WAF, firewalls) are ineffective because the attack occurs over legitimate Kubernetes API calls. Endpoint detection may miss the file creation if it mimics legitimate administrative activity.

Vulnerable vs. Patched Code Analysis

Vulnerable Code (Pseudocode):

public void copyDirectoryFromPod(String podName, String srcPath, String destPath, boolean enableTarCompressing) {
    if (!enableTarCompressing) {
        // Non-tar copy - vulnerable to path traversal
        List<FileEntry> entries = getPodDirectoryListing(podName, srcPath);
        for (FileEntry entry : entries) {
            String targetPath = destPath + "/" + entry.getName(); // No sanitization
            writeFile(targetPath, entry.getContent());
        }
    }
}

Patched Code (Expected):

public void copyDirectoryFromPod(String podName, String srcPath, String destPath, boolean enableTarCompressing) {
    if (!enableTarCompressing) {
        List<FileEntry> entries = getPodDirectoryListing(podName, srcPath);
        for (FileEntry entry : entries) {
            String sanitizedName = sanitizePath(entry.getName()); // Added sanitization
            String targetPath = destPath + "/" + sanitizedName;
            // Validate targetPath is within destPath
            if (!targetPath.startsWith(destPath)) {
                throw new SecurityException("Path traversal detected");
            }
            writeFile(targetPath, entry.getContent());
        }
    }
}

Patch Analysis: The fix adds path sanitization and validation to ensure that the target path remains within the intended destination directory. This prevents directory traversal attacks.

Regression Considerations: The patch may break workflows that rely on relative paths or symlinks within copied directories. Teams should test thoroughly after applying the patch.

Timeline & Disclosure History

  • CVE Publication Date: 2026-07-23T18:43:25.357Z
  • Estimated Discovery: Likely discovered through internal security review or bug bounty program.
  • Disclosure Process: The vulnerability was reported to the Kubernetes security team and coordinated through the CVE program.
  • Known Exploitation: No known active exploitation as of 2026-07-23.
  • CISA KEV: Not listed.

Threat Intelligence Context

Threat Actor Profile: This vulnerability is most likely to be exploited by:

  • Insider threats: Malicious developers or operators with access to pods.
  • Post-compromise actors: Attackers who have already established a foothold in a pod and are seeking lateral movement or persistence on client machines.

Attack Campaign Context: No known campaigns are exploiting this CVE. It is not associated with any APT groups or ransomware operations.

Geographic Targeting: No specific geographic targeting patterns are known.

Industry Verticals at Risk:

  • Cloud service providers
  • SaaS companies
  • Large enterprises with multi-tenant Kubernetes clusters
  • CI/CD pipeline operators

Historical Connection: Similar to CVE-2022-3172 (Kubernetes API Server path traversal) and CVE-2021-25741 (Kubernetes symlink exchange), which also involve path traversal in Kubernetes components.

Exploitation & Lab Setup

Red Team Section

Lab Setup:

  1. Environment: Docker-based Kubernetes cluster with a single node.
  2. Prerequisites:
    • Kubernetes cluster (e.g., using kind or minikube)
    • Java application using Kubernetes Java client library (version with enableTarCompressing=false)
    • A compromised pod (simulated by deploying a pod with a malicious file structure)
  3. Network Config: Ensure the client machine can communicate with the Kubernetes API server.

Exploitation Walkthrough:

  1. Deploy a malicious pod with a crafted directory structure containing path traversal entries.
  2. On the client machine, execute:
    java -jar client.jar --copy-from-pod malicious-pod /data /tmp/output --no-tar
    
  3. The client library will write files to /tmp/output/../../etc/cron.d/malicious instead of /tmp/output/.

Expected Output: Files are created in arbitrary locations on the client machine, such as /etc/cron.d/ or ~/.ssh/.

Post-Exploitation: The attacker can achieve persistence (e.g., cron job) or privilege escalation (e.g., SSH key injection) on the client machine.

Blue Team Section

Detection:

  • Monitor for file creation events in unexpected directories (e.g., /etc/cron.d/, ~/.ssh/) originating from Java processes.
  • Log entries showing copyDirectoryFromPod calls with enableTarCompressing=false.
  • Network traffic showing large directory listings from pods to client machines.

Log Entries:

  • Kubernetes audit logs showing copy operations from pods.
  • File system audit logs (e.g., auditd) showing file creation in sensitive directories.

Network Traffic Signatures:

  • Unusually large responses from pods to client machines during copy operations.
  • Directory listings containing path traversal sequences (../).

Endpoint Behavioral Indicators:

  • Java process writing files outside its expected working directory.
  • Unexpected file creation in system directories.

Indicators of Compromise (IOCs)

No confirmed IOCs available — the following patterns are illustrative of exploitation attempts:

Network IOCs:

  • Kubernetes API calls with copy operation from a pod to a client machine.
  • Large directory listings from pods containing ../ sequences.

HTTP Request Patterns:

  • POST requests to /api/v1/namespaces/{namespace}/pods/{pod}/exec with command=copy parameters.

File System Artifacts:

  • Unexpected files in /etc/cron.d/, ~/.ssh/, /tmp/ with suspicious content.
  • Files created by Java processes in non-standard locations.

Process Execution Anomalies:

  • Java processes with file write operations to system directories.

Log Entries:

  • auditd logs: type=SYSCALL msg=audit(...): arch=... syscall=openat success=yes exit=... a0=... a1=/etc/cron.d/malicious ...

STIX-like IOC List:

Type Value Description
file /etc/cron.d/malicious [EXAMPLE — not a real IOC]
process java -jar client.jar --copy-from-pod [EXAMPLE — not a real IOC]
network POST /api/v1/namespaces//pods//exec [EXAMPLE — not a real IOC]

Detection Engineering

YARA Rule

rule CVE-2026_15687_Detection {
    meta:
        description = "Detects exploitation of CVE-2026-15687 in Kubernetes Java client"
        author = "Valters IT Hub"
        date = "2026-07-23"
        reference = "https://www.valtersit.com/cve/cve-2026-15687"
    strings:
        $path_traversal = "../" ascii wide nocase
        $copy_method = "copyDirectoryFromPod" ascii wide nocase
        $no_tar = "enableTarCompressing" ascii wide nocase
    condition:
        all of them
}

Sigma Rule (SIEM)

title: CVE-2026-15687 Kubernetes Exploitation Detection
id: b5e11154-9b88-4f38-9f8a-92f9cbee17ac
status: experimental
description: Detects exploitation attempts targeting CVE-2026-15687 in Kubernetes Java client
author: Valters IT Hub
date: 2026-07-23
references:
    - https://www.valtersit.com/cve/cve-2026-15687
logsource:
    category: process_creation
    product: linux
detection:
    selection:
        Image|endswith: '/java'
        CommandLine|contains|all:
            - 'copyDirectoryFromPod'
            - 'enableTarCompressing'
            - 'false'
    condition: selection
falsepositives:
    - Legitimate administrative use of non-tar copy operations
level: high

Suricata IDS Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2026-15687 Kubernetes Java Client Path Traversal"; flow:to_server,established; content:"POST"; http_method; content:"/api/v1/namespaces/"; http_uri; content:"/exec"; http_uri; content:"copy"; http_client_body; pcre:"/\.\.\//"; classtype:attempted-admin; sid:1000001; rev:1;)

Elastic (EQL) Query

process where event.type == "start" and
  process.name == "java" and
  process.command_line contains "copyDirectoryFromPod" and
  process.command_line contains "enableTarCompressing" and
  process.command_line contains "false"

Splunk SPL Query

index=main sourcetype=process_linux
| search process_name=java AND command_line="*copyDirectoryFromPod*" AND command_line="*enableTarCompressing*" AND command_line="*false*"
| table _time, host, user, process_name, command_line

Wazuh Rule

<group name="kubernetes,">
  <rule id="100001" level="12">
    <if_sid>550</if_sid>
    <field name="process.name">java</field>
    <field name="process.command_line">\.*copyDirectoryFromPod\.*</field>
    <field name="process.command_line">\.*enableTarCompressing\.*</field>
    <field name="process.command_line">\.*false\.*</field>
    <description>CVE-2026-15687: Kubernetes Java client non-tar copy operation detected</description>
    <mitre>
      <id>T1204</id>
    </mitre>
  </rule>
</group>

Remediation & Mitigation

Immediate Actions (0-24 hours)

  • Patch: No patch available. Monitor the Kubernetes security advisory page for updates.
  • Compensating Controls:
    • Set enableTarCompressing=true in all Java client configurations.
    • Restrict pod-to-client copy operations using Kubernetes RBAC.
    • Implement network policies to limit pod-to-client communication.
  • Network-Level Mitigation: Block outbound connections from pods to client machines on non-standard ports.
  • Authentication Hardening: Ensure only trusted users can execute copy operations.

Short-term (1-7 days)

  • Configuration Hardening: Audit all Java client configurations to ensure enableTarCompressing is set to true.
  • Monitoring Implementation: Deploy the detection rules provided above.
  • Vulnerability Scanning: Use kubectl to identify pods with suspicious file structures:
    kubectl exec <pod> -- find / -name "*.txt" -path "*../*"
    

Long-term

  • Architecture Changes: Use tar-based copy operations exclusively.
  • Security Control Improvements: Implement file integrity monitoring on client machines.
  • Developer Training: Educate developers on path traversal vulnerabilities in file copy operations.

Validation

  • Confirm enableTarCompressing=true in all Java client configurations.
  • Test copy operations with a malicious pod to ensure path traversal is blocked.
  • Verify that detection rules generate alerts for non-tar copy operations.

References & Resources


Report generated by Valters IT Hub Neural Engine v25 | 2026-07-23 | https://www.valtersit.com/cve/cve-2026-15687

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-15687/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.