🔍 CVE-2025-71397

6.5
CVSS Score
MEDIUM
2026-07-18
2026-09-29 19:10
✅ 완료

🇰🇷 한글 설명

SurrealDB의 특정 버전에서 OWNER 또는 EDITOR 권한을 가진 인증된 사용자가 중첩된 FOR 루프를 사용하는 사용자 정의 함수를 정의할 수 있습니다. 단일 루프의 반복 횟수는 제한되지만 중첩된 루프의 총 반복 횟수는 제한되지 않아 서버의 CPU 자원을 모두 소모할 수 있습니다. 이로 인해 설정된 타임아웃이 작동하지 않으며 서버가 응답 불능 상태에 빠질 수 있습니다.

💡 쉬운 설명

권한이 있는 사용자가 복잡하게 꼬인 반복문을 실행하여 서버의 계산 능력을 모두 써버리는 공격입니다. 이 공격이 성공하면 서버가 멈춰버려 다른 사용자들이 서비스를 이용할 수 없게 됩니다.

🇺🇸 원문 (English)

SurrealDB before 2.0.5, 2.1.x before 2.1.5, and 2.2.x before 2.2.2 allows authenticated users with OWNER or EDITOR permissions (at the root, namespace, or database level) to define custom database functions via DEFINE FUNCTION using nested FOR loops. Although a single loop's iteration count is constrained, nesting multiple loops (e.g., each with 1,000,000 iterations) is not, so an attacker can execute a function that consumes all server CPU time. Configured timeouts do not stop the execution, rendering the server unresponsive to other queries and connections until it is manually restarted.

📍 영향받는 시스템

SurrealDB < 2.0.5, 2.1.x < 2.1.5, 2.2.x < 2.2.2

⚔️ 공격 벡터

인증된 사용자가 DEFINE FUNCTION 명령어를 통해 중첩된 FOR 루프를 포함한 악성 함수를 정의하여 실행

🛡️ 대응 방법

SurrealDB를 최신 보안 패치가 적용된 버전(2.0.5, 2.1.5, 2.2.2 이상)으로 업데이트하십시오.

🔧 검증 코드

출력된 버전이 취약한 범위(2.0.5 미만, 2.1.5 미만, 2.2.2 미만)에 해당하면 취약한 상태입니다.

Shell / Script
surreal version 2>/dev/null | grep -E '2\[\.(0\.[5-9]|1\.[5-9]|2\.[2-9])\]'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Spring Data REST