Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-78006-POC — POC para CVE-2026-78006 The Events Calendar <= 6.17.4 - Inyección de objetos PHP no autenticada a ejecución remota de código | Kitploit
Herramientas/GitHubGitHub/deadexpl0it/cve-2026-78006-poc
Herramientas DefensivasMecanismos de PersistenciaAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPost-ExplotaciónSeguridad WebPruebas de PenetraciónDesarrollo de PayloadsTroyano de Acceso Remoto
GitHub
1hace 5h 15mAún no revisado
deadexpl0it/cve-2026-78006-poc

CVE-2026-78006-POC

POC para CVE-2026-78006 The Events Calendar <= 6.17.4 - Inyección de objetos PHP no autenticada a ejecución remota de código

Ver Repositorio

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2026-78006-POC

POC para CVE-2026-78006 The Events Calendar <= 6.17.4 - Inyección de Objetos PHP No Autenticada a Ejecución Remota de Código

#CONTACTO telegram para cualquier consulta : @soldout0O

💙 Apoya el Proyecto

Si aprecias mi trabajo, considera apoyar el proyecto vía USDT (TRC20): TQBA72kakjCZLnJt8fJYcD7dyQCEpzNtVN

The Events Calendar — Inyección de Objetos PHP No Autenticada a RCE

PoC de Investigación de Seguridad

The Events Calendar para WordPress contiene una vulnerabilidad de Inyección de Objetos PHP no autenticada que puede ser encadenada a Ejecución Remota de Código.

La ruta de código vulnerable involucra:

  • is_safe_widget_instance()
  • enable_rendering_widget_copied()
  • Manejo de métodos mágicos de PHP durante la deserialización de objetos
  • unserialize()
  • La plantilla V2 de evento único
  • do_blocks()
  • La funcionalidad de hash de moderación de comentarios de WordPress
  • Bajo las condiciones documentadas, un atacante no autenticado puede entregar markup de bloques manipulado a través de un comentario de evento y alcanzar la ruta de deserialización vulnerable antes de que ocurra la moderación del comentario.


    Resumen de la Vulnerabilidad

    La vulnerabilidad existe porque la protección del plugin alrededor de las instancias de widgets es insuficiente.

    El flujo vulnerable puede resumirse como:```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:~
    ---
    
    # Plugin afectado
    
    **Plugin:** The Events Calendar
    
    **Vulnerabilidad:** Inyección de objetos PHP no autenticada que conduce a
    Ejecución Remota de Código
    
    **Versiones afectadas:** Todas las versiones hasta la **6.17.4** inclusive,
    según el aviso de Wordfence.
    
    > [!IMPORTANT]
    > El PoC de investigación publicado actualmente con este repositorio se
    > identifica internamente como dirigido a `<= 6.17.2`.
    >
    > El rango de versiones indicado anteriormente sigue el aviso de Wordfence
    > (`<= 6.17.4`). Verifique siempre la versión exacta vulnerable/corregida contra
    > el aviso del proveedor antes de probar un despliegue.
    
    ---
    
    # Causa raíz
    
    El comportamiento vulnerable está asociado con la interacción entre la
    comprobación de seguridad del widget y el comportamiento de deserialización de objetos de PHP.
    
    Las funciones clave involucradas son:```text
    is_safe_widget_instance()
    enable_rendering_widget_copied()
    

    La comprobación de seguridad es insuficiente porque PHP puede invocar métodos mágicos durante su comportamiento de análisis/deserialización antes de que la validación de seguridad prevista proporcione una protección efectiva.

    La cadena también depende de que el plugin genere un valor de integridad válido para la instancia de widget proporcionada.


    Por qué no se requiere autenticación

    Una de las características más importantes de esta vulnerabilidad es que el atacante no necesita una cuenta de WordPress existente.

    La ruta de ataque abusa de la forma en que WordPress expone el comentario pendiente de un usuario a través de una URL con hash de moderación.

    Las condiciones relevantes son:```text Comments enabled + Comments visible on events + Attacker can submit an event comment + V2 single-event template active

    root@kitploit:~
    Después de enviar un comentario, WordPress puede proporcionar una URL de moderation-hash no autenticada que permite al comentarista ver su propio comentario pendiente.
    
    Esto crea un mecanismo de entrega no autenticado para el marcado de bloque elaborado.
    
    ---
    
    # Explicación técnica
    
    ## 1. Envío de comentario
    
    El atacante envía un comentario asociado a un evento.
    
    El comentario no necesita ser aprobado.
    
    La propiedad importante es que WordPress puede exponer el comentario a través del mecanismo de moderation-hash.
    
    ---
    
    ## 2. Acceso mediante moderation-hash
    
    WordPress proporciona al comentarista una URL que le permite ver su propio comentario pendiente.
    
    Esto significa que el atacante puede alcanzar la ruta de renderizado vulnerable sin esperar a la moderación.
    
    Conceptualmente:```text
    POST Comment
         |
         v
    Pending Comment
         |
         v
    Moderation Hash
         |
         v
    Unauthenticated Access
    

    3. Representación de eventos

    La plantilla de evento único V2 de Events Calendar procesa el contenido del evento y el HTML relacionado con los comentarios.

    La ruta de procesamiento relevante de WordPress finalmente llega a:```text do_blocks()

    root@kitploit:~
    Esto es importante porque el marcado de bloques incrustado en el contenido renderizado
    se interpreta como datos de bloques de WordPress.
    
    ---
    
    ## 4. Datos de bloque manipulados
    
    El PoC construye un bloque de widget heredado que contiene una instancia de widget
    serializada.
    
    La implementación de investigación construye el bloque utilizando una instancia
    serializada codificada y un atributo de integridad.
    
    La ruta vulnerable finalmente procesa estos datos como una instancia de widget.
    
    ---
    
    ## 5. Omisión de integridad
    
    El comportamiento de `enable_rendering_widget_copied()` del plugin puede ser
    abusado para producir un atributo de integridad válido para los datos del widget
    controlados por el atacante.
    
    Esto permite que la instancia de widget maliciosa pase la verificación de
    integridad esperada y alcance la ruta de procesamiento vulnerable.
    
    ---
    
    ## 6. Manejo inseguro de objetos
    
    La protección vulnerable `is_safe_widget_instance()` es insuficiente
    contra el objeto suministrado a través de la instancia de widget manipulada.
    
    El comportamiento de manejo de objetos de PHP puede invocar métodos mágicos durante
    el proceso de deserialización.
    
    El resultado es una primitiva de Inyección de Objetos PHP explotable.
    
    ---
    
    ## 7. Cadena de gadgets
    
    El PoC de investigación construye estructuras de objetos de WordPress / The Events Calendar
    que proporcionan comportamiento invocable durante la deserialización.
    
    El PoC utiliza objetos orientados a callbacks y estructuras de clases serializadas
    para construir el payload de investigación.
    
    ---
    
    ## 8. Ejecución de código
    
    El impacto final es la Ejecución Remota de Código.
    
    El PoC contiene una etapa de webshell de investigación y lógica de creación
    de administrador.
    
    Para la verificación segura de la vulnerabilidad, el límite de seguridad importante ya
    está demostrado por la ejecución exitosa de la cadena de deserialización
    vulnerable.
    
    ---
    
    # Por qué la vulnerabilidad es crítica
    
    La combinación de:```text
    Unauthenticated
           +
    Remote
           +
    PHP Object Injection
           +
    RCE
    

    crea una ruta de ataque de alto impacto.

    Un atacante no necesita:

    • Una cuenta de administrador
    • Una contraseña válida de WordPress
    • Descifrado de contraseñas
    • Credenciales privilegiadas existentes

    El principal requisito previo del entorno es que la ruta vulnerable de renderizado de eventos/comentarios sea accesible.


    PoC de investigación

    El repositorio contiene una implementación de investigación basada en Python.

    El PoC subido es un ejecutor asíncrono en torno a la lógica de investigación original.

    Utiliza:```text Python aiohttp rich

    root@kitploit:~
    La implementación ejecuta la cadena de vulnerabilidades mediante la entrega y verificación de payloads por etapas.
    
    La fuente del PoC describe su arquitectura de la siguiente manera:```text
    payload building
            |
            v
    stage 1
            |
            v
    verification
            |
            v
    stage 2
    

    Capacidades del PoC

    La implementación de investigación incluye funcionalidad para:

    • Procesamiento de objetivos
    • Descubrimiento de eventos
    • Entrega de comentarios
    • Construcción de objetos PHP serializados
    • Construcción de bloques de widgets
    • Verificación de vulnerabilidades
    • Recopilación de información del entorno
    • Entrega de payloads por etapas
    • Creación de administradores
    • Despliegue de webshell
    • Recopilación de resultados
    • Procesamiento concurrente de múltiples URLs

    El PoC también contiene comprobaciones adaptadas a la plataforma para entornos Windows y tipo Unix.


    Objetivo único

    La herramienta de investigación puede utilizarse contra una instalación de WordPress autorizada individual.

    Conceptualmente:```text Single URL | v Target Discovery | v Event Discovery | v Comment Delivery | v Vulnerability Trigger | v Verification

    root@kitploit:~
    Un flujo de trabajo de objetivo único es útil para:
    
    * Laboratorios locales
    * Sistemas de staging
    * Reproducción de CVE
    * Pruebas de proveedores
    * Pruebas de penetración autorizadas
    * Investigación de seguridad
    
    ---
    
    # Lista de URL
    
    El ejecutor asíncrono también admite una lista de URL.
    
    El formato de entrada es:```text
    one URL per line
    

    Ejemplo:```text https://lab-wordpress-01.example https://lab-wordpress-02.example https://lab-wordpress-03.example

    root@kitploit:~
    Las líneas en blanco y los comentarios pueden ignorarse.
    
    El ejecutor carga los objetivos y los procesa de forma concurrente utilizando el
    recuento de hilos/concurrencia configurado.
    
    ---
    
    # Procesamiento concurrente
    
    El PoC admite el procesamiento concurrente de múltiples objetivos.
    
    Conceptualmente:```text
                     URL LIST
                        |
            +-----------+-----------+
            |           |           |
            v           v           v
         Worker 1    Worker 2    Worker 3
            |           |           |
            v           v           v
          Target      Target      Target
            |           |           |
            +-----------+-----------+
                        |
                        v
                     Results
    

    La implementación utiliza un semáforo asíncrono para controlar el nivel de concurrencia.

    La concurrencia configurada por defecto en el runner es 20.


    Salida

    El runner asíncrono puede crear dos archivos de resultados:```text shells.txt admins.txt

    root@kitploit:~
    `shells.txt` contiene las URL de shells subidas descubiertas.
    
    `admins.txt` contiene la información del resultado del administrador en la forma:```text
    url | user | pass
    

    [!WARNING] Estos archivos pueden contener credenciales extremadamente sensibles y artefactos de post-explotación.

    Nunca publiques los archivos de resultados generados en GitHub.

    Para la investigación pública de vulnerabilidades, mantén estos archivos fuera del repositorio de Git y añádelos a .gitignore.


    .gitignore recomendado```gitignore

    PoC results

    shells.txt admins.txt

    Research Workflow

    For responsible vulnerability validation:

    root@kitploit:~
    START
                      |
                      v
              Verificar la versión del plugin
                      |
                      v
              Verificar los requisitos previos
                      |
                      v
           Confirmar que los comentarios están habilitados
                      |
                      v
           Confirmar que los eventos exponen los comentarios
                      |
                      v
              Reproducir en un laboratorio
                      |
                      v
           Confirmar el comportamiento vulnerable
                      |
                      v
           Registrar evidencia y registros
                      |
                      v
              Detener / divulgar```
    
    Use the minimum level of interaction required to prove the finding.
    
    ---
    
    # Important Prerequisites
    
    The Wordfence advisory identifies the following important condition:
    
    ```text
    Los comentarios deben estar habilitados
    y
    los comentarios deben ser visibles en los eventos```
    
    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
    Sistema operativo
    Usuario de ejecución actual
    Directorio de trabajo actual
    Raíz del documento
    Software del servidor
    Host HTTP
    Información de 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
    Grafo de Objetos PHP
           |
           v
    Objeto Serializado
           |
           v
    Codificación Base64
           |
           v
    Bloque de Widget Heredado
           |
           v
    WordPress do_blocks()
           |
           v
    The Events Calendar
           |
           v
    Deserialización de Objetos```
    
    ---
    
    # 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
    Directorio de trabajo actual
    Usuario de ejecución
    Raíz del documento
    Información del servidor
    Información de 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
    Ejecución Remota de Código
    +
    Acceso Persistente como Administrador de 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
    Versión del plugin
           +
    Evento alcanzable
           +
    Entrega de comentarios
           +
    Renderizado del hash de moderación
           +
    Procesamiento del widget vulnerable
           +
    Evidencia de ejecución controlada```
    
    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
    Registros del servidor web
           +
    Registros de WordPress
           +
    Actividad de la base de datos
           +
    Integridad de archivos
           +
    Cuentas de administrador```
    
    ---
    
    # Indicators of Compromise
    
    Potential indicators include:
    
    ```text
    Cuentas de administrador inesperadas
    Directorios de plugins inesperados
    Archivos PHP inesperados
    Archivos sospechosos en wp-content/uploads/
    Comentarios de eventos inesperados
    Solicitudes anómalas de moderation-hash
    Solicitudes inesperadas relacionadas con widgets
    Ejecución de PHP inesperada```
    
    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
    URLs de objetivos reales
    credenciales generadas
    archivos webshell
    salida de phpinfo capturada
    volcados de base de datos
    información del entorno del servidor
    datos de prueba privados```
    
    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
    Plantilla de evento único V2
            |
            v
    WordPress do_blocks()
            |
            v
    Bloque de widget heredado
            |
            v
    Instancia de widget falsificada
            |
            v
    Atributo de integridad válido
            |
            v
    is_safe_widget_instance()
            |
            v
    Deserialización de objetos PHP
            |
            v
    Invocación de métodos mágicos
            |
            v
    Inyección de objetos PHP
            |
            v
    Ejecución remota de código```
    
    ---
    
    # 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
    Comentarios de eventos
    +
    URL de moderación-hash de WordPress
    +
    Renderizado de eventos 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
    Validación insuficiente de widgets
              +
    Comportamiento de métodos mágicos de PHP
              +
    Atributo de integridad falsificado
              +
    do_blocks()
              +
    Comentarios de eventos públicos
              +
    Acceso a 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
    Vulnerabilidad de The Events Calendar
    RCE de The Events Calendar
    Inyección de objetos PHP de The Events Calendar
    WordPress
    POC de CVE-2026-78006
    Seguridad de WordPress
    Vulnerabilidad de WordPress
    RCE de WordPress
    Inyección de objetos PHP
    Deserialización PHP
    RCE no autenticado
    Ejecución remota de código
    CVE
    Seguridad de plugins de WordPress
    RCE de plugins de WordPress
    is_safe_widget_instance
    enable_rendering_widget_copied
    do_blocks
    comentarios de WordPress
    hash de moderación
    legacy-widget
    investigación de seguridad
    PoC
    Prueba de concepto
    pruebas de penetración```
    
    Descargar herramienta