|Description||It was discovered that PostgreSQL versions before 10.5, 9.6.10, 9.5.14, 9.4.19, and 9.3.24 failed to properly check authorization on certain statements involved with "INSERT ... ON CONFLICT DO UPDATE". An attacker with "CREATE TABLE" privileges could exploit this to read arbitrary bytes server memory. If the attacker also had certain "INSERT" and limited "UPDATE" privileges to a particular table, they could exploit this to update other columns in the same table.|
|Source||CVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)|
The information below is based on the following data on fixed versions.
- postgresql-9.4 <not-affected> (Only affects PostgreSQL 9.5 onwards)
- postgresql-9.1 <not-affected> (Only affects PostgreSQL 9.5 onwards)
Fixed in 9.5.14, 9.6.10, 10.5