Description
SurrealDB versions before 3.1.4 fail to properly enforce SELECT permissions on array elements (field.*) for record users, leaking denied array elements instead of hiding them. Attackers with record scope access can read array elements that element-level permissions should deny by exploiting incorrect index handling during permission filtering.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| surrealdb | surrealdb | < 3.1.4 | 3.1.4 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| crates.io | surrealdb | < 3.1.4 | 3.1.4 | GHSA-8rw6-p7m8-63jp |
References
- GitHub Security Advisory (GHSA-8rw6-p7m8-63jp) vendor-advisory
- VulnCheck Advisory: SurrealDB before 3.1.4 Array Element Permission Bypass third-party-advisory