
Среда воспроизведения для CVE-2026-44656, уязвимости внедрения команд в modeline в Vim. Включает настройку Docker, PoC-файл и эксплойт-скрипт для демонстрации произвольного выполнения команд через раскрытие обратных кавычек в опции path.
English|中文
Этот репозиторий предоставляет среду для воспроизведения CVE-2026-44656. Уязвимость связана с ошибкой в обработке Vim выражений с обратными кавычками в опции path внутри modeline. Злоумышленники могут вызвать выполнение произвольных команд с помощью функции автодополнения по Tab команды :find.
path)path с выражением в обратных кавычках. Когда пользователь запускает автодополнение пути с помощью :find + Tab, выражение вычисляется, выполняя произвольные команды.# 1. Соберите Docker-образ
docker build -t cve_2026_44656_vim .
# 2. Запустите контейнер
docker run -it cve_2026_44656_vim
# 3. Откройте PoC-файл внутри контейнера
vim poc.txt
# 4. Запустите уязвимость
# Введите: :find
# Затем нажмите клавишу Tab, чтобы запустить автодополнение пути
# 5. Выйдите из Vim
# Нажмите ESC, затем введите :q и нажмите Enter
# 6. Проверьте, была ли уязвимость успешно использована
ls sakana.pwn # ./eval.sh создаёт файл в фоновом режиме
Dockerfile - Создаёт контейнер на основе Debian, содержащий уязвимую версию Vimpoc.txt - PoC-файл, содержащий вредоносный modelineeval.sh - Скрипт с полезной нагрузкой атаки (создаёт sakana.pwn для проверки)vimrc - Файл конфигурации Vim, включающий modelinevim/ - Исходный код уязвимой версии VimДобавьте set nomodeline в ваш vimrc, чтобы отключить обработку modeline, или избегайте открытия недоверенных файлов с включённым modeline.