🇰🇷 한글 설명
SurrealDB 2.1.4 미만 버전에서 TYPE RELATION으로 정의된 테이블에 DEFINE TABLE ... OVERWRITE 절을 사용할 때 테이블 정의가 덮어쓰여지지 않는 문제가 발생합니다. 이로 인해 권한 제한을 위한 설정 변경이 실제로는 적용되지 않아, 관리자가 보안 설정이 완료되었다고 오판할 수 있습니다. 결과적으로 권한이 축소되지 않은 상태로 데이터에 대한 접근이 지속될 수 있습니다.
💡 쉬운 설명
데이터베이스의 보안 규칙을 새로 고치려고 시도해도 실제로는 예전 규칙이 그대로 남아있는 버그입니다. 이 때문에 보안을 강화했다고 생각했지만, 실제로는 권한이 제한되지 않아 데이터가 위험에 노출될 수 있습니다.
🇺🇸 원문 (English)
SurrealDB before 2.1.4 silently fails to overwrite table definitions when the DEFINE TABLE ... OVERWRITE clause is used on tables defined with TYPE RELATION. Because table definitions include the PERMISSIONS clause, an attempt to tighten a table's permissions via OVERWRITE does not take effect, and the administrator may incorrectly believe the change was applied. As a result, a client authorized to run queries may continue to access data in that table that the updated (but unapplied) permissions were intended to restrict.
📍 영향받는 시스템
SurrealDB version < 2.1.4
⚔️ 공격 벡터
권한이 축소되지 않은 기존 테이블에 대한 비인가 접근 및 데이터 탈취
🛡️ 대응 방법
SurrealDB를 2.1.4 버전 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 2.1.4 미만이면 취약한 상태이며, 2.1.4 이상이면 안전합니다.
surreal version | grep -E '2\[\.\]1\.[0-4]'