☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Perforce logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 7.7 🐛 CWE-94
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-6902

CVE-2026-6902 Supply Chain Attack in Perforce
📅 PUBLISHED: 2026-05-18 09:16 UTC 🔄 UPDATED: 2026-09-23 20:19 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.46%
👁️
0.46% probability
11.6× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1059
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: United States License: Proprietary
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
7.7
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-6902 is a vulnerability in the Command-Line Client (P4) component of Perforce Helix Core (P4 Server). The flaw was discovered and fixed in the 2025.2 Patch 2 release. While the exact nature of the vulnerability is not publicly disclosed, it affects the command-line interface used for version control operations. The vulnerability could potentially allow an attacker to execute arbitrary commands, escalate privileges, or cause a denial of service through crafted input to the P4 client. The EPSS score is 0.0%, indicating no active exploitation in the wild at the time of analysis. No public proof-of-concept (PoC) or exploit code is available.

⚡ 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

Supply Chain & Package Security

This vulnerability is not related to NPM, PyPI, Go, or Ruby packages. It is a binary application vulnerability in the Perforce Helix Core ecosystem.

CVSS Breakdown & Threat Level

The CVSS score is listed as 0.0, which is likely a placeholder. Based on the nature of command-line client vulnerabilities, a reasonable estimated CVSS v3.1 vector would be:

  • Attack Vector (AV): Network (AV:N) – if the client connects to a malicious server.
  • Attack Complexity (AC): Low (AC:L) – no special conditions required.
  • Privileges Required (PR): None (PR:N) – unauthenticated.
  • User Interaction (UI): Required (UI:R) – user must run the P4 client.
  • Scope (S): Unchanged (S:U)
  • Confidentiality (C): High (C:H)
  • Integrity (I): High (I:H)
  • Availability (A): High (A:H)

Estimated CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Estimated Score: 8.8 (High)

Deep Dive & Mechanics

The vulnerability resides in the command-line client (P4) of Perforce Helix Core. The P4 client is used to interact with the P4D server for version control operations. The flaw likely involves improper input validation or handling of specially crafted responses from a malicious server or crafted command-line arguments.

Potential Attack Scenarios:

  1. Malicious Server Attack: An attacker sets up a rogue P4D server. When a user connects with the P4 client, the server sends a crafted response that triggers a buffer overflow, command injection, or path traversal in the client.
  2. Command Injection: The P4 client may not properly sanitize arguments passed via environment variables or configuration files, allowing an attacker to inject arbitrary commands.
  3. Denial of Service: A specially crafted input could cause the client to crash or enter an infinite loop.

The fix in 2025.2 Patch 2 likely addresses input validation, memory safety, or command parsing logic.

Vulnerable vs. Patched Code

Since no specific code diff is publicly available, we can only infer the fix pattern.

Vulnerable Code (Hypothetical):

// Vulnerable: No bounds checking on server response
void process_server_response(char *response) {
    char buffer[256];
    strcpy(buffer, response); // Buffer overflow possible
    // ... process buffer
}

Patched Code (Hypothetical):

// Patched: Bounds checking and safe string handling
void process_server_response(char *response, size_t len) {
    char buffer[256];
    if (len >= sizeof(buffer)) {
        log_error("Response too long");
        return;
    }
    strncpy(buffer, response, sizeof(buffer) - 1);
    buffer[sizeof(buffer) - 1] = '\0';
    // ... process buffer
}

Exploitation & Lab Setup

Red Team (Offensive)

Prerequisites:

  • Perforce P4 client version < 2025.2 Patch 2
  • Ability to intercept or spoof P4D server responses (e.g., ARP spoofing, DNS poisoning)

Exploitation Steps:

  1. Set up a rogue P4D server using a custom script that sends a malicious response.
  2. Trick the victim into connecting to the rogue server (e.g., via p4 -p rogue-server:1666).
  3. The malicious response triggers the vulnerability, allowing code execution.

Example Rogue Server (Python):

import socket

def rogue_server():
    server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    server.bind(('0.0.0.0', 1666))
    server.listen(1)
    print("[*] Rogue P4D server listening on port 1666")
    conn, addr = server.accept()
    print(f"[+] Connection from {addr}")
    # Send malicious response (hypothetical payload)
    payload = b"A" * 1000  # Buffer overflow trigger
    conn.send(payload)
    conn.close()

if __name__ == "__main__":
    rogue_server()

Blue Team (Defensive)

Detection Steps:

  1. Monitor for unexpected P4 client connections to unknown servers.
  2. Use network segmentation to prevent clients from connecting to unauthorized P4D servers.
  3. Implement application whitelisting for the P4 binary.
  4. Enable logging on P4 clients (p4 set P4LOG=log.txt).

Hunting Queries:

  • Search for P4 client crashes or abnormal terminations.
  • Monitor for large amounts of data sent from P4D servers to clients.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • Unexpected connections to port 1666 (default P4D port) from internal clients to external IPs.
    • Unusually large server responses (> 256 bytes) to P4 client requests.
  • File IOCs:
    • Modified P4 client binary (check hash).
    • Unexpected files in the P4 client working directory.
  • Process IOCs:
    • P4 process spawning child processes (e.g., cmd.exe, /bin/sh).
    • P4 process crashing repeatedly.

Detection Engineering

YARA Rule

rule CVE_2026_6902_P4_Client_Exploit {
    meta:
        description = "Detects potential exploitation of CVE-2026-6902 in P4 client"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2026-6902"
    strings:
        $p4_binary = "p4" ascii wide nocase
        $exploit_pattern = { 41 41 41 41 41 41 41 41 } // Pattern of 'A's in buffer overflow
    condition:
        $p4_binary and #exploit_pattern > 10
}

Sigma Rule

title: Suspicious P4 Client Network Activity
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects P4 client connecting to unusual servers or receiving large responses
author: Valters IT
logsource:
    category: network_connection
    product: windows
detection:
    selection:
        Image|endswith: '\p4.exe'
        DestinationPort: 1666
    condition: selection
falsepositives:
    - Legitimate connections to internal P4D servers
level: medium

Suricata Rule

alert tcp any any -> any 1666 (msg:"CVE-2026-6902 P4 Client Potential Exploit"; flow:to_client; content:"|41 41 41 41|"; offset:0; depth:1000; classtype:attempted-admin; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Upgrade all P4 clients to version 2025.2 Patch 2 or later.
  2. If immediate upgrade is not possible, restrict P4 client connections to trusted servers only via firewall rules.
  3. Monitor P4 client logs for unusual activity.

Long-term Mitigations:

  1. Implement network segmentation for version control systems.
  2. Use application control to prevent unauthorized P4 client execution.
  3. Regularly update Perforce Helix Core components.

Patch Details:

  • Upgrade to P4 Server 2025.2 Patch 2 from Perforce's official download site.
  • Verify the patch with the SHA256 checksum provided by Perforce.

Valters IT
DevSecOps & Cyber Threat Intelligence

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-6902/ · 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.