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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-27626-PoC — OliveTin — это self-hosted веб-интерфейс для предоставления конечным пользователям доступа к предопределённым shell-командам. Этот репозиторий содержит proof-of-concept, демонстрирующий два независимых вектора внедрения OS-команд в путь выполнения Shell-режима OliveTin, оба из которых обходят предусмотренные приложением проверки безопасности аргументов shell. | Kitploit
Инструменты/GitHubGitHub/0xh7ml/cve-2026-27626-poc
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеКомандование и УправлениеRed TeamingРазработка Полезной Нагрузки
GitHub0xh7ml/cve-2026-27626-poc

Популярное

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

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

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

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

Смотреть все инструменты →

Описание

CVE-2026-27626-PoC

Репозиторий
121 месяц назадЕщё не проверено

OliveTin — это self-hosted веб-интерфейс для предоставления конечным пользователям доступа к предопределённым shell-командам. Этот репозиторий содержит proof-of-concept, демонстрирующий два независимых вектора внедрения OS-команд в путь выполнения Shell-режима OliveTin, оба из которых обходят предусмотренные приложением проверки безопасности аргументов shell.

Поделиться

CVE-2026-27626 — Внедрение команд ОС в OliveTin (PoC)

Сводка

ID CVECVE-2026-27626
КомпонентOliveTin
Класс уязвимостиCWE-78: Нейтрализация специальных элементов, используемых в команде ОС
CVSS 3.19.9–10.0 (Критический) — AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Затронутые версииВсе версии ≤ 3000.10.0 (коммиты до 0.0.0-20260222101908-4bbd2eab1532)
Исправленная версия0.0.0-20260222101908-4bbd2eab1532 или новее
УведомлениеGHSA-49gm-hh7w-wfvf
Раскрыта2026-02-22 (уведомление), 2026-02-25 (NVD)

OliveTin — это самостоятельный веб-интерфейс для предоставления предопределённых команд оболочки конечным пользователям. Этот репозиторий содержит доказательство концепции, демонстрирующее два независимых вектора внедрения команд ОС в режиме выполнения команд оболочки OliveTin, оба из которых обходят предусмотренные приложением проверки безопасности аргументов оболочки.

Предыстория

OliveTin позволяет администратору определять Действия — команды оболочки с параметризованными аргументами — которые аутентифицированные (или, в зависимости от конфигурации, анонимные) пользователи могут запускать из веб-интерфейса или через вебхуки. Чтобы предотвратить выход пользователя за пределы предполагаемой команды через значения аргументов, OliveTin пропускает каждый предоставленный пользователем аргумент через checkShellArgumentSafety() перед тем, как встроить его в строку команды и передать в sh -c.

Это и есть граница безопасности, которую нарушает уязвимость. OliveTin явно различает "администратор определяет команду" и "пользователь предоставляет значение" — проверка безопасности существует специально для того, чтобы пользователь не смог превратить значение аргумента в способ выполнения произвольных команд.

Основная причина

Вектор 1 — тип аргумента password не проверяется

checkShellArgumentSafety() проверяет только фиксированный разрешённый список типов аргументов:

root@kitploit:~
func checkShellArgumentSafety(argType string, value string) bool {
    dangerousTypes := []string{"string", "int", "bool", "choice"}
    for _, dt := range dangerousTypes {
        if argType == dt {
            return sanitizeInput(value)
        }
    }
    // ОШИБКА: тип "password" не проверяется
    return true // Считается безопасным
}

password — это документированный, предназначенный тип аргумента для приёма чувствительных пользовательских данных, но он отсутствует в dangerousTypes, поэтому проверка проходит до return true без санитизации. Любой пользователь, способный заполнить аргумент типа password в Действии режима Shell, может внедрить метасимволы оболочки (;, |, `, $() и т.д.), которые выполняют произвольные команды от пользователя процесса OliveTin.

Эксплуатируемость этого вектора усиливается настройками по умолчанию OliveTin: саморегистрация включена, а authType: none установлен из коробки, поэтому во многих реальных развёртываниях "аутентифицированный пользователь" не требует никаких реальных преград.

Вектор 2 — извлечение JSON вебхуков полностью пропускает проверку типов

Независимо от Вектора 1, обработчик вебхуков OliveTin извлекает произвольные пары ключ/значение из JSON тела входящего вебхука и вставляет их напрямую в ExecutionRequest.Arguments (service/internal/executor/handler.go:153-157).

Поскольку у этих ключей, полученных из вебхука, нет соответствующего ActionArgument, определённого в конфигурации действия, parseActionArguments() (arguments.go) не находит тип аргумента для проверки и полностью пропускает checkShellArgumentSafety() — и не только для password, а для всех типов. Сырое значение встраивается в команду оболочки и передаётся в sh -c без какой-либо проверки.

Поскольку приём входящих вебхуков от внешних/недоверенных источников является одним из основных поддерживаемых вариантов использования OliveTin, этот вектор не требует никакой аутентификации.

Совокупное воздействие

Экземпляр OliveTin, работающий в режиме Shell с любым Действием, запускаемым через вебхук, уязвим для неаутентифицированного удалённого выполнения кода с привилегиями процесса OliveTin — что потенциально может привести к полной компрометации хоста в зависимости от того, как развёрнут OliveTin (на голом металле или в контейнере, предоставленные возможности и т.д.).

Затронутая конфигурация

Вы, вероятно, уязвимы, если ваш экземпляр OliveTin:

  • Запускает Действия в режиме Shell, и
  • Имеет хотя бы одно Действие с аргументом типа password, доступное недоверенным/менее привилегированным пользователям (Вектор 1), или
  • Имеет любое Действие, запускаемое через вебхук, особенно доступное извне вашей доверенной зоны (Вектор 2)

Использование

root@kitploit:~
python3 CVE-2026-27626.py -u <ЦЕЛЬ> [ОПЦИИ]

Аргументы


Воздействие

  • Выполнение произвольных команд ОС от учётной записи службы OliveTin
  • Полная компрометация хоста или контейнера, на котором запущен OliveTin
  • Перемещение в любую среду, доступную OliveTin (обычно работает с повышенными привилегиями для управления другими службами)
  • Вектор 2 делает это возможным без учётных данных, для любого экземпляра, доступного из интернета, принимающего вебхуки

Устранение

  1. Обновите OliveTin до 0.0.0-20260222101908-4bbd2eab1532 или новее, как только это станет доступно в вашем канале обновлений.
  2. В ожидании исправления:
    • Отключите режим Shell, если он не требуется.
    • Избегайте использования Действий, запускаемых через вебхук, в режиме Shell.
    • Удалите или избегайте аргументов типа password на любых Действиях, доступных недоверенным пользователям.
    • Отключите саморегистрацию и включите реальную аутентификацию (authType, отличный от none).
    • Ограничьте сетевой доступ к конечной точке вебхуков OliveTin только доверенными источниками (белый список в брандмауэре/обратном прокси).
    • Запускайте OliveTin в контейнере с минимальным набором возможностей и ограничительным профилем seccomp, чтобы ограничить радиус поражения даже при эксплуатации.
    • Мониторьте логи процесса OliveTin / логи аудита хоста на предмет появления неожиданных дочерних процессов, порождённых службой OliveTin.

Хронология

ДатаСобытие
2026-02-20CVE зарезервирован
2026-02-22Опубликовано уведомление о безопасности GitHub
2026-02-25Публикация в NVD
2026-02-27Уведомление обновлено

Ссылки

  • Уведомление о безопасности GitHub: GHSA-49gm-hh7w-wfvf
  • NVD: CVE-2026-27626
  • Проект OliveTin: github.com/OliveTin/OliveTin

Ответственное использование

Этот PoC опубликован только для защитных исследований, разработки методов обнаружения и авторизованного тестирования на проникновение. Не запускайте его против систем, которыми вы не владеете или на тестирование которых у вас нет явного письменного разрешения. Неправильное использование этого кода против сторонних систем может нарушить законы о компьютерных преступлениях (например, CFAA в США, Закон о неправомерном использовании компьютеров в Великобритании и аналогичные законы в других странах) и является исключительной ответственностью лица, выполняющего его.

Автор

Md Saikat (0xh7ml)

Скачать инструмент
ОпцияОписаниеПо умолчанию
-u, --urlЦелевой хост/IPОбязательно
-p, --portПорт OliveTin1337
-x, --cmdКоманда для выполненияid