CVE-2018-10925: High severity Canonical Ubuntu Linux vulnerability
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.
Other sources
PostgreSQL before versions 10.5, 9.6.10, 9.5.14, 9.4.19, and 9.3.24 do not properly authorize certain statements. A attacker able to issue CREATE TABLE can read arbitrary bytes of server memory using INSERT ... ON CONFLICT DO UPDATE. By default, any user can exploit that. If such an attacker also has certain INSERT privileges and has UPDATE privilege on at least one column of a given table, a data integrity attack is possible. The attacker can update other columns, for which the attacker lacks UPDATE privilege.
— Red Hat
Affected Software
Remediation
Patch Available
Event History
Frequently Asked Questions
What is CVE-2018-10925?
CVE-2018-10925 is a vulnerability in PostgreSQL versions before 10.5, 9.6.10, 9.5.14, 9.4.19, and 9.3.24 that failed to properly check authorization on certain statements involved with "INSERT ... ON CONFLICT DO UPDATE".
How does CVE-2018-10925 affect PostgreSQL?
CVE-2018-10925 allows an attacker with "CREATE TABLE" privileges to read arbitrary bytes from the server memory.
What is the severity of CVE-2018-10925?
The severity of CVE-2018-10925 is high, with a severity value of 8.1.
Which versions of PostgreSQL are affected by CVE-2018-10925?
PostgreSQL versions before 10.5, 9.6.10, 9.5.14, 9.4.19, and 9.3.24 are affected by CVE-2018-10925.
How can I fix CVE-2018-10925 in PostgreSQL?
To fix CVE-2018-10925, upgrade to PostgreSQL version 10.5, 9.6.10, 9.5.14, 9.4.19, or 9.3.24.