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
Herramientas/GitHubGitHub/bishopfox/cve-2026-27886-check
ReconocimientoAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebRecopilación de InformaciónPruebas de Penetración
GitHubbishopfox/cve-2026-27886-check

CVE-2026-27886-check

Detectar si una instancia de Strapi es vulnerable a CVE-2026-27886 (exfiltración de secretos de administrador mediante oráculo booleano no autenticado).

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 →
Ver Repositorio
111hace 3 mesesAún no revisado
Compartir

Herramienta de Evaluación de Vulnerabilidad CVE-2026-27886

Detecte de forma segura si una instancia de Strapi es vulnerable a CVE-2026-27886 sin realizar la cadena completa de apropiación de cuentas. Consulte el artículo completo en el blog de Bishop Fox.

Descripción

CVE-2026-27886 es un bypass de desinfección de parámetros no autenticado en Strapi versiones 4.0.0 a 5.36.1 que permite a atacantes remotos no autenticados filtrar secretos de administrador a través de la API de Contenido pública. El desinfector de consultas del framework en @strapi/utils procesa solo las claves de consulta documentadas filters, sort, fields y populate, y preserva silenciosamente cualquier otra clave de nivel superior en la solicitud. Las claves desconocidas luego se reenvían a través de transformQueryParams y llegan a strapi.db.query(...) como la cláusula SQL WHERE. Al probar where[updatedBy][resetPasswordToken][$startsWith]=<prefix> contra cualquier colección pública de la API de Contenido, un atacante puede filtrar secretos de administrador un carácter a la vez a través del campo meta.pagination.total de la respuesta.

Esta herramienta realiza pruebas de vulnerabilidad no destructivas mediante:

  1. Enviar una GET /api/<collection> de referencia
  2. Enviar la misma GET con ?where[id][$lt]=-1 agregado
  3. Comparar los dos valores de meta.pagination.total para determinar si la cláusula where llegó a la capa de base de datos

El predicado where[id][$lt]=-1 no puede coincidir con ninguna fila real, por lo que cuando la cláusula se respeta en la capa de base de datos, la respuesta se reduce a cero filas. Cuando el parche está aplicado, la clave where desconocida es eliminada por la lista blanca del desinfector antes de que se construya la consulta y la respuesta es idéntica a la de referencia. La sonda nunca toca columnas privadas de administrador y nunca modifica ningún dato.

  • Servidores vulnerables devuelven totales diferentes: la referencia devuelve al menos una fila mientras que la solicitud con predicado devuelve cero, porque la cláusula where fue respetada en la capa de base de datos.
  • Servidores parcheados (Strapi 5.37.0 o posterior) devuelven totales idénticos para ambas solicitudes, porque sanitizeQuery elimina cualquier clave de nivel superior no reconocida antes de que lleguen a la base de datos.
  • Servidores que no son Strapi, endpoints inalcanzables o colecciones vacías reportarán un resultado INCONCLUSIVE.

En un servidor vulnerable, la herramienta enumera la dirección de correo electrónico del administrador carácter por carácter mediante where[updatedBy][email][$startsWith]=<prefix>. No encadena a la apropiación de la cuenta de administrador.

Instalación

root@kitploit:~
git clone https://github.com/BishopFox/CVE-2026-27886-check
cd CVE-2026-27886-check

Sin dependencias externas. El escáner utiliza solo módulos de la biblioteca estándar de Python.

Uso

Pruebe un endpoint de colección de la API de Contenido pública de un servidor Strapi. Strapi asigna el pluralName del tipo de contenido a la ruta URL, por lo que el nombre exacto varía según la implementación.

root@kitploit:~
python3 CVE-2026-27886-check.py <ENDPOINT>

Ejemplo: Servidor Vulnerable

root@kitploit:~
$ python3 CVE-2026-27886-check.py http://target.example.com/api/articles
[+] Target: http://target.example.com/api/articles
[+] Differential confirmed: baseline total=1, where-test total=0 -> VULNERABLE
[+] Enumerating admin email
    admin email = [email protected]
[+] Done. To remediate, upgrade to Strapi 5.37.0 or later.

Ejemplo: Servidor Parcheado

root@kitploit:~
$ python3 CVE-2026-27886-check.py http://target.example.com/api/articles
[+] Target: http://target.example.com/api/articles
[+] Differential check: baseline total=1, where-test total=1 -> NOT VULNERABLE

Precondiciones

La herramienta solo puede detectar la vulnerabilidad si se cumplen las siguientes condiciones:

  • El objetivo está ejecutando Strapi 4.0.0 a 5.36.1
  • Al rol Público se le ha concedido find en al menos un tipo de contenido
  • Al menos una fila en ese tipo de contenido tiene un updated_by_id no NULL
  • La URL de la colección objetivo es accesible

Si no se cumple alguna condición, la herramienta reportará un resultado INCONCLUSIVE.

Licencia

Este código se distribuye bajo una licencia MIT.

Descargo de responsabilidad legal

El uso de esta herramienta para atacar objetivos sin consentimiento mutuo previo es ilegal. Es responsabilidad del usuario final cumplir con todas las leyes locales, estatales y federales aplicables. Los desarrolladores no asumen ninguna responsabilidad y no son responsables por cualquier mal uso o daño causado por este programa.

Ver también

  • Strapi Security Advisory GHSA-rjg2-95x7-8qmx
  • Blog de Bishop Fox: Análisis Técnico Completo
  • NVD — CVE-2026-27886
Descargar herramienta