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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-78006-POC — POC для CVE-2026-78006 The Events Calendar <= 6.17.4 — неаутентифицированная инъекция PHP-объектов с переходом к удалённому выполнению кода | Kitploit
Инструменты/GitHubGitHub/deadexpl0it/cve-2026-78006-poc
Оборонительные ИнструментыМеханизмы персистентностиАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийПост-эксплуатацияВеб-безопасностьТестирование на ПроникновениеРазработка Полезной Нагрузки

Популярное

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

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

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

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

Смотреть все инструменты →
Троян Удаленного Доступа
GitHubdeadexpl0it/cve-2026-78006-poc

CVE-2026-78006-POC

POC для CVE-2026-78006 The Events Calendar <= 6.17.4 — неаутентифицированная инъекция PHP-объектов с переходом к удалённому выполнению кода

Репозиторий
15 ч 39 мин назадЕщё не проверено
Поделиться

CVE-2026-78006-POC

POC для CVE-2026-78006 The Events Calendar <= 6.17.4 - Неаутентифицированная инъекция PHP-объектов с переходом к удалённому выполнению кода

#КОНТАКТ telegram по любым вопросам: @soldout0O

💙 Поддержать проект

Если вам нравится моя работа, рассмотрите возможность поддержать проект через USDT (TRC20): TQBA72kakjCZLnJt8fJYcD7dyQCEpzNtVN

The Events Calendar — Неаутентифицированная инъекция PHP-объектов с переходом к RCE

PoC для исследования безопасности

The Events Calendar для WordPress содержит неаутентифицированную уязвимость инъекции PHP-объектов, которая может быть использована для удалённого выполнения кода.

Уязвимый путь кода включает:

  • is_safe_widget_instance()
  • enable_rendering_widget_copied()
  • Обработку магических методов PHP при десериализации объектов
  • unserialize()
  • Шаблон одиночного события V2
  • do_blocks()
  • Функциональность хеша модерации комментариев WordPress
  • При задокументированных условиях неаутентифицированный злоумышленник может передать специально сформированную разметку блоков через комментарий к событию и достичь уязвимого пути десериализации до того, как произойдёт модерация комментария.


    Сводка уязвимости

    Уязвимость существует из-за того, что защита плагина вокруг экземпляров виджетов является недостаточной.

    Уязвимый поток можно обобщить следующим образом:```text Unauthenticated Comment | v Pending Event Comment | v WordPress Moderation-Hash URL | v Unauthenticated Author Can View Own Pending Comment | v V2 Single-Event Template | v do_blocks() | v Injected Block Markup | v enable_rendering_widget_copied() | v Forged Integrity Attribute | v is_safe_widget_instance() | v PHP Magic Methods / Object Deserialization | v unserialize() | v PHP Object Injection | v Remote Code Execution

    root@kitploit:~
    ---
    
    # Уязвимый плагин
    
    **Плагин:** The Events Calendar
    
    **Уязвимость:** Неаутентифицированная инъекция PHP-объектов, приводящая к
    удалённому выполнению кода
    
    **Уязвимые версии:** Все версии вплоть до **6.17.4** включительно,
    согласно рекомендациям Wordfence.
    
    > [!IMPORTANT]
    > Публикуемый в этом репозитории PoC-исследование внутренне
    > позиционируется как нацеленное на `<= 6.17.2`.
    >
    > Указанный выше диапазон версий соответствует рекомендациям Wordfence
    > (`<= 6.17.4`). Всегда проверяйте точную уязвимую/исправленную версию
    > по рекомендациям производителя перед тестированием развёртывания.
    
    ---
    
    # Первопричина
    
    Уязвимое поведение связано с взаимодействием между
    проверкой безопасности виджета и поведением десериализации объектов PHP.
    
    Ключевые задействованные функции:```text
    is_safe_widget_instance()
    enable_rendering_widget_copied()
    

    Проверка безопасности недостаточна, поскольку PHP может вызывать магические методы во время своего поведения при парсинге/десериализации до того, как предполагаемая проверка безопасности обеспечит эффективную защиту.

    Цепочка также зависит от того, что плагин генерирует корректное значение целостности для переданного экземпляра виджета.


    Почему аутентификация не требуется

    Одной из наиболее важных характеристик этой уязвимости является то, что атакующему не нужна существующая учётная запись WordPress.

    Путь атаки использует то, как WordPress предоставляет доступ к собственному ожидающему комментарию пользователя через URL с хешем модерации.

    Соответствующие условия таковы:```text Comments enabled + Comments visible on events + Attacker can submit an event comment + V2 single-event template active

    root@kitploit:~
    После отправки комментария WordPress может предоставить неаутентифицированный
    URL с moderation-hash, который позволяет комментатору просмотреть свой собственный
    ожидающий модерации комментарий.
    
    Это создаёт неаутентифицированный механизм доставки для сформированной разметки
    блока.
    
    ---
    
    # Техническое объяснение
    
    ## 1. Отправка комментария
    
    Злоумышленник отправляет комментарий, связанный с событием.
    
    Комментарий не обязательно должен быть одобрен.
    
    Важным свойством является то, что WordPress может раскрыть комментарий через
    механизм moderation-hash.
    
    ---
    
    ## 2. Доступ через moderation-hash
    
    WordPress предоставляет комментатору URL, который позволяет комментатору
    просмотреть свой собственный ожидающий модерации комментарий.
    
    Это означает, что злоумышленник может достичь уязвимого пути рендеринга, не
    дожидаясь модерации.
    
    Концептуально:```text
    POST Comment
         |
         v
    Pending Comment
         |
         v
    Moderation Hash
         |
         v
    Unauthenticated Access
    

    3. Рендеринг событий

    Шаблон одиночного события V2 из The Events Calendar обрабатывает содержимое события и HTML, связанный с комментариями.

    Соответствующий путь обработки WordPress в конечном итоге достигает:```text do_blocks()

    root@kitploit:~
    Это важно, поскольку блочная разметка, встроенная в отрендеренный контент,
    интерпретируется как данные блоков WordPress.
    
    ---
    
    ## 4. Сконструированные данные блока
    
    PoC создаёт блок legacy-widget, содержащий сериализованный экземпляр
    виджета.
    
    Исследовательская реализация строит блок, используя закодированный
    сериализованный экземпляр и атрибут целостности.
    
    Уязвимый путь в конечном итоге обрабатывает эти данные как экземпляр виджета.
    
    ---
    
    ## 5. Обход проверки целостности
    
    Поведение `enable_rendering_widget_copied()` плагина может быть
    использовано для создания корректного атрибута целостности для
    контролируемых злоумышленником данных виджета.
    
    Это позволяет вредоносному экземпляру виджета пройти ожидаемую
    проверку целостности и достичь уязвимого пути обработки.
    
    ---
    
    ## 6. Небезопасная обработка объектов
    
    Уязвимая защита `is_safe_widget_instance()` недостаточна
    против объекта, переданного через сконструированный экземпляр виджета.
    
    Поведение PHP при обработке объектов может вызывать магические методы
    в процессе десериализации.
    
    Результатом является эксплуатируемый примитив PHP Object Injection.
    
    ---
    
    ## 7. Цепочка гаджетов
    
    Исследовательский PoC конструирует структуры объектов WordPress / The Events Calendar,
    которые обеспечивают вызываемое поведение во время десериализации.
    
    PoC использует объекты, ориентированные на обратные вызовы, и сериализованные
    структуры классов для построения исследовательской полезной нагрузки.
    
    ---
    
    ## 8. Выполнение кода
    
    Итоговое воздействие — удалённое выполнение кода.
    
    PoC содержит исследовательский этап веб-шелла и логику
    создания администратора.
    
    Для безопасной проверки уязвимости важная граница безопасности
    уже продемонстрирована успешным выполнением уязвимой
    цепочки десериализации.
    
    ---
    
    # Почему уязвимость критична
    
    Сочетание:```text
    Unauthenticated
           +
    Remote
           +
    PHP Object Injection
           +
    RCE
    

    создаёт высокоэффективный путь атаки.

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

    • Учётная запись администратора
    • Действительный пароль WordPress
    • Взлом пароля
    • Существующие привилегированные учётные данные

    Основное требование к среде — доступность уязвимого пути отображения событий/комментариев.


    Research PoC

    Репозиторий содержит исследовательскую реализацию на Python.

    Загруженный PoC представляет собой асинхронный запускающий модуль вокруг оригинальной исследовательской логики.

    Он использует:```text Python aiohttp rich

    root@kitploit:~
    Реализация выполняет цепочку уязвимостей через поэтапную
    доставку и проверку полезной нагрузки.
    
    В исходном коде PoC его архитектура описывается так:```text
    payload building
            |
            v
    stage 1
            |
            v
    verification
            |
            v
    stage 2
    

    Возможности PoC

    Исследовательская реализация включает функциональность для:

    • Обработки цели
    • Обнаружения событий
    • Доставки комментариев
    • Конструирования сериализованных PHP-объектов
    • Конструирования блоков виджетов
    • Проверки уязвимости
    • Сбора информации об окружении
    • Поэтапной доставки полезной нагрузки
    • Создания администратора
    • Развёртывания веб-шелла
    • Сбора результатов
    • Параллельной обработки нескольких URL

    PoC также содержит проверки, учитывающие особенности платформы, для сред Windows и Unix-подобных систем.


    Одиночная цель

    Исследовательский инструмент может использоваться против отдельной авторизованной установки WordPress.

    Концептуально:```text Single URL | v Target Discovery | v Event Discovery | v Comment Delivery | v Vulnerability Trigger | v Verification

    root@kitploit:~
    Одноцелевой рабочий процесс полезен для:
    
    * Локальных лабораторий
    * Систем staging
    * Воспроизведения CVE
    * Тестирования вендоров
    * Авторизованного тестирования на проникновение
    * Исследований в области безопасности
    
    ---
    
    # Список URL-адресов
    
    Асинхронный запуск также поддерживает список URL-адресов.
    
    Формат ввода:```text
    one URL per line
    

    Пример:```text https://lab-wordpress-01.example https://lab-wordpress-02.example https://lab-wordpress-03.example

    root@kitploit:~
    Пустые строки и комментарии можно игнорировать.
    
    Запускающий модуль загружает цели и обрабатывает их параллельно, используя
    настроенное количество потоков/параллельных задач.
    
    ---
    
    # Параллельная обработка
    
    PoC поддерживает параллельную обработку нескольких целей.
    
    Концептуально:```text
                     URL LIST
                        |
            +-----------+-----------+
            |           |           |
            v           v           v
         Worker 1    Worker 2    Worker 3
            |           |           |
            v           v           v
          Target      Target      Target
            |           |           |
            +-----------+-----------+
                        |
                        v
                     Results
    

    Реализация использует асинхронный семафор для управления уровнем параллелизма.

    Настроенный по умолчанию уровень параллелизма в runner'е — 20.


    Вывод

    Асинхронный runner может создавать два файла результатов:```text shells.txt admins.txt

    root@kitploit:~
    `shells.txt` содержит обнаруженные URL загруженных шеллов.
    
    `admins.txt` содержит информацию о результатах поиска администраторов в виде:```text
    url | user | pass
    

    [!WARNING] Эти файлы могут содержать крайне конфиденциальные учётные данные и артефакты постэксплуатации.

    Никогда не публикуйте сгенерированные файлы результатов на GitHub.

    Для публичных исследований уязвимостей храните эти файлы вне Git- репозитория и добавьте их в .gitignore.


    Рекомендуемый `.gitignore````gitignore

    PoC results

    shells.txt admins.txt

    Research Workflow

    For responsible vulnerability validation:

    root@kitploit:~
    START
                      |
                      v
              Проверить версию плагина
                      |
                      v
              Проверить предварительные требования
                      |
                      v
           Убедиться, что комментарии включены
                      |
                      v
           Убедиться, что события предоставляют комментарии
                      |
                      v
              Воспроизвести в лаборатории
                      |
                      v
           Подтвердить уязвимое поведение
                      |
                      v
           Зафиксировать доказательства и логи
                      |
                      v
              Остановиться / раскрыть информацию```
    
    Use the minimum level of interaction required to prove the finding.
    
    ---
    
    # Important Prerequisites
    
    The Wordfence advisory identifies the following important condition:
    
    ```text
    Комментарии должны быть включены
    и
    комментарии должны быть видны на событиях```
    
    The attack relies on the ability of an unauthenticated commenter to view
    their own pending comment through the WordPress moderation-hash URL.
    
    If comments are disabled or the relevant event comment path is not
    available, the documented unauthenticated delivery mechanism may not be
    reachable.
    
    ---
    
    # Platform Considerations
    
    The PoC contains environment-detection functionality.
    
    The research code attempts to identify information such as:
    
    ```text
    Операционная система
    Текущий пользователь выполнения
    Текущий рабочий каталог
    Корень документа
    Серверное программное обеспечение
    HTTP-хост
    Информация о PHP```
    
    These values are useful for controlled research and understanding the
    impact of successful code execution.
    
    ---
    
    # Payload Architecture
    
    The serialized payload contains multiple nested PHP objects.
    
    The research implementation builds structures associated with:
    
    ```text
    Tribe__Utils__Callback
    Tribe\Utils\Element_Classes
    stdClass```
    
    The serialized structures are then embedded into a WordPress legacy
    widget block.
    
    Conceptually:
    
    ```text
    PHP Object Graph
           |
           v
    Serialized Object
           |
           v
    Base64 Encoding
           |
           v
    Legacy Widget Block
           |
           v
    WordPress do_blocks()
           |
           v
    The Events Calendar
           |
           v
    Object Deserialization```
    
    ---
    
    # Stage 1
    
    The research PoC's first stage is designed to verify that the injected
    object graph reaches the intended execution path.
    
    The stage contains multiple controlled callbacks used to determine
    whether code execution or environment disclosure occurred.
    
    The implementation includes research checks such as:
    
    ```text
    Текущий рабочий каталог
    Пользователь выполнения
    Корень документа
    Информация о сервере
    Информация о PHP```
    
    ---
    
    # Stage 2
    
    If the initial stage does not directly establish the required persistent
    artifact location, the PoC contains a second-stage mechanism that
    attempts alternative locations.
    
    The research implementation specifically considers WordPress upload
    locations and document-root-related paths.
    
    ---
    
    # Administrator Stage
    
    The PoC also contains administrator creation functionality.
    
    The research implementation can construct a WordPress administrator
    through the vulnerable execution path.
    
    This demonstrates that successful exploitation can result in both:
    
    ```text
    Удалённое выполнение кода
    +
    Постоянный доступ администратора WordPress```
    
    Administrator credentials generated during research should never be
    committed to source control.
    
    ---
    
    # Webshell Stage
    
    The PoC contains a webshell stage intended for controlled research.
    
    The webshell is packaged as a WordPress plugin ZIP and deployed through
    an authenticated WordPress administrator session established by the
    chain.
    
    The research implementation uses a secret token to gate shell requests.
    
    > [!CAUTION]
    > The webshell is an exploitation artifact.
    >
    > Use it only in an isolated laboratory or during an explicitly
    > authorized penetration test, and remove it immediately after testing.
    
    ---
    
    # Verification
    
    Successful vulnerability validation can be based on evidence such as:
    
    ```text
    Версия плагина
           +
    Достижимое событие
           +
    Доставка комментария
           +
    Отрисовка moderation-hash
           +
    Обработка уязвимого виджета
           +
    Доказательство контролируемого выполнения```
    
    For responsible disclosure, collect only the minimum evidence required.
    
    ---
    
    # Impact
    
    Successful exploitation may allow an unauthenticated attacker to:
    
    * Execute arbitrary PHP code
    * Execute commands in the context of the web server
    * Read sensitive application information
    * Access environment information
    * Modify WordPress files
    * Create administrator accounts
    * Install malicious plugins
    * Establish persistence
    * Potentially compromise the underlying server
    
    The ultimate impact depends on the privileges of the PHP process and
    the hosting environment.
    
    ---
    
    # Detection
    
    Defenders should monitor for unusual activity involving:
    
    * Event comment submissions
    * Pending comments followed by moderation-hash access
    * Suspicious block markup
    * Legacy widget blocks
    * Unexpected widget instance data
    * Unexpected serialized PHP objects
    * PHP execution triggered during event rendering
    * Unexpected plugin installations
    * New administrator accounts
    * Unexpected PHP files
    * Suspicious files under `wp-content/uploads/`
    
    A compromise investigation should correlate:
    
    ```text
    Логи веб-сервера
           +
    Логи WordPress
           +
    Активность базы данных
           +
    Целостность файлов
           +
    Учётные записи администратора```
    
    ---
    
    # Indicators of Compromise
    
    Potential indicators include:
    
    ```text
    Неожиданные учётные записи администратора
    Неожиданные каталоги плагинов
    Неожиданные PHP-файлы
    Подозрительные файлы в wp-content/uploads/
    Неожиданные комментарии к событиям
    Аномальные запросы moderation-hash
    Неожиданные запросы, связанные с виджетами
    Неожиданное выполнение PHP```
    
    Because individual indicators can have legitimate explanations, they
    should be investigated in context.
    
    ---
    
    # Mitigation
    
    The primary mitigation is to update **The Events Calendar** to a fixed
    version provided by the vendor.
    
    Until the plugin is updated, defenders should consider:
    
    * Disabling comments where operationally acceptable
    * Restricting public event comments
    * Monitoring event comment traffic
    * Reviewing recently created administrator accounts
    * Monitoring plugin installation activity
    * Performing file-integrity checks
    * Reviewing web-server logs
    * Reviewing WordPress logs
    
    If compromise is suspected, treat the system as potentially compromised
    rather than merely vulnerable.
    
    ---
    
    # Incident Response
    
    If exploitation is suspected:
    
    1. Preserve relevant logs.
    2. Identify suspicious requests.
    3. Review administrator accounts.
    4. Review installed plugins.
    5. Inspect recently modified PHP files.
    6. Inspect `wp-content/uploads/`.
    7. Rotate WordPress credentials.
    8. Rotate hosting/server credentials where appropriate.
    9. Remove unauthorized persistence.
    10. Restore trusted application files when necessary.
    11. Upgrade the vulnerable plugin.
    12. Continue monitoring for re-entry.
    
    ---
    
    # Responsible Disclosure
    
    When reporting this vulnerability or derivative research:
    
    * Clearly identify the affected plugin.
    * Include the affected version.
    * Include the fixed version when confirmed.
    * Explain the unauthenticated attack path.
    * Document the required prerequisites.
    * Provide reproducible evidence in a controlled environment.
    * Avoid publishing victim data.
    * Never publish generated administrator credentials.
    * Never publish live webshell URLs.
    
    ---
    
    # Research Limitations
    
    A vulnerable plugin version alone does not guarantee successful
    exploitation.
    
    The attack path can be affected by:
    
    * WordPress configuration
    * Comment settings
    * Event visibility
    * Template configuration
    * Security plugins
    * Web Application Firewalls
    * Reverse proxies
    * PHP configuration
    * Hosting permissions
    * Object caching
    * Network filtering
    
    Therefore, version fingerprinting should be treated as an initial
    indicator rather than definitive proof of exploitability.
    
    ---
    
    # Repository Safety
    
    Do not commit:
    
    ```text
    shells.txt
    admins.txt
    реальные URL целей
    сгенерированные учётные данные
    файлы webshell
    захваченный вывод phpinfo
    дампы баз данных
    информация об окружении сервера
    приватные тестовые данные```
    
    Use synthetic laboratory targets when creating screenshots,
    demonstrations, or documentation.
    
    ---
    
    # Recommended Repository Structure
    
    ```text
    the-events-calendar-poc/
    │
    ├── poc.py
    ├── README.md
    ├── LICENSE
    ├── .gitignore
    │
    ├── screenshots/
    │   └── .gitkeep
    │
    └── docs/
        └── research-notes.md```
    
    Keep runtime artifacts outside the repository.
    
    ---
    
    # Technical Summary
    
    ```text
    The Events Calendar
            |
            v
    V2 Single Event Template
            |
            v
    WordPress do_blocks()
            |
            v
    Legacy Widget Block
            |
            v
    Forged Widget Instance
            |
            v
    Valid Integrity Attribute
            |
            v
    is_safe_widget_instance()
            |
            v
    PHP Object Deserialization
            |
            v
    Magic Method Invocation
            |
            v
    PHP Object Injection
            |
            v
    Remote Code Execution```
    
    ---
    
    # Severity
    
    **Impact:** Remote Code Execution
    
    **Authentication:** Not required
    
    **Attack Vector:** Remote
    
    **Primary Component:** The Events Calendar
    
    **Primary Vulnerable Functions:**
    
    ```text
    is_safe_widget_instance()
    enable_rendering_widget_copied()```
    
    **Delivery Mechanism:**
    
    ```text
    Комментарии к событиям
    +
    URL-адрес модерации WordPress с хешем
    +
    Отрисовка событий V2```
    
    ---
    
    # Key Takeaway
    
    The important aspect of this vulnerability is not simply that the plugin
    uses PHP serialization.
    
    The complete unauthenticated attack path is enabled by the combination
    of:
    
    ```text
    Недостаточная проверка виджетов
              +
    Поведение магических методов PHP
              +
    Поддельный атрибут integrity
              +
    do_blocks()
              +
    Публичные комментарии к событиям
              +
    Доступ к moderation-hash```
    
    This combination creates an unauthenticated path to PHP Object Injection
    and Remote Code Execution.
    
    ---
    
    # Credits
    
    Vulnerability details and affected-version information:
    
    **Wordfence Threat Intelligence**
    
    Research PoC:
    
    **The Events Calendar PHP Object Injection / RCE research implementation**
    
    ---
    
    # References
    
    * Wordfence Threat Intelligence — The Events Calendar PHP Object
      Injection / RCE vulnerability
    * The Events Calendar
    * WordPress Core
    * WordPress Comments
    * WordPress Block Editor
    * WordPress `do_blocks()`
    * PHP Object Serialization / Deserialization
    
    ---
    
    # Disclaimer
    
    This repository contains security research concerning a remote-code-
    execution vulnerability affecting a WordPress plugin.
    
    The PoC is provided for:
    
    * Security research
    * Defensive validation
    * Authorized penetration testing
    * Controlled laboratory reproduction
    * Education
    
    Only test systems that you own or have explicit written authorization
    to assess.
    
    The authors are not responsible for unauthorized use of this research.
    
    ---
    
    # Keywords
    
    ```text
    CVE-2026-78006
    The Events Calendar
    The Events Calendar WordPress
    Уязвимость The Events Calendar
    The Events Calendar RCE
    The Events Calendar PHP Object Injection
    WordPress
    CVE-2026-78006 POC
    Безопасность WordPress
    Уязвимость WordPress
    WordPress RCE
    PHP Object Injection
    PHP Deserialization
    Unauthenticated RCE
    Remote Code Execution
    CVE
    Безопасность плагинов WordPress
    RCE в плагинах WordPress
    is_safe_widget_instance
    enable_rendering_widget_copied
    do_blocks
    WordPress comments
    moderation hash
    legacy-widget
    security research
    PoC
    Proof of Concept
    penetration testing```
    
    Скачать инструмент