CVE-2024-4317 PostgreSQL pg_stats_ext and pg_stats_ext_exprs lack authorization checks

Low 3.1 Published Updated

Unprivileged users can read sensitive statistics from other users' data due to missing authorization checks in PostgreSQL views.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2024-4317?

CVE-2024-4317 is a low-severity missing authorization vulnerability in Postgresql Postgresql, published on 9 May 2024. Any signed-in user can exploit it over the network, with no action from the victim.

Official description

Missing authorization in PostgreSQL built-in views pg_stats_ext and pg_stats_ext_exprs allows an unprivileged database user to read most common values and other statistics from CREATE STATISTICS commands of other users. The most common values may reveal column values the eavesdropper could not otherwise read or results of functions they cannot execute. Installing an unaffected version only fixes fresh PostgreSQL installations, namely those that are created with the initdb utility after installing that version. Current PostgreSQL installations will remain vulnerable until they follow the instructions in the release notes. Within major versions 14-16, minor versions before PostgreSQL 16.3, 15.7, and 14.12 are affected. Versions before PostgreSQL 14 are unaffected.

Weakness: CWE-862

Which versions are affected by CVE-2024-4317?

1 open source package ship an affected version, including postgresql. It affects 1 product.

PackageAffectedFixed in
postgresql BitnamiFrom 14.0.014.12.0, 15.7.0, 16.3.0
Linux distribution packages (32)
postgresql15 SUSE:Linux Enterprise Module for Basesystem 15 SP5All versions15.7-150200.5.27.1
postgresql16 SUSE:Linux Enterprise Module for Basesystem 15 SP5All versions16.3-150200.5.13.1
postgresql16 SUSE:Linux Enterprise Module for Basesystem 15 SP6All versions16.2-150600.16.2.1
postgresql14 SUSE:Linux Enterprise Module for Legacy 15 SP5All versions14.12-150200.5.44.1
postgresql14 SUSE:Linux Enterprise Module for Legacy 15 SP6All versions14.12-150600.16.3.1
postgresql14 SUSE:Linux Enterprise Module for Legacy 15 SP6All versions14.12-150600.16.3.1
postgresql15 SUSE:Linux Enterprise Module for Legacy 15 SP6All versions15.7-150600.16.3.1
postgresql14 SUSE:Linux Enterprise Module for Package Hub 15 SP5All versions14.12-150200.5.44.1
postgresql16 SUSE:Linux Enterprise Module for Package Hub 15 SP5All versions16.3-150200.5.13.1
postgresql14 SUSE:Linux Enterprise Module for Package Hub 15 SP6All versions14.12-150600.16.3.1
postgresql15 SUSE:Linux Enterprise Module for Server Applications 15 SP5All versions15.7-150200.5.27.1
postgresql16 SUSE:Linux Enterprise Module for Server Applications 15 SP5All versions16.3-150200.5.13.1
postgresql16 SUSE:Linux Enterprise Module for Server Applications 15 SP6All versions16.2-150600.16.2.1
postgresql14 SUSE:Linux Enterprise Server 12 SP5All versions14.12-3.41.1
postgresql15 SUSE:Linux Enterprise Server 12 SP5All versions15.7-3.25.1
postgresql16 SUSE:Linux Enterprise Server 12 SP5All versions16.3-3.13.1
postgresql14 SUSE:Linux Enterprise Server for SAP Applications 12 SP5All versions14.12-3.41.1
postgresql15 SUSE:Linux Enterprise Server for SAP Applications 12 SP5All versions15.7-3.25.1
postgresql16 SUSE:Linux Enterprise Server for SAP Applications 12 SP5All versions16.3-3.13.1
postgresql14 SUSE:Linux Enterprise Software Development Kit 12 SP5All versions14.12-3.41.1
postgresql15 SUSE:Linux Enterprise Software Development Kit 12 SP5All versions15.7-3.25.1
postgresql16 SUSE:Linux Enterprise Software Development Kit 12 SP5All versions16.3-3.13.1
postgresql14 openSUSE:Leap 15.5All versions14.12-150200.5.44.1
postgresql15 openSUSE:Leap 15.5All versions15.7-150200.5.27.1
postgresql16 openSUSE:Leap 15.5All versions16.3-150200.5.13.1
postgresql16-mini openSUSE:Leap 15.5All versions16.3-150200.5.13.1
postgresql14 openSUSE:Leap 15.6All versions14.12-150600.16.3.1
postgresql15 openSUSE:Leap 15.6All versions15.7-150600.16.3.1
postgresql16 openSUSE:Leap 15.6All versions16.2-150600.16.2.1
postgresql14 openSUSE:TumbleweedAll versions14.12-1.1
postgresql15 openSUSE:TumbleweedAll versions15.7-1.1
postgresql16 openSUSE:TumbleweedAll versions16.3-1.1

Products include Postgresql Postgresql.

How do I fix CVE-2024-4317?

Upgrade postgresql to a fixed version for your release line: 14.12.0, 15.7.0 or 16.3.0.

Upgrade, and check permissions on every request on the server, not only in the interface. More about Missing authorization.

Is CVE-2024-4317 being exploited?

There is no known exploitation of CVE-2024-4317 in the wild and no public exploit code.

All Postgresql Postgresql vulnerabilities

Sources

Also known as AZL-40654, BELL-CVE-2024-4317, BIT-postgresql-2024-4317, DEBIAN-CVE-2024-4317, ECHO-dd9c-b422-c001, GHSA-37xw-rpjg-xxfx and 19 more.

Is CVE-2024-4317 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free