Descripción de la vulnerabilidad
Se ha identificado una vulnerabilidad de control de acceso incorrecto en GROWI, la plataforma wiki colaborativa de código abierto. Los endpoints API correspondientes a hilos y mensajes de OpenAI no implementan ningún mecanismo de autorización, lo que permite a un usuario autenticado acceder y manipular recursos que pertenecen a otros usuarios.
Mecanismo de explotación
Cuando un usuario autenticado conoce el identificador de un asistente de IA compartido dentro de la instancia de GROWI, puede realizar peticiones directas a los endpoints API de hilos y mensajes sin que el sistema verifique si dicho usuario tiene permisos legítimos sobre esos recursos. Esto expone tanto la lectura no autorizada de conversaciones ajenas como la posibilidad de alterar o eliminar el contenido de esos hilos y mensajes.
La ausencia de controles de autorización en la capa API constituye una vulnerabilidad de tipo control de acceso roto, clasificada bajo CWE-862 (Missing Authorization) o CWE-285 (Improper Authorization), patrones frecuentes en aplicaciones que implementan integraciones con servicios de IA sin extender adecuadamente los modelos de permisos existentes a los nuevos endpoints.
Impacto
El impacto principal afecta a la confidencialidad e integridad de las conversaciones mantenidas con los asistentes de IA dentro de GROWI. Un actor malicioso con una cuenta válida en la plataforma podría:
- Leer el contenido de hilos y mensajes pertenecientes a otros usuarios, lo que puede incluir información sensible compartida con el asistente de IA.
- Modificar o manipular dichos hilos y mensajes, comprometiendo la integridad de las conversaciones y potencialmente introduciendo información falsa o maliciosa en el contexto de otros usuarios.
Versiones afectadas
La vulnerabilidad afecta a GROWI v7.4.5 y todas las versiones anteriores que incluyan la integración con OpenAI.
Recomendaciones
Se recomienda a los administradores de instancias GROWI actualizar a la versión parcheada en cuanto esté disponible por parte del equipo mantenedor del proyecto. Mientras tanto, como medida de mitigación temporal, se puede considerar deshabilitar la funcionalidad de asistentes de IA compartidos o restringir el acceso a los endpoints API afectados mediante controles a nivel de red o proxy inverso, limitando quién puede realizar peticiones a dichos endpoints.
