CVE-2026-77442 IDOR entre inquilinos en Ryot por integrationId sin verificación de propiedad
La mutación GraphQL createOrUpdateUserIntegration permite a un usuario autenticado de bajo privilegio enviar el integrationId de otro usuario sin verificación de propiedad. SeaORM trata la clave primaria como objetivo de actualización y la operación asigna el user_id del llamador y reemplaza provider_specifics y otra configuración, permitiendo transferir la propiedad, sobrescribir la configuración o deshabilitar la integración de la víctima. Requiere conocer el id de integración de la víctima. Corregido en la…
CVSS 3.1
- Probabilidad de explotación · EPSS del 09/110,2 % · percentil 13
- Explotada activamenteNo confirmada
- Exploit públicoNo conocido
Afectados
IgnisDa ryot
< 10.4.0
Qué hacer
- Verificá si usás ryot y en qué versión.
- Actualizá a la versión corregida que indique el fabricante en su aviso o aplicá su mitigación.
- Revisá registros y accesos de los sistemas expuestos para descartar un uso previo.
Calculadora CVSS
CVSS 3.1 · 5.9 MEDIA
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:L
- Vector de ataqueRed
- Complejidad del ataqueAlta
- Privilegios requeridosBajos
- Interacción del usuarioNinguna
- AlcanceSin cambio
- ConfidencialidadNinguna
- IntegridadAlta
- DisponibilidadBaja
Descripción original
Ryot is a self-hosted personal tracking application. Prior to 10.4.0, the createOrUpdateUserIntegration GraphQL mutation in crates/services/user/src/integration_operations.rs allows a low-privileged authenticated user to supply another user's integrationId to create_or_update_user_integration() without an ownership check. SeaORM treats the supplied primary key as an update target, and the operation assigns the caller's user_id while replacing the targeted integration's provider_specifics and other configuration, which can transfer ownership, overwrite configuration, or disable the victim's integration. Exploitation requires obtaining the victim's non-brute-forceable integration id, and the vulnerable update does not disclose existing stored credential values. This issue is fixed in version 10.4.0.
Referencias (4)
Resumen traducido automáticamente de la descripción original. Fuente: Nureq Monitor. Cómo funciona.