CVE-2025-69207
IDOR in Khoj Notion OAuth Callback Enables Account Hijacking
Publication date: 2026-02-02
Last updated on: 2026-02-27
Assigner: GitHub, Inc.
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| khoj | khoj | to 2.0.0 (exc) |
| khoj | khoj | 2.0.0 |
| khoj | khoj | 2.0.0 |
| khoj | khoj | 2.0.0 |
| khoj | khoj | 2.0.0 |
| khoj | khoj | 2.0.0 |
| khoj | khoj | 2.0.0 |
| khoj | khoj | 2.0.0 |
| khoj | khoj | 2.0.0 |
| khoj | khoj | 2.0.0 |
| khoj | khoj | 2.0.0 |
| khoj | khoj | 2.0.0 |
| khoj | khoj | 2.0.0 |
| khoj | khoj | 2.0.0 |
| khoj | khoj | 2.0.0 |
| khoj | khoj | 2.0.0 |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-639 | The system's authorization functionality does not prevent one user from gaining access to another user's data or record by modifying the key value identifying the data. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability is an Insecure Direct Object Reference (IDOR) in the Notion OAuth callback of the Khoj app before version 2.0.0-beta.23. It allows an attacker to hijack any user's Notion integration by manipulating the state parameter. The callback endpoint accepts any user UUID without verifying that the OAuth flow was initiated by that user. Attackers who know a user's UUID, which can be leaked through shared conversations containing AI-generated images, can replace the victim's Notion configurations with their own.
How can this vulnerability impact me? :
This vulnerability can lead to unauthorized access to a victim's Khoj search index and data poisoning by allowing attackers to hijack and replace the victim's Notion integration configurations. This compromises the integrity and confidentiality of the victim's data within Khoj.
What immediate steps should I take to mitigate this vulnerability?
Upgrade Khoj to version 2.0.0-beta.23 or later, where the IDOR vulnerability in the Notion OAuth callback is fixed.