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.
Published: 2026-11-06
Score: 5.9 Medium
EPSS: n/a
KEV: No
Impact: Unauthorized Access via IDOR leading to integration hijacking and configuration overwrite
Action: Patch
AI Analysis

Impact

A low‑privileged authenticated user can supply another user’s integrationId to the createOrUpdateUserIntegration GraphQL mutation. Because the service treats the supplied ID as the target primary key, the operation assigns the caller’s user_id and replaces the victim’s provider_specifics and configuration. The result is a transfer of ownership or disabling of the victim’s integration, with no exposure of stored credential values. The weakness is a classic IDOR, classified as CWE‑639 and CWE‑862.

Affected Systems

All releases of IgnisDa Ryot before 10.4.0 are affected. Version 10.4.0 and later incorporate an ownership check that prevents this exploit.

Risk and Exploitability

The CVSS score of 5.9 indicates moderate severity. Exploitation requires the attacker to know or discover a victim’s integrationId, which is not trivially brute‑forceable but could be obtained through enumeration or social engineering. EPSS data is unavailable and the vulnerability is not listed in CISA’s KEV catalog, suggesting limited observed exploitation. Nonetheless, the potential to hijack or override another user’s integration presents a significant risk to confidentiality and integrity of that user’s data.

Generated by OpenCVE AI on November 6, 2026 at 22:21 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the official Ryot patch v10.4.0 to enforce ownership checks before processing integration updates.
  • If patch deployment is delayed, block or restrict the createOrUpdateUserIntegration mutation to only the owning user and enforce an explicit authorization check on that user ID.
  • Implement monitoring of integration activity so that any unauthorized changes to integration configuration or ownership are flagged for immediate review.

Generated by OpenCVE AI on November 6, 2026 at 22:21 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 06 Nov 2026 21:30:00 +0000

Type Values Removed Values Added
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.
Title Ryot: `createOrUpdateUserIntegration` trusts a client-supplied `integrationId` with no ownership check, letting any user hijack/overwrite another user's integration (cross-tenant IDOR)
Weaknesses CWE-639
CWE-862
References
Metrics cvssV3_1

{'score': 5.9, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:L'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-11-06T21:26:52.401Z

Reserved: 2026-08-20T19:59:59.605Z

Link: CVE-2026-77442

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-11-06T22:17:59.750

Modified: 2026-11-06T22:17:59.750

Link: CVE-2026-77442

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-06T22:30:12Z

Weaknesses
  • CWE-639

    Authorization Bypass Through User-Controlled Key

  • CWE-862

    Missing Authorization