CVE-2026-78699 in ash_postgres
요약
\~에 의해 VulDB • 2026. 08. 30.
ash-project의 ash_postgres에서 미검증 반환 값(Unchecked Return Value) 취약점이 발견되어, 기존 테넌트의 스키마와 이름이 충돌하도록 테넌트 이름을 변경할 수 있는 사용자는 해당 다른 테넌트의 활성 스키마를 자신의 테넌트 레코드에 연결하여 그 데이터에 접근할 수 있습니다.
AshPostgres.MultiTenancy.rename_tenant/3 함수는 {:ok, _} | {:error, _} 결과를 버리고 무조건 :ok를 반환하는 비예외 발생(non-raising) Ecto.Adapters.SQL.query/2와 함께 ALTER SCHEMA ... RENAME TO ... 문을 실행합니다. PostgreSQL은 대상 스키마가 이미 존재하거나(또는 권한이 부족하거나 잠금 시간 초과 시) 리네임을 거부하지만, 이러한 오류는 호출자에게 전달되지 않습니다. 따라서 이를 호출하는 manage_tenant 업데이트 작업은 성공으로 간주하고 새로운 이름의 테넌트 행을 커밋합니다. 이 새 이름은 다른 기존 테넌트의 스키마이므로, 해당 테넌트에 대한 이후 읽기 및 쓰기 작업은 다른 테넌트의 데이터를 대상으로 수행됩니다.
본 이슈는 ash_postgres 0.25.0부터 2.13.0 미만 버전에서 영향을 받습니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.