
Эксплойт подтверждения концепции (PoC) для CVE-2026-48732, демонстрирующий внедрение команд ОС в обработку фоновых команд устаревшего SSH в Warp через неэкранированные одинарные кавычки в путях к удалённым рабочим каталогам.
Этот репозиторий представляет собой Proof of Concept (PoC) уязвимости CVE-2026-48732 с высокой степенью серьезности — внедрения команд ОС в обработке устаревших фоновых команд SSH инструмента Warp.
В уязвимых версиях Warp для построения вспомогательной команды использовался удаленный рабочий каталог (cwd), полученный из сессии SSH. Одинарные кавычки в этом пути не экранировались, что позволяло злоумышленнику, контролирующему имя удаленного хоста, репозитория или каталога, выйти за пределы аргумента 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. Это предотвращает выход текста пути, контролируемого злоумышленником, за пределы аргумента оболочки, заключенного в кавычки.