{"id":"CVE-2026-77442","published":"2026-11-06T22:17:59.750","lastModified":"2026-11-09T14:17:22.740","description":"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.","cvssScore":5.9,"cvssSeverity":"MEDIUM","cvssVector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:L","cwes":["CWE-639","CWE-862"],"vendors":[],"products":[],"references":[{"url":"https://github.com/IgnisDa/ryot/commit/c4dffc68fc0aaf65b65c520d1d45d8da52ea8606","tags":[]},{"url":"https://github.com/IgnisDa/ryot/pull/1797","tags":[]},{"url":"https://github.com/IgnisDa/ryot/releases/tag/v10.4.0","tags":[]},{"url":"https://github.com/IgnisDa/ryot/security/advisories/GHSA-cjxv-jj8g-vfvj","tags":[]},{"url":"https://github.com/IgnisDa/ryot/security/advisories/GHSA-cjxv-jj8g-vfvj","tags":[]}],"exploitRefs":[{"url":"https://github.com/IgnisDa/ryot/commit/c4dffc68fc0aaf65b65c520d1d45d8da52ea8606","tags":[]},{"url":"https://github.com/IgnisDa/ryot/pull/1797","tags":[]},{"url":"https://github.com/IgnisDa/ryot/releases/tag/v10.4.0","tags":[]},{"url":"https://github.com/IgnisDa/ryot/security/advisories/GHSA-cjxv-jj8g-vfvj","tags":[]},{"url":"https://github.com/IgnisDa/ryot/security/advisories/GHSA-cjxv-jj8g-vfvj","tags":[]}],"hasPoc":true,"ai":null}