PostgreSQL: Privilege Escalation — GLSA 202409-02

A vulnerability has been discovered in PostgreSQL, which can lead to privilege escalation.

Affected packages

dev-db/postgresql on all architectures
Affected versions < 12.20
< 13.16
< 14.13
< 15.8
< 16.4
Unaffected versions >= 12.20
>= 13.16
>= 14.13
>= 15.8
>= 16.4

Background

PostgreSQL is an open source object-relational database management system.

Description

A vulnerability has been discovered in PostgreSQL. Please review the CVE identifier referenced below for details.

Impact

An attacker able to create and drop non-temporary objects could inject SQL code that would be executed by a concurrent pg_dump session with the privileges of the role running pg_dump (which is often a superuser). The attack involves replacing a sequence or similar object with a view or foreign table that will execute malicious code. To prevent this, introduce a new server parameter restrict_nonsystem_relation_kind that can disable expansion of non-builtin views as well as access to foreign tables, and teach pg_dump to set it when available. Note that the attack is prevented only if both pg_dump and the server it is dumping from are new enough to have this fix.

Workaround

There is no known workaround at this time.

Resolution

All PostgreSQL users should upgrade to the latest version:

 # emerge --sync
 # emerge --ask --oneshot --verbose ">=dev-db/postgresql-12.20:12"
 # emerge --ask --oneshot --verbose ">=dev-db/postgresql-13.16:13"
 # emerge --ask --oneshot --verbose ">=dev-db/postgresql-14.13:14"
 # emerge --ask --oneshot --verbose ">=dev-db/postgresql-15.8:15"
 # emerge --ask --oneshot --verbose ">=dev-db/postgresql-16.4:16"
 

References

Release date
September 22, 2024

Latest revision
September 22, 2024: 1

Severity
high

Exploitable
local and remote

Bugzilla entries