|
33 | 33 |
|
34 | 34 | <itemizedlist>
|
35 | 35 |
|
| 36 | + <listitem> |
| 37 | + <para> |
| 38 | + Prevent row-level security policies from being bypassed via |
| 39 | + selectivity estimators (Dean Rasheed) |
| 40 | + </para> |
| 41 | + |
| 42 | + <para> |
| 43 | + Some of the planner's selectivity estimators apply user-defined |
| 44 | + operators to values found in <structname>pg_statistic</structname> |
| 45 | + (e.g., most-common values). A leaky operator therefore can disclose |
| 46 | + some of the entries in a data column, even if the calling user lacks |
| 47 | + permission to read that column. In CVE-2017-7484 we added |
| 48 | + restrictions to forestall that, but we failed to consider the |
| 49 | + effects of row-level security. A user who has SQL permission to |
| 50 | + read a column, but who is forbidden to see certain rows due to RLS |
| 51 | + policy, might still learn something about those rows' contents via a |
| 52 | + leaky operator. This patch further tightens the rules, allowing |
| 53 | + leaky operators to be applied to statistics data only when there is |
| 54 | + no relevant RLS policy. (CVE-2019-10130) |
| 55 | + </para> |
| 56 | + </listitem> |
| 57 | + |
36 | 58 | <listitem>
|
37 | 59 | <para>
|
38 | 60 | Avoid catalog corruption when a temporary table with <literal>ON
|
|
263 | 285 | </para>
|
264 | 286 | </listitem>
|
265 | 287 |
|
| 288 | + <listitem> |
| 289 | + <para> |
| 290 | + Check the appropriate user's permissions when enforcing rules about |
| 291 | + letting a leaky operator see <structname>pg_statistic</structname> |
| 292 | + data (Dean Rasheed) |
| 293 | + </para> |
| 294 | + |
| 295 | + <para> |
| 296 | + When an underlying table is being accessed via a view, consider the |
| 297 | + privileges of the view owner while deciding whether leaky operators |
| 298 | + may be applied to the table's statistics data, rather than the |
| 299 | + privileges of the user making the query. This makes the planner's |
| 300 | + rules about what data is visible match up with the executor's, |
| 301 | + avoiding unnecessarily-poor plans. |
| 302 | + </para> |
| 303 | + </listitem> |
| 304 | + |
266 | 305 | <listitem>
|
267 | 306 | <para>
|
268 | 307 | Speed up planning when there are many equality conditions and many
|
|