Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-54686-poc — CVE-2026-54686에 대한 로컬 PoC로, Warp 터미널에서의 DCS 라이프사이클 후크 스푸핑을 시연합니다. 취약한 모델에서 스푸핑된 CWD 및 SSH 메타데이터 수용을 시뮬레이션하며, 수정된 모델은 이를 거부합니다. | Kitploit
도구/GitHubGitHub/saku0512/cve-2026-54686-poc
Vulnerability AnalysisExploitationCTFPenetration TestingLearning & EducationLabs & Practice
GitHubsaku0512/cve-2026-54686-poc

CVE-2026-54686-poc

CVE-2026-54686에 대한 로컬 PoC로, Warp 터미널에서의 DCS 라이프사이클 후크 스푸핑을 시연합니다. 취약한 모델에서 스푸핑된 CWD 및 SSH 메타데이터 수용을 시뮬레이션하며, 수정된 모델은 이를 거부합니다.

저장소 보기
12개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-54686: Warp DCS 수명 주기 후크 위조 PoC

영어 버전

개요

이 저장소는 Warp의 공개 권고 GHSA-9w2v-jhww-vm85 에 기반한 CVE-2026-54686의 안전한 로컬 PoC입니다.

Warp의 수정 전 버전은 PTY 스트림에서 도착하는 일부 상태 변경 DCS 수명 주기 후크에 대해, 해당 후크가 현재 세션을 위해 Warp의 셸 통합에서 보낸 것인지 검증하지 않았습니다. 공격자가 피해자에게 공격자 제어의 터미널 출력을 Warp 상에서 표시하게 할 수 있는 경우, 선택된 수명 주기 메타데이터를 위조할 수 있으며, 활성 블록이나 SSH 세션에 관련된 메타데이터에 영향을 미칠 가능성이 있습니다.

이 PoC는 Warp나 SSH 서버에 연결하지 않으며, 임의 명령도 실행하지 않습니다. Warp 스타일의 DCS JSON 후크를 로컬에서 생성 및 분석하여, 수정 전 모델에서는 위조된 CWD나 SSH 메타데이터가 반영되고, 수정 후 모델에서는 미등록 session_id를 가진 상태 변경 후크가 거부됨을 보여줍니다.

면책 조항

이 프로젝트는 교육 목적 및 윤리적인 보안 검증만을 목적으로 합니다. 허가 없는 환경에서의 검증이나 공격에 사용하지 마십시오.

취약점 상세

  • CVE ID: CVE-2026-54686
  • GitHub Advisory: GHSA-9w2v-jhww-vm85
  • 개요: DCS 수명 주기 후크 위조로 터미널 세션 메타데이터 변경 가능
  • 심각도: 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
  • 영향 범위: >= v0.2021.04.25.23.05.stable_00
  • 수정된 버전: v0.2026.05.06.15.42.stable_01
  • 발견자: @rootxharsh, @Saku0512
  • 영향

    공격이 성공하면, Warp가 활성 세션의 CWD로 공격자가 선택한 경로를 처리할 가능성이 있습니다. CWD를 기반으로 한 경로, 컨텍스트, 세션 동작을 이용하는 기능에 영향을 줄 수 있습니다.

    또한, SSH 수명 주기 메타데이터가 위조되면, Warp가 유지하는 SSH 세션의 transport metadata가 공격자 제어 값으로 업데이트될 가능성이 있습니다.

    근본 원인

    Warp의 셸 통합은 터미널의 DCS 시퀀스를 사용하여 Precmd, CommandFinished, InputBuffer, SSH 등의 수명 주기 후크를 클라이언트로 전송합니다. 수정 전 구현에서는 일부 상태 변경 후크에 대해 "해당 후크가 Warp 클라이언트가 생성하고 해당 세션에 등록한 session_id를 가지고 있는지"라는 무결성 검증이 부족했습니다.

    수정에서는 클라이언트 생성의 0이 아닌 session_id를 bootstrap 스크립트에 주입하고, 상태를 변경하는 DCS 후크의 session_id가 등록되지 않은 경우 거부하도록 되어 있습니다. SSH wrapper에 대해서도 로컬 SSH 후크를 인증하고, 클라이언트 생성의 remote session ID를 등록한 후 원격 bootstrap에 주입하는 형태로 변경되었습니다.

    Proof of Concept

    1. 실행 환경

    Python 3이 필요합니다.

    root@kitploit:~
    python3 --version
    

    2. 수정 전 모델 시뮬레이션

    root@kitploit:~
    python3 poc.py
    

    예상 결과:

    root@kitploit:~
    [!] VULNERABLE: spoofed cwd was accepted.
    [!] VULNERABLE: spoofed ssh metadata was accepted.
    

    3. 수정 후 모델 시뮬레이션

    root@kitploit:~
    python3 poc.py --mode fixed
    

    예상 결과:

    root@kitploit:~
    [+] FIXED: spoofed cwd was rejected.
    [+] FIXED: spoofed ssh metadata was rejected.
    

    4. 개별 케이스

    root@kitploit:~
    python3 poc.py --case cwd
    python3 poc.py --case ssh
    

    --show-stream을 붙이면, 생성된 Warp 스타일 DCS 스트림을 Python의 repr() 형식으로 표시합니다. 터미널에 원시 제어 시퀀스를 출력하지 않습니다.

    대책

    v0.2026.05.06.15.42.stable_01 이상으로 업데이트하십시오. 공개 권고 에서는 업데이트 외의 완전한 회피책은 없다고 합니다.

    참고 자료

    • GHSA-9w2v-jhww-vm85
    • 수정 커밋 32d21d15c9a3da1a923d1ed66226cf5cba081d16
    • 수정 커밋 51bd3267803c5cc0a45074fa19fd50162be7c917
    • CWE-78
    • CWE-88
    도구 다운로드