
Доказательство концепции для CVE-2026-4480, уязвимости внедрения команд в имени задания печати Samba. Демонстрирует эксплуатацию через вредоносные имена заданий печати и включает рекомендации по обнаружению и смягчению.
CVE-2026-4480 — это уязвимость внедрения команд, затрагивающая определенные конфигурации печати Samba, использующие внешние команды печати.
Уязвимость существует из-за того, что Samba вставляет управляемые пользователем метаданные задания печати в команду оболочки без надлежащего экранирования метасимволов оболочки. При определенных конфигурациях злоумышленник может указать вредоносное имя задания печати, что приведет к выполнению произвольных команд на сервере.
Особую опасность представляет тот факт, что некоторые общие принтеры разрешают гостевой доступ, позволяя эксплуатировать уязвимость без аутентификации.
Samba поддерживает несколько внутренних модулей печати. Один из устаревших вариантов, обычно называемый sysv-style printing, выполняет внешнюю команду при завершении задания печати.
Администраторы могут настраивать команды с помощью макросов подстановки, например:
print command = /usr/local/bin/print-helper %s %J
Где:
%s → Путь к файлу очереди печати%J → Имя задания печати, предоставленное клиентомДо исправления значение %J подвергалось минимальной очистке перед вставкой в команду, выполняемую через системную оболочку.
Поскольку метасимволы оболочки оставались нетронутыми, специально созданные имена заданий могли изменить предполагаемый поток команд и выполнить управляемые злоумышленником инструкции.
Типичная атака состоит из четырех этапов:
Если команда печати ссылается на %J, полезная нагрузка злоумышленника становится частью команды оболочки и выполняется с правами процесса печати Samba.
Не каждая установка Samba уязвима.
Обычно должны выполняться следующие условия:
%J.Современные развертывания, использующие печать на основе CUPS, не подвержены этому пути атаки, поскольку задания передаются через API CUPS, а не через команду оболочки.
Успешная эксплуатация может позволить злоумышленнику:
Серьезность сильно зависит от прав процесса печати и общей конфигурации системы.
Затронутые выпуски включают версии до:
Системы, использующие более поздние выпуски, не подвержены этой проблеме.
Рекомендуемые меры смягчения включают:
%J из команд печати, если он не требуется.printing = cups.Защитникам следует исследовать:
smbdsh
bash
python
perl
nc
curl
wget
Мониторинг создания процессов службой Samba может помочь выявить попытки эксплуатации.
Этот репозиторий предназначен только для образовательных целей и авторизованных исследований в области безопасности.
Не используйте этот код против систем, сетей или сервисов без явного разрешения владельца. Несанкционированный доступ к компьютерным системам является незаконным и неэтичным.
Всегда выполняйте тестирование в изолированных лабораторных средах или на платформах, специально предназначенных для обучения безопасности.