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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-25769---CVE-2026-25770 — Эксплойты proof-of-concept для уязвимостей кластера Wazuh CVE-2026-25769 и CVE-2026-25770, демонстрирующие удалённое выполнение кода и повышение привилегий через небезопасную десериализацию и перезапись файлов. | Kitploit
Инструменты/GitHubGitHub/samres27/cve-2026-25769---cve-2026-25770
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеRed Teaming
GitHubsamres27/cve-2026-25769---cve-2026-25770

CVE-2026-25769---CVE-2026-25770

Эксплойты proof-of-concept для уязвимостей кластера Wazuh CVE-2026-25769 и CVE-2026-25770, демонстрирующие удалённое выполнение кода и повышение привилегий через небезопасную десериализацию и перезапись файлов.

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

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться

CVE-2026-25769 / CVE-2026-25770 – Уязвимости в кластере Wazuh

Предупреждение: Этот репозиторий содержит информацию и код, связанные с уязвимостями безопасности. Используйте его только в образовательных целях или в авторизованных средах.

Описание

Были выявлены две критические уязвимости в конфигурации кластера Wazuh (версии ≥ 4.0.0). Эти недостатки затрагивают развертывания, использующие несколько узлов для горизонтального масштабирования, балансировки нагрузки и высокой доступности. Такая конфигурация позволяет управлять несколькими агентами без нагрузки на сервер Wazuh.

  • CVE-2026-25769

Позволяет связь между master и worker через запрос DAPi. Worker отправляет объект, используя модуль LocalClient worker; master принимает сообщение и десериализует объект с помощью уязвимой функции as_wazuh_object(), что позволяет выполнять команды на master.

  • CVE-2026-25770

Эта уязвимость дополняет предыдущую, позволяя выполнять команды с помощью тегов <command> и <localfile>. Злоумышленник может выполнять команды каждый раз при загрузке файла конфигурации /var/ossec/etc/ossec.conf.

Обе позволяют [общее воздействие: повышение привилегий, удаленное выполнение и т.д.] в средах, использующих функциональность кластера.

Затронутые версии

  • Wazuh manager ≥ 4.0.0 (до исправленной версии X.Y.Z)

  • Все узлы с ролью master или worker, у которых включена связь между узлами.

Контекст: Кластер в Wazuh

Конфигурация кластера используется в развертываниях с большим количеством агентов. Она позволяет:

  • Горизонтальное масштабирование: добавление дополнительных worker-узлов для распределения нагрузки.

  • Высокая доступность: если worker-узел выходит из строя, остальные продолжают работать, пока узел восстанавливается.

  • Балансировка нагрузки: агенты распределяются между worker-узлами.

Эта архитектура, если она не защищена должным образом, может раскрыть векторы атак, такие как описанные здесь.

Технические детали

CVE-2026-25769

Master вызывает эту функцию, которая позволяет создать subprocess, выполняющий произвольные команды.

root@kitploit:~




def as_wazuh_object(dct: Dict):

    try:

        if '__callable__' in dct:

            encoded_callable = dct['__callable__']

            funcname = encoded_callable['__name__'] #getoutput

            if '__wazuh__' in encoded_callable:

                # Encoded Wazuh instance method.

                wazuh = Wazuh()

                return getattr(wazuh, funcname)

            else:

                # Encoded function or static method.

                qualname = encoded_callable['__qualname__'].split('.') # getoutput

                classname = qualname[0] if len(qualname) > 1 else None

                module_path = encoded_callable['__module__']  #  subprocess

                module = import_module(module_path)            #  ARBITRARY IMPORT

                if classname is None:

                    return getattr(module, funcname)           #  RETURNS ARBITRARY FUNCTION

                else:

                    return getattr(getattr(module, classname), funcname) 

CVE-2026-25770

Протокол кластера Wazuh (TCP/1516) синхронизирует файлы между узлами с помощью процесса. Этот процесс выполняется от имени непривилегированного пользователя, принимая относительные адреса.

root@kitploit:~

        """Create a file descriptor to store the incoming file.




        Parameters

        ----------

        data : bytes

            Relative path to the file.




        Returns

        -------

        bytes

            Result.

        bytes

            Response message.

        """

        # VULNERABLE LINE: No validation of 'data', no checking for '../', direct file open.

        self.in_file[data] = {'fd': open(common.WAZUH_PATH + data.decode(), 'wb'), 'checksum': hashlib.sha256()}

        return b"ok ", b"Ready to receive new file"

        

Используя эту конфигурацию, злоумышленник может перезаписать каталог конфигурации и выполнить команды.

Воздействие

Злоумышленник может:

  • Повлиять на конфиденциальность, целостность, доступность и повышение привилегий.

  • Скомпрометировать целостность всей отслеживаемой инфраструктуры.

Доказательство концепции (PoC)

Оригинальные PoC были разработаны vikman90 и послужили основой для этого анализа. Ниже показан пример эксплуатации:

root@kitploit:~

# 1. init docker compose

docker compose up -d

# 2. wait init all clusters

# 3. Verify cluster is connected

docker exec poc-master /var/ossec/bin/cluster_control -l

# Expected output should show worker01 connected:

# worker01 172.28.0.11 active

# 4. Execute exploit from worker

docker exec poc-worker /var/ossec/framework/python/bin/python3 /scripts/poc.py

# 5. Verify RCE on master

docker exec poc-master cat /var/ossec/etc/ossec.conf




Скачать инструмент