Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Submit
ToolsExploitsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2026-54686-poc — Local PoC for CVE-2026-54686 demonstrating DCS lifecycle hook spoofing in Warp terminal. Simulates spoofed CWD and SSH metadata acceptance in vulnerable models, with fixed model rejection. | Kitploit
Tools/GitHubGitHub/saku0512/cve-2026-54686-poc
Vulnerability AnalysisExploitationCTFPenetration TestingLearning & EducationLabs & Practice
GitHubsaku0512/cve-2026-54686-poc

CVE-2026-54686-poc

Local PoC for CVE-2026-54686 demonstrating DCS lifecycle hook spoofing in Warp terminal. Simulates spoofed CWD and SSH metadata acceptance in vulnerable models, with fixed model rejection.

View Repository
43 months agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2026-54686: Warp DCS Lifecycle Hook Spoofing PoC

日本語版はこちら

Description

This repository contains a safe local Proof of Concept for CVE-2026-54686, based on Warp's public advisory GHSA-9w2v-jhww-vm85.

Before the patched release, Warp accepted certain state-mutating DCS lifecycle hooks from the PTY stream without verifying that those hooks were emitted by Warp's shell integration for the active session. If an attacker could cause a victim to view attacker-controlled terminal output in Warp, selected lifecycle metadata could be spoofed, including current working directory metadata for the active block and SSH session transport metadata.

This PoC does not connect to Warp or to any SSH server, and it does not execute arbitrary commands. It locally generates and parses Warp-like DCS JSON hooks to show that a vulnerable model accepts spoofed CWD and SSH metadata, while a fixed model rejects state-mutating hooks with missing or unregistered session_id values.

Disclaimer

This project is for educational and ethical security testing purposes only. Do not use it against systems or environments where you do not have explicit permission.

Vulnerability Details

  • CVE ID: CVE-2026-54686
  • GitHub Advisory: GHSA-9w2v-jhww-vm85
  • Summary: DCS lifecycle hook spoofing can alter terminal session metadata
  • Severity: Medium
  • CVSS v3.1: 4.3 (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L)
  • CWE: CWE-78, CWE-88
  • Affected versions: >= v0.2021.04.25.23.05.stable_00
  • Patched version: v0.2026.05.06.15.42.stable_01
  • Reporters: @rootxharsh, @Saku0512

Impact

Successful exploitation of the scoped CWD issue may cause Warp to treat an attacker-chosen path as the active session's current working directory. This can affect Warp features that seed path, context, or session behavior from the active CWD.

Spoofed SSH lifecycle metadata may also update Warp's stored SSH session transport metadata with attacker-controlled values.

Root Cause

Warp's shell integration sends lifecycle hooks such as Precmd, CommandFinished, InputBuffer, and SSH to the client using terminal DCS sequences. Before the fix, some state-mutating hooks did not require proof that they carried a session_id generated by the Warp client and registered for the active session.

The patch injects non-zero client-generated session IDs into bootstrap scripts and rejects state-mutating DCS hooks whose session_id is missing or unregistered. The SSH wrapper path was also changed so the local SSH hook is authenticated, a client-generated remote session ID is registered, and that remote ID is injected into the remote bootstrap.

Proof of Concept

1. Environment Setup

Python 3 is required:

python3 --version

2. Vulnerable Model Simulation

python3 poc.py

Expected result:

[!] VULNERABLE: spoofed cwd was accepted.
[!] VULNERABLE: spoofed ssh metadata was accepted.

3. Fixed Model Simulation

python3 poc.py --mode fixed

Expected result:

[+] FIXED: spoofed cwd was rejected.
[+] FIXED: spoofed ssh metadata was rejected.

4. Individual Cases

python3 poc.py --case cwd
python3 poc.py --case ssh

Use --show-stream to print the generated Warp-like DCS stream using Python repr(). The script does not print raw terminal control sequences.

Remediation

Update to v0.2026.05.06.15.42.stable_01 or later. The public advisory states that there is no complete workaround other than updating.

References

  • GHSA-9w2v-jhww-vm85
  • Fix commit 32d21d15c9a3da1a923d1ed66226cf5cba081d16
  • Fix commit 51bd3267803c5cc0a45074fa19fd50162be7c917
  • CWE-78
  • CWE-88
Download Tool