La convergencia de las vulnerabilidades tradicionales de la web y la infraestructura de IA agéntica ha creado una nueva y peligrosa superficie de ataque. Mientras la comunidad de la ciberseguridad en general debate CVE-2026-23478 como un bypass de autenticación crítico en Cal.comSin embargo, los ingenieros de seguridad de IA deben ver esto a través de una lente diferente: Riesgo de integridad de la herramienta.
Para los equipos de seguridad que gestionan agentes autónomos -específicamente aquellos con acceso a calendarios y capacidades de programación- esta vulnerabilidad representa un vector de toma de control de cuenta remota (ATO) que elude no sólo al usuario humano, sino también las barreras de protección del propio agente de IA.
A continuación se ofrece un desglose técnico de CVE-2026-23478, su mecánica específica dentro del flujo NextAuth y por qué supone un riesgo catastrófico para las implantaciones de IA en las empresas.
Anatomía de CVE-2026-23478
Gravedad: Crítico (CVSS v4.0: 10.0)
Versiones afectadas: Cal.com v3.1.6 a < 6.0.7
Vector: Bypass de autenticación a través de session.update()
En esencia, esta vulnerabilidad reside en la implementación personalizada de la directiva SiguienteAuth.js Devolución de llamada JWT. Cal.comampliamente utilizado como "herramienta" de programación subyacente para miles de agentes de IA e integraciones de SaaS, no validó correctamente las entradas del usuario durante una llamada de actualización de sesión.
En una aplicación segura, session.update() sólo debería permitir a un usuario modificar metadatos de sesión no sensibles. Sin embargo, en las versiones afectadas, la aplicación permite al correo electrónico dentro del JWT para ser mutado sin re-autenticación.
Patrón de código vulnerable
El fallo existe porque el backend acepta ciegamente la carga útil del lado del cliente actualizar() y lo fusiona con el testigo de sesión.
JavaScript
`// Representación en pseudocódigo de la lógica vulnerable de devolución de llamada NextAuth // NO USAR EN PRODUCCIÓN
callbacks: { async jwt({ token, user, trigger, session }) { if (trigger === "update" && session) { // VULNERABILIDAD: Fusionar ciegamente los datos de sesión en el token // El atacante permite anular el campo 'email' convirtiéndose efectivamente en ese usuario. return { ...token, ...session }; } return token; } }`
Un atacante -o un agente de IA infectado- puede aprovecharse de ello enviando una solicitud falsificada al endpoint. Si un agente de IA está interactuando con el Cal.com API en nombre de un usuario, y ese agente procesa una entrada que no es de confianza (por ejemplo, un mensaje malicioso pidiendo al agente que "actualice las preferencias"), el agente podría ser engañado teóricamente para activar este flujo.

Ejemplo de Exploit Payload:
JSON
`POST /api/auth/session Content-Type: application/json
{ "csrfToken": "valid_token_here", "data": { "email": "[email protected]", "nombre de usuario": "admin" } }`
Una vez que el servidor procesa esto, el JWT se vuelve a firmar con la clave del objetivo correo electrónico. El atacante (o el agente deshonesto) efectivamente se convierte en al administrador sin conocer su contraseña ni saltarse los desafíos 2FA.
Por qué es importante para los ingenieros de seguridad de IA
A menudo tratamos a las "Herramientas" (APIs que los LLMs pueden llamar) como cajas negras de confianza. CVE-2026-23478 echa por tierra esta suposición.
En 2026, el patrón arquitectónico dominante para la IA es el Flujo de trabajo agenético:
Indicación al usuario $\rightarrow$ LLM $\rightarrow$ Ejecución de la herramienta (Cal.com) $\rightarrow$ Acción
Si su organización implementa un Asistente de Programación de AI (por ejemplo, para RRHH o Ventas) que depende de una instancia autoalojada de Cal.comestás expuesto.
| Vector de ataque | Escenario web tradicional | Escenario del agente de IA |
|---|---|---|
| Disparador | El atacante envía manualmente una petición CURL. | El atacante utiliza Prompt Injection para forzar al Agente a llamar al endpoint de actualización. |
| Impacto | El atacante se registra como víctima. | El atacante secuestra el Identidad del agente, concediendo acceso a todos los calendarios que gestione el Agente. |
| Detección | Registros WAF, detección de anomalías en IP. | Extremadamente difícil. La petición procede de la IP interna del Agente de confianza. |
Este es un clásico Diputado confundido problema escalado por la criticidad de la vulnerabilidad subyacente. El Agente tiene la permiso para llamar a la API, y la API tiene un fallo lógico que permite la escalada de privilegios.

Detección automatizada con Penligent
La detección de cadenas de vulnerabilidades como ésta, en la que un fallo lógico en una dependencia se encuentra con un flujo de trabajo agentico, es precisamente la razón por la que hemos creado Penligente.
Las herramientas de análisis estático (SAST) a menudo pasan por alto fallos lógicos en bibliotecas de terceros como las implementaciones de NextAuth, y los escáneres DAST estándar pueden no entender el complejo estado de una sesión del Agente AI.
Cómo Penligent aborda CVE-2026-23478:
- Conciencia de dependencia: El motor de Penligent identifica que su Agente AI está interactuando con
Cal.com(v5.x). - Fuzzing consciente del contexto: En lugar de limitarse a comprobar si hay XSS, Penligent simula que un atacante intenta escalar privilegios a través de las herramientas disponibles del agente.
- Prueba de explotación: La plataforma intenta replicar de forma segura la
sesión.actualizarbypass dentro de un entorno sandboxed, probando si la configuración específica de su Agente permite este cambio de estado.
Al integrar Penligent en su canalización de CI/CD, se asegura de que el herramientas en los que se basa su IA no son el eslabón más débil de su cadena de seguridad.
Remediación y mitigación
Para los equipos que utilizan actualmente Cal.com dentro de su infraestructura de IA, se requiere una acción inmediata.
- Parche inmediatamente: Actualizar todo Cal.com instancias a v6.0.7 o superior. Esta versión fuerza una validación estricta en el
jwtcallback, impidiendo que elcorreo electrónicose sobrescriba durante la actualización de la sesión. - Restringir ámbitos de agentes: Asegúrese de que sus agentes de IA funcionan con la Principio del menor privilegio. Un Agente capaz de programar reuniones debe no tienen permisos para llamar a los endpoints de gestión de sesiones o de actualización de perfiles de usuario.
- Monitor
sesión.actualizarLlamadas: Audite sus registros para detectar cualquier llamada al punto final de actualización de sesión en la que la carga útil contenga campos confidenciales comocorreo electrónico,subopapel.

