PostgreSQL security fix timeline
Public commits from postgres/postgres whose messages cite a vulnerability or a security fix. Patch text is not stored.
58 security-fix timeline events
Apr 8, 2026
Remove RADIUS support.
Remove RADIUS support. Our RADIUS implementation supported only the deprecated RADIUS/UDP variant, without the recommended Message-Authenticator attribute to mitigate against the Blast-RADIUS vulnerability. By now, popular RADIUS servers are expected to generate loud warnings…
Mar 13, 2026
libpq-oauth: Never link against libpq's encoding functions
libpq-oauth: Never link against libpq's encoding functions Now that libpq-oauth doesn't have to match the major version of libpq, some things in pg_wchar.h are technically unsafe for us to use. (See b6c7cfac8 for a fuller discussion.) This is unlikely to be a problem -- we only…
Feb 9, 2026 · CVE-2026-2004
Harden _int_matchsel() against being attached to the wrong operator.
Harden _int_matchsel() against being attached to the wrong operator. While the preceding commit prevented such attachments from occurring in future, this one aims to prevent further abuse of any already- created operator that exposes _int_matchsel to the wrong data types. (No o…
Nov 10, 2025 · CVE-2025-12817
Check for CREATE privilege on the schema in CREATE STATISTICS.
Check for CREATE privilege on the schema in CREATE STATISTICS. This omission allowed table owners to create statistics in any schema, potentially leading to unexpected naming conflicts. For ALTER TABLE commands that require re-creating statistics objects, skip this check in ca…
Nov 10, 2025 · CVE-2025-12818
libpq: Prevent some overflows of int/size_t
libpq: Prevent some overflows of int/size_t Several functions could overflow their size calculations, when presented with very large inputs from remote and/or untrusted locations, and then allocate buffers that were too small to hold the intended contents. Switch from int to s…
Aug 11, 2025 · CVE-2017-7484
Fix security checks in selectivity estimation functions.
Fix security checks in selectivity estimation functions. Commit e2d4ef8de86 (the fix for CVE-2017-7484) added security checks to the selectivity estimation functions to prevent them from running user-supplied operators on data obtained from pg_statistic if the user lacks privil…
Aug 11, 2025 · CVE-2025-8714
Restrict psql meta-commands in plain-text dumps.
Restrict psql meta-commands in plain-text dumps. A malicious server could inject psql meta-commands into plain-text dump output (i.e., scripts created with pg_dump --format=plain, pg_dumpall, or pg_restore --file) that are run at restore time on the machine running psql. To fi…
Aug 11, 2025 · CVE-2012-0868
Convert newlines to spaces in names written in v11+ pg_dump comments.
Convert newlines to spaces in names written in v11+ pg_dump comments. Maliciously-crafted object names could achieve SQL injection during restore. CVE-2012-0868 fixed this class of problem at the time, but later work reintroduced three cases. Commit bc8cd50fefd369b217f8007858…
Jun 25, 2025 · CVE-2024-7348
Restrict virtual columns to use built-in functions and types
Restrict virtual columns to use built-in functions and types Just like selecting from a view is exploitable (CVE-2024-7348), selecting from a table with virtual generated columns is exploitable. Users who are concerned about this can avoid selecting from views, but telling them…
May 5, 2025 · CVE-2025-4207
Refactor test_escape.c for additional ways of testing.
Refactor test_escape.c for additional ways of testing. Start the file with static functions not specific to pe_test_vectors tests. This way, new tests can use them without disrupting the file's layout. Change report_result() PQExpBuffer arguments to plain strings. Back-patch…