🔍 CVE-2026-78699

0.0
CVSS Score
UNKNOWN
2026-08-30
2026-09-01 21:15
✅ 완료

🇰🇷 한글 설명

ash-project의 ash_postgres 라이브러리에서 발생하는 체크되지 않은 반환 값 취약점입니다. 테넌트 이름을 변경할 때 기존 테넌트의 스키마 이름과 충돌하더라도 오류를 감지하지 못해, 공격자가 다른 테넌트의 데이터에 접근할 수 있는 권한을 획득할 수 있습니다.

💡 쉬운 설명

이름 변경 작업이 실패했음에도 시스템이 성공했다고 착각하여 발생하는 문제입니다. 이로 인해 사용자가 다른 사람의 데이터 저장 공간에 연결되어 남의 정보를 볼 수 있게 됩니다.

🇺🇸 원문 (English)

Unchecked Return Value vulnerability in ash-project ash_postgres allows a user who can drive a tenant rename to a name that collides with an existing tenant's schema to have their tenant record repointed at that other tenant's live schema, gaining access to its data. AshPostgres.MultiTenancy.rename_tenant/3 issues the ALTER SCHEMA ... RENAME TO ... with the non-raising Ecto.Adapters.SQL.query/2, discards its {:ok, _} | {:error, _} result, and unconditionally returns :ok. PostgreSQL rejects the rename when the target schema already exists (and on insufficient privilege or lock timeout), but that failure never reaches the caller. The calling manage_tenant update action therefore sees success and commits the tenant row with the new name, which is the schema of a different existing tenant, so subsequent reads and writes for that tenant run against the other tenant's data. This issue affects ash_postgres: from 0.25.0 before 2.13.0.

📍 영향받는 시스템

ash_postgres: 0.25.0 버전부터 2.13.0 미만 버전

⚔️ 공격 벡터

기존 테넌트의 스키마 이름과 동일한 이름으로 자신의 테넌트 이름을 변경 시도

🛡️ 대응 방법

ash_postgres 라이브러리를 2.13.0 이상의 최신 버전으로 업데이트

🔧 검증 코드

출력된 버전이 0.25.0보다 낮거나 2.13.0보다 낮은지 확인

Shell / Script
mix deps info ash_postgres | grep -E 'ash_postgres \([0-9]+\.[0-9]+\.[0-9]+\)'

💻 영향받는 소프트웨어

PostgreSQL