
Warp의 레거시 SSH 백그라운드 명령 처리에서 OS 명령 주입(CVE-2026-48732)을 시연하는 개념 증명. 취약한 명령 구성과 수정된 명령 구성을 로컬로 시뮬레이션합니다.
이 저장소는 Warp의 기존 SSH 백그라운드 명령 처리에 존재하는, 높은 심각도의 OS 명령 인젝션 취약점 CVE-2026-48732의 Proof of Concept (PoC)입니다.
영향을 받는 Warp 버전에서는 SSH 세션에서 보고된 원격 작업 디렉토리(cwd)를 사용하여 헬퍼 명령을 구성했습니다. 이 경로에 포함된 작은따옴표가 이스케이프되지 않았기 때문에, 공격자가 제어하는 원격 호스트, 저장소 또는 디렉토리 이름에 의해 따옴표로 묶인 cd 인수에서 빠져나와, 피해자가 인증된 SSH 계정 권한으로 원격 호스트에서 셸 구문을 추가 실행할 수 있었습니다.
발견자: saku0512 (GitHub)
이 프로젝트는 교육 목적 및 윤리적인 보안 테스트 목적으로만 제공됩니다.
저자는 이 도구의 오용, 손해 또는 불법 행위에 대해 일체 책임을 지지 않습니다. 컴퓨터 시스템에 대한 무단 접근은 불법입니다. 이 소프트웨어를 사용함으로써, 명시적으로 보안 테스트 허가를 받은 환경에서만 사용하는 것에 동의한 것으로 간주됩니다.
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H)>= v0.2023.03.21.08.02.stable_00v0.2026.05.06.15.42.stable_01 이후취약한 기존 SSH 백그라운드 명령 처리에서는 원격 작업 디렉토리를 작은따옴표로 묶을 때, 경로 안의 작은따옴표 문자를 이스케이프하지 않았습니다.
command_str.push_str(&format!("cd '{current_directory_path}' && "));
예를 들어, current_directory_path에 다음과 같은 값이 포함된 경우:
/tmp/warp-cve-2026-48732'; touch /tmp/warp_cve_2026_48732_confirmed; echo '
생성되는 셸 명령은 다음과 같습니다.
cd '/tmp/warp-cve-2026-48732'; touch /tmp/warp_cve_2026_48732_confirmed; echo '' && pwd
그 결과, 삽입된 touch 명령은 셸에 의해 별개의 명령으로 해석됩니다.
수정에서는 경로를 작은따옴표로 묶인 셸 컨텍스트에 배치하기 전에, 포함된 작은따옴표를 이스케이프합니다.
Python 3가 설치되어 있는지 확인하세요. 이 PoC는 취약한 명령 구성을 로컬에서 시뮬레이션하는 것이며, Warp나 SSH에 연결하지 않습니다.
python3 --version
동봉된 스크립트를 실행합니다.
python3 poc.py
예상되는 출력에는 생성된 취약한 명령과 마커 파일이 생성되었음을 나타내는 성공 메시지가 포함됩니다.
[!] SUCCESS: /tmp/warp_cve_2026_48732_confirmed was created.
마커 파일을 확인하여 명령이 정상적으로 실행되었는지 검증합니다.
ls -l /tmp/warp_cve_2026_48732_confirmed
파일이 존재하는 경우, 로컬 시뮬레이션에서 명령 인젝션 동작이 확인된 것입니다.
검증 후에는 마커 파일을 삭제하세요.
rm -f /tmp/warp_cve_2026_48732_confirmed
수정된 명령 빌더를 실행합니다.
python3 poc.py --mode fixed
수정된 시뮬레이션에서는 포함된 작은따옴표가 이스케이프되므로 마커 파일이 생성되지 않아야 합니다.
Warp를 수정된 릴리스로 신속하게 업데이트하세요.
이 수정에서는 기존 SSH 헬퍼 명령을 구성하기 전에, 원격 경로에 포함된 작은따옴표를 이스케이프합니다. 이를 통해 공격자가 제어하는 경로 텍스트가 따옴표로 묶인 셸 인수에서 빠져나오는 것을 방지합니다.