---
id: CVE-2025-69286
title: RAGFlow is an open-source RAG (Retrieval-Augmented Generation) engine
summary: >-
  RAGFlow is an open-source RAG (Retrieval-Augmented Generation) engine. In
  versions prior to 0.22.0, the use of an insecure key generation algorithm in
  the API key and beta (assistant/agent share auth) token generation process
  allows thes…
severity: critical
cvss: 9.8
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'
cwe:
  - CWE-340
vendor: infiniflow
product: ragflow
affected:
  - ragflow < 0.22.0
patched:
  - ragflow 0.22.0
published: '2025-12-31'
updated: '2026-09-23'
sourceUpdated: '2026-09-23T14:10:00.190'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2025-69286'
references:
  - url: >-
      https://github.com/infiniflow/ragflow/blob/v0.20.5/api/apps/system_app.py#L214-L215
    label: security-advisories@github.com
  - url: >-
      https://github.com/infiniflow/ragflow/blob/v0.20.5/api/utils/__init__.py#L343
    label: security-advisories@github.com
  - url: >-
      https://github.com/infiniflow/ragflow/blob/v0.20.5/api/utils/api_utils.py#L378
    label: security-advisories@github.com
  - url: >-
      https://github.com/infiniflow/ragflow/commit/a3bb4aadcc3494fb27f2a9933b4c46df8eb532e6
    label: security-advisories@github.com
  - url: >-
      https://github.com/infiniflow/ragflow/security/advisories/GHSA-9j5g-g4xm-57w7
    label: security-advisories@github.com
  - url: >-
      https://github.com/infiniflow/ragflow/security/advisories/GHSA-9j5g-g4xm-57w7
    label: 134c704f-9b21-4f2e-91b3-4a467353bcc0
tags:
  - nvd
  - exploit-available
epss: 0.00773
epssPercentile: 0.54211
exploits:
  github: 1
  githubRepos:
    - 'https://github.com/qianlijaingshan/ragflow-audit'
  checkedAt: '2026-09-23T14:26:04.346Z'
exploitAvailable: true
ingestedAt: '2026-09-23T14:25:29.785Z'
---

## Overview

RAGFlow is an open-source RAG (Retrieval-Augmented Generation) engine. In versions prior to 0.22.0, the use of an insecure key generation algorithm in the API key and beta (assistant/agent share auth) token generation process allows these tokens to be mutually derivable. Specifically, both tokens are generated using the same `URLSafeTimedSerializer` with predictable inputs, enabling an unauthorized user who obtains the shared assistant/agent URL to derive the personal API key. This grants them full control over the assistant/agent owner's account. Version 0.22.0 fixes the issue.

## Affected

- `ragflow < 0.22.0`

## Remediation

Upgrade past the affected range:

- `ragflow 0.22.0`
