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
keycloak-cve-2026-18963-hunt — Busca rastros de explotación de CVE-2026-18963 (toma de control de cuenta no autenticada en Keycloak) en la base de datos de Keycloak. | Kitploit
Herramientas/GitHubGitHub/kyos-public/keycloak-cve-2026-18963-hunt
Análisis de VulnerabilidadesForensia DigitalAutenticaciónRespuesta a IncidentesSeguridad de Bases de DatosAnálisis de Registros
GitHubkyos-public/keycloak-cve-2026-18963-hunt

keycloak-cve-2026-18963-hunt

Busca rastros de explotación de CVE-2026-18963 (toma de control de cuenta no autenticada en Keycloak) en la base de datos de Keycloak.

Ver Repositorio
91hace 4h 37mAún no revisado

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-18963: toma de control de cuentas en Keycloak, búsqueda de rastros de explotación

Un script psql que busca en una base de datos PostgreSQL de Keycloak rastros de explotación de CVE-2026-18963 (toma de control de cuentas sin autenticación mediante el flujo de restablecimiento de credenciales).

Publicado por KYOS. Lo escribimos mientras parcheábamos las implementaciones de Keycloak que operamos, para verificar que nadie hubiera sufrido una toma de control durante la ventana de exposición.

La vulnerabilidad

CVE-2026-18963 es una falla en el flujo de restablecimiento de credenciales de keycloak-services (keycloak#51833). Un atacante no autenticado puede completar el proceso de restablecimiento de contraseña de cualquier usuario sin hacer clic en el enlace de verificación por correo y, a continuación, establecer una nueva contraseña en la cuenta. No se requiere interacción del usuario.

Gravedad: Crítica, CVSS v3.1 9.1 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N), según Red Hat y NVD. La causa raíz es una validación deficiente del estado en el flujo de autenticación, corregida en .

keycloak#51844

Versiones afectadas / corregidas

RamaCorregida en
26.7.x26.7.2 (notas de la versión)
26.6.x26.6.6
26.4.x (LTS)26.4.15
26.826.8.0

Todo lo que esté por debajo de esas versiones en las ramas compatibles es vulnerable. Las versiones fuera de soporte (26.5.x, 26.3 y anteriores) no reciben corrección: considere que está expuesto y actualice a una rama corregida. Red Hat indica que el RH-SSO 7 heredado no está afectado; el Red Hat Build de Keycloak 26.4/26.6 está corregido en 26.4.15-1 / 26.6.6-1.

Solución alternativa si no puede parchear de inmediato

Desactivar el restablecimiento de contraseña de autoservicio elimina el punto de entrada vulnerable: Consola de administración > Configuración del realm > Inicio de sesión > “Olvidé mi contraseña” desactivado, para cada realm. Mediante la API de administración: PUT /admin/realms/{realm} con {"resetPasswordAllowed": false}.

Esto bloquea el endpoint login-actions/reset-credentials, pero también impide que los usuarios legítimos restablezcan su propia contraseña, así que trátelo como una medida provisional hasta que actualice. Tenga en cuenta que Red Hat no enumera una mitigación respaldada para este CVE; el parche es la única solución real.

Lo que comprueba el script

cve-2026-18963-keycloak-hunt.sql ejecuta cuatro consultas de solo lectura:

ConsultaQué encuentra
Q0Si el realm almacena eventos de inicio de sesión/administración en absoluto, y su TTL. Si los eventos están desactivados o caducados, los resultados vacíos en Q2/Q3 no prueban nada.
Q1Cada credencial de contraseña establecida dentro de la ventana de exposición (credential.created_date). Esto es la toma de control en sí y funciona incluso si el registro de eventos estaba desactivado.
Q2Eventos de inicio de sesión de restablecimiento/credenciales, marcando cualquier restablecimiento completado sin SEND_RESET_PASSWORD en las 24 h anteriores (no_email_before = t). Ese marcador es la firma del CVE: el atacante nunca activó el correo.
Q3Restablecimientos de credenciales y operaciones execute-actions mediante la API de administración, para descartar la vía impulsada por el administrador.

Uso

root@kitploit:~
# defaults: realm 'master', window since 2026-06-01
psql -U keycloak -d keycloak -f cve-2026-18963-keycloak-hunt.sql

# explicit realm and window (run once per realm, quote values exactly like this)
psql -U keycloak -d keycloak \
  -v realm="'myrealm'" -v since="'2026-05-01'" \
  -f cve-2026-18963-keycloak-hunt.sql

Establezca since justo antes de que su versión vulnerable entrara en producción. En Kubernetes:

root@kitploit:~
kubectl exec -it my-postgres-pod -- \
  psql -U keycloak -d keycloak -v realm="'myrealm'" -v since="'2026-05-01'" \
  -f - < cve-2026-18963-keycloak-hunt.sql

Interpretación de los resultados

Las filas de Q1 no son automáticamente compromisos. Compare cada una con una causa legítima conocida (restablecimiento de autoservicio, acción del servicio de soporte, nuevo registro) y trate cualquier cosa no explicada como candidata a toma de control.

Las filas de Q2 con no_email_before = t en RESET_PASSWORD, UPDATE_CREDENTIAL o UPDATE_PASSWORD son el indicador más fuerte de que este CVE ha sido explotado. Correlacione la columna ip_address con sus registros de acceso.

Compruebe Q0 primero: los eventos de inicio de sesión caducan (events_expiration) y pueden estar completamente desactivados. Q1 no caduca, por lo que es la comprobación más fiable.

Si encuentra una toma de control

  1. Desactive la cuenta afectada o fuerce un restablecimiento de contraseña a través de un canal de confianza.
  2. Revoque las sesiones y los tokens sin conexión de la cuenta (Consola de administración > Sesiones) y rote cualquier secreto al que pudiera tener acceso.
  3. Amplíe la investigación: registros del proxy inverso/ingress en torno a las marcas de tiempo y las IP de Q2, las acciones realizadas por la cuenta tras el cambio de credenciales y las aplicaciones posteriores federadas a través de Keycloak.

Advertencias

  • Solo lectura, pero prefiera ejecutarlo contra una réplica o una copia de seguridad.
  • Escrito para Keycloak 26.x en PostgreSQL. Los nombres de las tablas son estables en las versiones recientes, pero verifíquelos en otras bases de datos o versiones anteriores.
  • La ausencia de hallazgos no es prueba de que no haya compromiso (ver Q0), especialmente con una retención de eventos corta o el registro desactivado.

Licencia

MIT, consulte LICENSE. Se proporciona tal cual, sin garantía.

Descargar herramienta