« Volver al listado

CVE-2025-69207

Estado: AnalizadaAlta (7.1)—

Khoj is a self-hostable artificial intelligence app. Prior to 2.0.0-beta.23, an IDOR in the Notion OAuth callback allows an attacker to hijack any user's Notion integration by manipulating the state parameter. The callback endpoint accepts any user UUID without verifying the OAuth flow was initiated by that user, allowing attackers to replace victims' Notion configurations with their own, resulting in data poisoning and unauthorized access to the victim's Khoj search index. This attack requires knowing the user's UUID which can be leaked through shared conversations where an AI generated image is present. This vulnerability is fixed in 2.0.0-beta.23.

CVSS

Probabilidad de explotación (EPSS)

EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).

🎯 Técnicas ATT&CK

Cómo se explota esta vulnerabilidad y qué consigue el atacante, en el lenguaje de MITRE ATT&CK.

UI:R requiere interacción (usuario autoriza OAuth). IDOR permite secuestro de cuenta Notion (T1098.002), envenenamiento de datos (T1565.003) y acceso a índice de búsqueda (T1005). UUID filtrable en imágenes compartidas.

Inferido por nuestro agente de análisis a partir de la descripción oficial, el vector CVSS y la CWE, y comprobado por un supervisor. Puede contener errores.

🛡️ Mitigaciones ATT&CK que cubren estas técnicas

Tecnologías afectadas (1)

CWE

Referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2025-69207",
  "cveTags": [],
  "metrics": {
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "id": "CVE-2025-69207",
          "role": "CISA Coordinator",
          "options": [
            {
              "exploitation": "poc"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "version": "2.0.3",
          "timestamp": "2026-02-03T15:44:16.914965Z"
        }
      }
    ],
    "cvssMetricV31": [
      {
        "type": "Secondary",
        "source": "security-advisories@github.com",
        "cvssData": {
          "scope": "UNCHANGED",
          "version": "3.1",
          "baseScore": 5.4,
          "attackVector": "NETWORK",
          "baseSeverity": "MEDIUM",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:L",
          "integrityImpact": "LOW",
          "userInteraction": "REQUIRED",
          "attackComplexity": "LOW",
          "availabilityImpact": "LOW",
          "privilegesRequired": "NONE",
          "confidentialityImpact": "NONE"
        },
        "impactScore": 2.5,
        "exploitabilityScore": 2.8
      },
      {
        "type": "Primary",
        "source": "nvd@nist.gov",
        "cvssData": {
          "scope": "UNCHANGED",
          "version": "3.1",
          "baseScore": 7.1,
          "attackVector": "NETWORK",
          "baseSeverity": "HIGH",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:N",
          "integrityImpact": "HIGH",
          "userInteraction": "REQUIRED",
          "attackComplexity": "LOW",
          "availabilityImpact": "NONE",
          "privilegesRequired": "NONE",
          "confidentialityImpact": "LOW"
        },
        "impactScore": 4.2,
        "exploitabilityScore": 2.8
      }
    ]
  },
  "affected": [
    {
      "source": "security-advisories@github.com",
      "affectedData": [
        {
          "vendor": "khoj-ai",
          "product": "khoj",
          "versions": [
            {
              "status": "affected",
              "version": "< 2.0.0-beta.23"
            }
          ]
        }
      ]
    }
  ],
  "published": "2026-02-02T23:16:01.030",
  "references": [
    {
      "url": "https://github.com/khoj-ai/khoj/commit/1b7ccd141d47f365edeccc57d7316cb0913d748b",
      "tags": [
        "Patch"
      ],
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/khoj-ai/khoj/releases/tag/2.0.0-beta.23",
      "tags": [
        "Product",
        "Release Notes"
      ],
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/khoj-ai/khoj/security/advisories/GHSA-6whj-7qmg-86qj",
      "tags": [
        "Exploit",
        "Vendor Advisory"
      ],
      "source": "security-advisories@github.com"
    }
  ],
  "vulnStatus": "Analyzed",
  "weaknesses": [
    {
      "type": "Secondary",
      "source": "security-advisories@github.com",
      "description": [
        {
          "lang": "en",
          "value": "CWE-639"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "Khoj is a self-hostable artificial intelligence app. Prior to 2.0.0-beta.23, an IDOR in the Notion OAuth callback allows an attacker to hijack any user's Notion integration by manipulating the state parameter. The callback endpoint accepts any user UUID without verifying the OAuth flow was initiated by that user, allowing attackers to replace victims' Notion configurations with their own, resulting in data poisoning and unauthorized access to the victim's Khoj search index. This attack requires knowing the user's UUID which can be leaked through shared conversations where an AI generated image is present. This vulnerability is fixed in 2.0.0-beta.23."
    },
    {
      "lang": "es",
      "value": "Khoj es una aplicación de inteligencia artificial autoalojable. Antes de la 2.0.0-beta.23, una IDOR en la devolución de llamada de OAuth de Notion permite a un atacante secuestrar la integración de Notion de cualquier usuario manipulando el parámetro state. El endpoint de devolución de llamada acepta cualquier UUID de usuario sin verificar que el flujo de OAuth fue iniciado por ese usuario, permitiendo a los atacantes reemplazar las configuraciones de Notion de las víctimas con las suyas propias, lo que resulta en envenenamiento de datos y acceso no autorizado al índice de búsqueda de Khoj de la víctima. Este ataque requiere conocer el UUID del usuario, que puede filtrarse a través de conversaciones compartidas donde una imagen generada por IA está presente. Esta vulnerabilidad está corregida en la 2.0.0-beta.23."
    }
  ],
  "lastModified": "2026-06-17T10:00:17.293",
  "configurations": [
    {
      "nodes": [
        {
          "negate": false,
          "cpeMatch": [
            {
              "criteria": "cpe:2.3:a:khoj:khoj:*:*:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "A9CE4C83-56C9-4462-A518-BCE7A3897A2A",
              "versionEndExcluding": "2.0.0"
            },
            {
              "criteria": "cpe:2.3:a:khoj:khoj:2.0.0:beta1:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "C0BE025F-8573-4291-905B-256671BFAB7D"
            },
            {
              "criteria": "cpe:2.3:a:khoj:khoj:2.0.0:beta10:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "4EA2E60E-6469-40B9-83E2-BBCF923549F7"
            },
            {
              "criteria": "cpe:2.3:a:khoj:khoj:2.0.0:beta11:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "3C9D04DA-963D-461E-899D-F64B5C71EF98"
            },
            {
              "criteria": "cpe:2.3:a:khoj:khoj:2.0.0:beta12:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "43E2D186-FF64-44E9-8BCD-9734CE2231B6"
            },
            {
              "criteria": "cpe:2.3:a:khoj:khoj:2.0.0:beta13:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "A13043D0-3CA8-4953-B690-39D5E1945F65"
            },
            {
              "criteria": "cpe:2.3:a:khoj:khoj:2.0.0:beta14:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "F980D862-1935-40E7-B4DD-908B6896978F"
            },
            {
              "criteria": "cpe:2.3:a:khoj:khoj:2.0.0:beta15:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "6CDA5B55-E929-42ED-A1CB-F8F1949D3C2D"
            },
            {
              "criteria": "cpe:2.3:a:khoj:khoj:2.0.0:beta16:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "D5F1AA06-718A-4813-83BA-0DDC21C62B84"
            },
            {
              "criteria": "cpe:2.3:a:khoj:khoj:2.0.0:beta17:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "AC92003D-2A89-42F7-9D70-5278C0B4CA69"
            },
            {
              "criteria": "cpe:2.3:a:khoj:khoj:2.0.0:beta18:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "824DA579-02F1-466C-9566-3A6A7D6519D2"
            },
            {
              "criteria": "cpe:2.3:a:khoj:khoj:2.0.0:beta19:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "A97AE3A9-2F42-4A33-A499-C0FA5097876B"
            },
            {
              "criteria": "cpe:2.3:a:khoj:khoj:2.0.0:beta2:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "51815298-AFFA-462B-81A8-E3DDAA8FDEF1"
            },
            {
              "criteria": "cpe:2.3:a:khoj:khoj:2.0.0:beta20:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "22A632CE-CF8B-4149-930E-B668148BCCF7"
            },
            {
              "criteria": "cpe:2.3:a:khoj:khoj:2.0.0:beta21:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "1F039E17-0A1E-467E-BA47-3EB88F006C99"
            },
            {
              "criteria": "cpe:2.3:a:khoj:khoj:2.0.0:beta22:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "3B9D57A9-1E32-4F62-80D7-A0C01F84793A"
            }
          ],
          "operator": "OR"
        }
      ]
    }
  ],
  "sourceIdentifier": "security-advisories@github.com"
}