CVE-2026-14666
Incomplete tracking in PostgreSQL of changes to role membership, role attributes, and database ownership allows a query to continue using cached row-level security policies after those changes require a different policy, via plan reuse. Stale policies continue until some other event invalidates the cache or connection termination ends the session. This permits a user to complete reads and modifications that were recently permitted but now forbidden. An attacker must tailor an attack to a particular application's pattern of privilege removal and role-specific row security policies. Versions before PostgreSQL 18.6, 17.11, 16.15, 15.19, and 14.24 are affected.
Version Information
| Affected branch | Introduced | Fixed In | Fix Published |
|---|---|---|---|
| 14 | — | 14.24 | 2026-08-13 |
| 15 | — | 15.19 | 2026-08-13 |
| 16 | — | 16.15 | 2026-08-13 |
| 17 | — | 17.11 | 2026-08-13 |
| 18 | — | 18.6 | 2026-08-13 |
CVSS 3.0
| Overall Score | 4.2 |
|---|---|
| Component | core server |
| Vector | AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N |
First published: 2026-08-13
Historical source observations
These dated records preserve the original source claims separately from the reviewed fix list.
center · 2026-10-03 12:08:35.169032+08
- PostgreSQL 18 · Original minor coordinate: 6
- PostgreSQL 17 · Original minor coordinate: 11
- PostgreSQL 16 · Original minor coordinate: 15
- PostgreSQL 15 · Original minor coordinate: 19
- PostgreSQL 14 · Original minor coordinate: 24
pgweb · 2026-10-03 12:08:55.967155+08
- PostgreSQL 18 · Original minor coordinate: 6
- PostgreSQL 17 · Original minor coordinate: 11
- PostgreSQL 16 · Original minor coordinate: 15
- PostgreSQL 15 · Original minor coordinate: 19
- PostgreSQL 14 · Original minor coordinate: 24