// For flags

CVE-2017-15099

postgresql: INSERT ... ON CONFLICT DO UPDATE fails to enforce SELECT privileges

Severity Score

6.5
*CVSS v3

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

1
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

-
*SSVC
Descriptions

INSERT ... ON CONFLICT DO UPDATE commands in PostgreSQL 10.x before 10.1, 9.6.x before 9.6.6, and 9.5.x before 9.5.10 disclose table contents that the invoker lacks privilege to read. These exploits affect only tables where the attacker lacks full read access but has both INSERT and UPDATE privileges. Exploits bypass row level security policies and lack of SELECT privilege.

Los comandos INSERT ... ON CONFLICT DO UPDATE en PostgreSQL en versiones 10.x anteriores a la 10.1, las versiones 9.6.x anteriores a la 9.6.6 y las versiones 9.5.x anteriores a la 9.5.10 revelan el contenido de la tabla y quien invoca estos comandos puede leerla, aunque no tiene privilegios de lectura para ello. Estos exploits solo afectan a tablas en las que el atacante no tiene acceso total de lectura, pero sí privilegios INSERT y UPDATE. Los exploits omiten las políticas de seguridad a nivel de filas y la falta de privilegios SELECT.

*Credits: N/A
CVSS Scores
Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None
Attack Vector
Network
Attack Complexity
High
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
None
Attack Vector
Network
Attack Complexity
Low
Authentication
Single
Confidentiality
Partial
Integrity
None
Availability
None
* Common Vulnerability Scoring System
SSVC
  • Decision:-
Exploitation
-
Automatable
-
Tech. Impact
-
* Organization's Worst-case Scenario
Timeline
  • 2017-10-08 CVE Reserved
  • 2017-11-09 CVE Published
  • 2024-07-09 First Exploit
  • 2024-07-10 EPSS Updated
  • 2024-09-16 CVE Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
CWE
  • CWE-200: Exposure of Sensitive Information to an Unauthorized Actor
CAPEC
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
Postgresql
Search vendor "Postgresql"
Postgresql
Search vendor "Postgresql" for product "Postgresql"
9.5
Search vendor "Postgresql" for product "Postgresql" and version "9.5"
-
Affected
Postgresql
Search vendor "Postgresql"
Postgresql
Search vendor "Postgresql" for product "Postgresql"
9.5.1
Search vendor "Postgresql" for product "Postgresql" and version "9.5.1"
-
Affected
Postgresql
Search vendor "Postgresql"
Postgresql
Search vendor "Postgresql" for product "Postgresql"
9.5.2
Search vendor "Postgresql" for product "Postgresql" and version "9.5.2"
-
Affected
Postgresql
Search vendor "Postgresql"
Postgresql
Search vendor "Postgresql" for product "Postgresql"
9.5.3
Search vendor "Postgresql" for product "Postgresql" and version "9.5.3"
-
Affected
Postgresql
Search vendor "Postgresql"
Postgresql
Search vendor "Postgresql" for product "Postgresql"
9.5.4
Search vendor "Postgresql" for product "Postgresql" and version "9.5.4"
-
Affected
Postgresql
Search vendor "Postgresql"
Postgresql
Search vendor "Postgresql" for product "Postgresql"
9.5.5
Search vendor "Postgresql" for product "Postgresql" and version "9.5.5"
-
Affected
Postgresql
Search vendor "Postgresql"
Postgresql
Search vendor "Postgresql" for product "Postgresql"
9.5.6
Search vendor "Postgresql" for product "Postgresql" and version "9.5.6"
-
Affected
Postgresql
Search vendor "Postgresql"
Postgresql
Search vendor "Postgresql" for product "Postgresql"
9.5.7
Search vendor "Postgresql" for product "Postgresql" and version "9.5.7"
-
Affected
Postgresql
Search vendor "Postgresql"
Postgresql
Search vendor "Postgresql" for product "Postgresql"
9.5.8
Search vendor "Postgresql" for product "Postgresql" and version "9.5.8"
-
Affected
Postgresql
Search vendor "Postgresql"
Postgresql
Search vendor "Postgresql" for product "Postgresql"
9.5.9
Search vendor "Postgresql" for product "Postgresql" and version "9.5.9"
-
Affected
Postgresql
Search vendor "Postgresql"
Postgresql
Search vendor "Postgresql" for product "Postgresql"
9.6
Search vendor "Postgresql" for product "Postgresql" and version "9.6"
-
Affected
Postgresql
Search vendor "Postgresql"
Postgresql
Search vendor "Postgresql" for product "Postgresql"
9.6.1
Search vendor "Postgresql" for product "Postgresql" and version "9.6.1"
-
Affected
Postgresql
Search vendor "Postgresql"
Postgresql
Search vendor "Postgresql" for product "Postgresql"
9.6.2
Search vendor "Postgresql" for product "Postgresql" and version "9.6.2"
-
Affected
Postgresql
Search vendor "Postgresql"
Postgresql
Search vendor "Postgresql" for product "Postgresql"
9.6.3
Search vendor "Postgresql" for product "Postgresql" and version "9.6.3"
-
Affected
Postgresql
Search vendor "Postgresql"
Postgresql
Search vendor "Postgresql" for product "Postgresql"
9.6.4
Search vendor "Postgresql" for product "Postgresql" and version "9.6.4"
-
Affected
Postgresql
Search vendor "Postgresql"
Postgresql
Search vendor "Postgresql" for product "Postgresql"
9.6.5
Search vendor "Postgresql" for product "Postgresql" and version "9.6.5"
-
Affected
Postgresql
Search vendor "Postgresql"
Postgresql
Search vendor "Postgresql" for product "Postgresql"
10.0
Search vendor "Postgresql" for product "Postgresql" and version "10.0"
-
Affected
Debian
Search vendor "Debian"
Debian Linux
Search vendor "Debian" for product "Debian Linux"
9.0
Search vendor "Debian" for product "Debian Linux" and version "9.0"
-
Affected