PostgreSQL maintains statistics for tables by sampling data available in columns; this data is consulted during the query planning process. Prior to this release, a user able to execute SQL queries with permissions to read a given column could craft a leaky operator that could read whatever data had been sampled from that column. If this happened to include values from rows that the user is forbidden to see by a row security policy, the user could effectively bypass the policy. This is fixed by only allowing a non-leakproof operator to use this data if there are no relevant row security policies for the table.
The PostgreSQL project thanks Dean Rasheed for reporting this problem.
Affected Version | Fixed In | Fix Published |
---|---|---|
11 | 11.3 | May 9, 2019 |
10 | 10.8 | May 9, 2019 |
9.6 | 9.6.13 | May 9, 2019 |
9.5 | 9.5.17 | May 9, 2019 |
For more information about PostgreSQL versioning, please visit the versioning page.
Overall Score | 3.1 |
---|---|
Component | core server |
Vector | AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N |
If you wish to report a new security vulnerability in PostgreSQL, please send an email to security@postgresql.org.
For reporting non-security bugs, please see the Report a Bug page.