CVE-2017-12172 - Improper Link Resolution Before File Access ('Link Following')

Severity

72%

Complexity

39%

Confidentiality

165%

PostgreSQL 10.x before 10.1, 9.6.x before 9.6.6, 9.5.x before 9.5.10, 9.4.x before 9.4.15, 9.3.x before 9.3.20, and 9.2.x before 9.2.24 runs under a non-root operating system account, and database superusers have effective ability to run arbitrary code under that system account. PostgreSQL provides a script for starting the database server during system boot. Packages of PostgreSQL for many operating systems provide their own, packager-authored startup implementations. Several implementations use a log file name that the database superuser can replace with a symbolic link. As root, they open(), chmod() and/or chown() this log file name. This often suffices for the database superuser to escalate to root privileges when root starts the server.

PostgreSQL 10.x before 10.1, 9.6.x before 9.6.6, 9.5.x before 9.5.10, 9.4.x before 9.4.15, 9.3.x before 9.3.20, and 9.2.x before 9.2.24 runs under a non-root operating system account, and database superusers have effective ability to run arbitrary code under that system account. PostgreSQL provides a script for starting the database server during system boot. Packages of PostgreSQL for many operating systems provide their own, packager-authored startup implementations. Several implementations use a log file name that the database superuser can replace with a symbolic link. As root, they open(), chmod() and/or chown() this log file name. This often suffices for the database superuser to escalate to root privileges when root starts the server.

CVSS 3.0 Base Score 6.7. CVSS Attack Vector: local. CVSS Attack Complexity: low. CVSS Vector: (CVSS:3.0/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H).

CVSS 2.0 Base Score 7.2. CVSS Attack Vector: local. CVSS Attack Complexity: low. CVSS Vector: (AV:L/AC:L/Au:N/C:C/I:C/A:C).

Overview

Type

PostgreSQL

First reported 7 years ago

2017-11-22 19:29:00

Last updated 5 years ago

2019-10-09 23:22:00

Affected Software

PostgreSQL 9.2

9.2

PostgreSQL 9.2.1

9.2.1

PostgreSQL 9.2.2

9.2.2

PostgreSQL PostgreSQL 9.2.3

9.2.3

PostgreSQL PostgreSQL 9.2.4

9.2.4

PostgreSQL PostgreSQL 9.2.5

9.2.5

PostgreSQL PostgreSQL 9.2.6

9.2.6

PostgreSQL PostgreSQL 9.2.7

9.2.7

PostgreSQL 9.2.8

9.2.8

PostgreSQL 9.2.9

9.2.9

PostgreSQL 9.2.10

9.2.10

PostgreSQL 9.2.11

9.2.11

PostgreSQL 9.2.12

9.2.12

PostgreSQL 9.2.13

9.2.13

PostgreSQL PostgreSQL 9.2.14

9.2.14

PostgreSQL 9.2.15

9.2.15

PostgreSQL 9.2.16

9.2.16

PostgreSQL 9.2.17

9.2.17

PostgreSQL 9.2.18

9.2.18

PostgreSQL 9.2.19

9.2.19

PostgreSQL 9.2.20

9.2.20

PostgreSQL 9.2.21

9.2.21

PostgreSQL 9.2.22

9.2.22

PostgreSQL 9.2.23

9.2.23

PostgreSQL PostgreSQL 9.3

9.3

PostgreSQL PostgreSQL 9.3.1

9.3.1

PostgreSQL PostgreSQL 9.3.2

9.3.2

PostgreSQL PostgreSQL 9.3.3

9.3.3

PostgreSQL 9.3.4

9.3.4

PostgreSQL 9.3.5

9.3.5

PostgreSQL 9.3.6

9.3.6

PostgreSQL 9.3.7

9.3.7

PostgreSQL 9.3.8

9.3.8

PostgreSQL 9.3.9

9.3.9

PostgreSQL 9.3.10

9.3.10

PostgreSQL 9.3.11

9.3.11

PostgreSQL 9.3.12

9.3.12

PostgreSQL 9.3.13

9.3.13

PostgreSQL 9.3.14

9.3.14

PostgreSQL 9.3.15

9.3.15

PostgreSQL 9.3.16

9.3.16

PostgreSQL 9.3.17

9.3.17

PostgreSQL 9.3.18

9.3.18

PostgreSQL 9.3.19

9.3.19

PostgreSQL PostgreSQL 9.4

9.4

PostgreSQL 9.4.1

9.4.1

PostgreSQL 9.4.2

9.4.2

PostgreSQL 9.4.3

9.4.3

PostgreSQL 9.4.4

9.4.4

PostgreSQL PostgreSQL 9.4.5

9.4.5

PostgreSQL 9.4.6

9.4.6

PostgreSQL 9.4.7

9.4.7

PostgreSQL 9.4.8

9.4.8

PostgreSQL 9.4.9

9.4.9

PostgreSQL 9.4.10

9.4.10

PostgreSQL 9.4.11

9.4.11

PostgreSQL 9.4.12

9.4.12

PostgreSQL 9.4.13

9.4.13

PostgreSQL 9.4.14

9.4.14

PostgreSQL PostgreSQL 9.5

9.5

PostgreSQL 9.5.1

9.5.1

PostgreSQL 9.5.2

9.5.2

PostgreSQL 9.5.3

9.5.3

PostgreSQL 9.5.4

9.5.4

PostgreSQL 9.5.5

9.5.5

PostgreSQL 9.5.6

9.5.6

PostgreSQL 9.5.7

9.5.7

PostgreSQL 9.5.8

9.5.8

PostgreSQL 9.5.9

9.5.9

PostgreSQL 9.6

9.6

PostgreSQL 9.6.1

9.6.1

PostgreSQL 9.6.2

9.6.2

PostgreSQL 9.6.3

9.6.3

PostgreSQL 9.6.4

9.6.4

PostgreSQL 9.6.5

9.6.5

Stay updated

ExploitPedia is constantly evolving. Sign up to receive a notification when we release additional functionality.

Get in touch

If you'd like to report a bug or have any suggestions for improvements then please do get in touch with us using this form. We will get back to you as soon as we can.