{"affected":[{"product":"ryot","source":"CNA: GitHub_M","vendor":"IgnisDa","versions":[{"status":"affected","version":"< 10.4.0"}]}],"cveId":"CVE-2026-77442","cwes":["CWE-639","CWE-862"],"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.","epss":null,"exploits":[],"kev":null,"metrics":[{"score":5.9,"severity":"medium","source":"CNA: GitHub_M","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:L","version":"3.1"}],"modifiedAt":1794000412401,"publishedAt":1794000412401,"references":[{"source":"CNA: GitHub_M","tags":["x_refsource_CONFIRM"],"url":"https://github.com/IgnisDa/ryot/security/advisories/GHSA-cjxv-jj8g-vfvj"},{"source":"CNA: GitHub_M","tags":["x_refsource_MISC"],"url":"https://github.com/IgnisDa/ryot/pull/1797"},{"source":"CNA: GitHub_M","tags":["x_refsource_MISC"],"url":"https://github.com/IgnisDa/ryot/commit/c4dffc68fc0aaf65b65c520d1d45d8da52ea8606"},{"source":"CNA: GitHub_M","tags":["x_refsource_MISC"],"url":"https://github.com/IgnisDa/ryot/releases/tag/v10.4.0"}],"remediation":[],"revision":"3ffa93d782fd39309262b5789e375f020f0b901fdb4a9fca5d7d75ac84ea73c8","sources":[{"modifiedAt":1794000412401,"name":"CNA: GitHub_M","retrievedAt":1794002940814,"url":"https://www.cve.org/CVERecord?id=CVE-2026-77442"}],"ssvc":null,"status":"published","title":"Ryot: `createOrUpdateUserIntegration` trusts a client-supplied `integrationId` with no ownership check, letting any user hijack/overwrite another user's integration (cross-tenant IDOR)","updatedAt":1794002940814}