CVE-2020-25696 json
A flaw was found in the psql interactive terminal of PostgreSQL in versions before 13.1, before 12.5, before 11.10, before 10.15, before 9.…
published 5y ago modified 2mo ago also BIT-postgresql-2020-25696 , EUVD-2020-18357 , JLSEC-2026-28
- cvss
- 7.5
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 2.7%
- EPSS 2.7% chance of exploitation in 30 days, percentile 86%
- public exploits
- 0
- none known
Summary
A flaw was found in the psql interactive terminal of PostgreSQL in versions before 13.1, before 12.5, before 11.10, before 10.15, before 9.6.20 and before 9.5.24. If an interactive psql session uses \gset when querying a compromised server, the attacker can execute arbitrary code as the operating system account running psql. The highest threat from this vulnerability is to data confidentiality and integrity as well as system availability.
Patch / fix
- bitnami postgresql 9.5.24, 9.6.20, 10.15.0, 11.10.0, 12.5.0, 13.1.0
- julia LibPQ_jll 14.1.0+0
- postgresql postgresql 9.5.24, 9.6.20, 10.15, 11.10, 12.5, 13.1
- postgresql-13 Debian 11 13.1-1
debian advisories DEBIAN-CVE-2020-25696
- postgresql-10 Ubuntu 18.04 LTS 10.15-0ubuntu0.18.04.1
- postgresql-12 Ubuntu 20.04 LTS 12.5-0ubuntu0.20.04.1
- postgresql-9.5 Ubuntu 16.04 LTS 9.5.24-0ubuntu0.16.04.1
ubuntu advisories UBUNTU-CVE-2020-25696
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- postgresql RHEL 8 9.6.20-1.module+el8.3.0+8938+7f0e88b6
- postgresql-test RHEL 8 9.6.20-1.module+el8.3.0+8938+7f0e88b6
- postgresql-pltcl RHEL 8 9.6.20-1.module+el8.3.0+8938+7f0e88b6
- postgresql-plperl RHEL 8 9.6.20-1.module+el8.3.0+8938+7f0e88b6
- postgresql-server RHEL 8 9.6.20-1.module+el8.3.0+8938+7f0e88b6
- postgresql-contrib RHEL 8 9.6.20-1.module+el8.3.0+8938+7f0e88b6
- postgresql-plpython3 RHEL 8 9.6.20-1.module+el8.3.0+8938+7f0e88b6
- postgresql-test-rpm-macros RHEL 8 9.6.20-1.module+el8.3.0+8938+7f0e88b6
red hat advisories RHSA-2021:0167RHSA-2021:0166RHSA-2021:0164RHSA-2021:0163RHSA-2020:5661RHSA-2020:5619
- postgresql13 SLES for SAP 12 SP5, SLES for SAP 12 SP4, SLES for SAP 12 SP3 +15 more 13.1-3.3.1
- postgresql SLES for SAP 12 SP5, SLES for SAP 12 SP4, SLES for SAP 12 SP3 +15 more 13-4.7.1
- postgresql12 SLES for SAP 12 SP5, SLES 12 SP5, SLE Software Development Kit 12 SP5 12.5-3.12.3
- postgresql13 SLE Module for Server Applications 15 SP2, SLE Module for Package Hub 15 SP2, SLE Module for Basesystem 15 SP2 13.1-5.3.15
- postgresql SLE Module for Server Applications 15 SP2, SLE Module for Package Hub 15 SP2, SLE Module for Basesystem 15 SP2 13-4.6.7
- postgresql12 SLES for SAP 12 SP5, SLES for SAP 12 SP4, SLES for SAP 12 SP3 +15 more 12.5-3.9.3
- postgresql10 SLES for SAP 12 SP5, SLES for SAP 12 SP4, SLES for SAP 12 SP3 +15 more 10.15-4.9.1
- postgresql96 SLES for SAP 12 SP3, SLES for SAP 12 SP2, SLES 12 SP3-LTSS +8 more 9.6.20-6.8.1
suse advisories SUSE-SU-2021:0217-1SUSE-SU-2021:0175-1SUSE-SU-2020:3630-1SUSE-SU-2020:3464-1SUSE-SU-2020:3477-1SUSE-SU-2020:3476-1
- postgresql17 openSUSE Tumbleweed 17.6-2.1
- postgresql16 openSUSE Tumbleweed 16.4-1.1
- postgresql10 openSUSE Tumbleweed 10.18-1.3
- postgresql11 openSUSE Tumbleweed 11.13-1.3
- postgresql12 openSUSE Tumbleweed 12.8-1.3
- postgresql13 openSUSE Tumbleweed 13.4-1.3
- postgresql14 openSUSE Tumbleweed 14.5-2.1
- postgresql15 openSUSE Tumbleweed 15.4-2.1
opensuse advisories openSUSE-SU-2025:15580-1openSUSE-SU-2024:14360-1openSUSE-SU-2024:11184-1openSUSE-SU-2024:11185-1openSUSE-SU-2024:11186-1openSUSE-SU-2024:11187-1
- postgres-decoderbufs AlmaLinux 8 0.10.0-2.module_el8.6.0+2760+1746ec94
- postgres-decoderbufs AlmaLinux 8 0.10.0-2.module_el8.6.0+2758+4f4474df
almalinux advisories ALSA-2020:5620
- pgaudit Rocky Linux 8 1.4.0-4.module+el8.4.0+545+ca56da2e
- postgres-decoderbufs Rocky Linux 8 0.10.0-2.module+el8.5.0+684+c3892ef9
- postgres-decoderbufs Rocky Linux 8 0.10.0-2.module+el8.4.0+424+71d47d9a
rocky linux advisories RLSA-2020:5620
- postgresql Alpine 3.10, Alpine 3.9 11.10-r0
- postgresql Alpine 3.14, Alpine 3.13, Alpine 3.12 +1 more 12.5-r0
- postgresql12 Alpine 3.18, Alpine 3.17, Alpine 3.16 +1 more 12.5-r0
- postgresql14 Alpine 3.20, Alpine 3.19, Alpine 3.18 +3 more 12.5-r0
- postgresql15 Alpine 3.20, Alpine 3.19, Alpine 3.18 +1 more 12.5-r0
alpine advisories ALPINE-CVE-2020-25696
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- postgresql Arch Linux 12.5-1
arch linux advisories AVG-1276
Is CVE-2020-25696 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2020-25696 updated cvss 7.5
postgresql: psql's \gset allows overwriting specially treated variables
-
Red Hat Enterprise Linux 5 postgresql, postgresql84 Red Hat Enterprise Linux 6 postgresql, postgresql-libs, postgresql-test, postgresql-pltcl, postgresql-plperl, postgresql-server, +2 more Red Hat Enterprise Linux 7 postgresql, postgresql-libs, postgresql-test, postgresql-pltcl, postgresql-plperl, postgresql-server, +3 more Red Hat Storage 3 postgresqlaffected: workaround, no fix planned “Using \gset with a prefix not found among specially treated variables, e.g. any lowercase string, precludes the attack in an unpatched psql.”
-
Red Hat Enterprise Linux AppStream (v. 8) libpq 12.5-1.el8_3, pgaudit 1.4.0-4.module+el8.3.0+9042+664538f4, postgresql 12.5-1.module+el8.3.0+9042+664538f4, postgresql 10.15-1.module+el8.3.0+8944+1ca16b1f, postgresql 9.6.20-1.module+el8.3.0+8938+7f0e88b6, postgresql-test 12.5-1.module+el8.3.0+9042+664538f4, +23 morefixed: vendor fix “Using \gset with a prefix not found among specially treated variables, e.g. any lowercase string, precludes the attack in an unpatched psql.” RHSA-2020:5401
-
Red Hat Enterprise Linux AppStream E4S (v. 8.0) libpq 12.5-1.el8_0, postgresql 10.15-1.module+el8.0.0+9155+4a85661a, postgresql 9.6.20-1.module+el8.0.0+9157+356b8def, postgresql-test 10.15-1.module+el8.0.0+9155+4a85661a, postgresql-pltcl 10.15-1.module+el8.0.0+9155+4a85661a, postgresql-test 9.6.20-1.module+el8.0.0+9157+356b8def, +12 morefixed: vendor fix “Using \gset with a prefix not found among specially treated variables, e.g. any lowercase string, precludes the attack in an unpatched psql.” RHSA-2020:5638
-
Red Hat Enterprise Linux AppStream EUS (v. 8.1) libpq 12.5-2.el8_1, postgresql 10.15-1.module+el8.1.0+9154+cd474635, postgresql 9.6.20-1.module+el8.1.0+9156+8ff1384f, postgresql-test 10.15-1.module+el8.1.0+9154+cd474635, postgresql-pltcl 10.15-1.module+el8.1.0+9154+cd474635, postgresql-test 9.6.20-1.module+el8.1.0+9156+8ff1384f, +12 morefixed: vendor fix “Using \gset with a prefix not found among specially treated variables, e.g. any lowercase string, precludes the attack in an unpatched psql.” RHSA-2021:0165
-
Red Hat Enterprise Linux AppStream EUS (v. 8.2) libpq 12.5-1.el8_2, pgaudit 1.4.0-4.module+el8.2.0+9043+1dbb5661, postgresql 12.5-1.module+el8.2.0+9043+1dbb5661, postgresql 10.15-1.module+el8.2.0+8945+21c7d5de, postgresql 9.6.20-1.module+el8.2.0+8939+9a3b4b64, postgresql-test 12.5-1.module+el8.2.0+9043+1dbb5661, +23 morefixed: vendor fix “Using \gset with a prefix not found among specially treated variables, e.g. any lowercase string, precludes the attack in an unpatched psql.” RHSA-2021:0057
-
Red Hat Software Collections for Red Hat Enterprise Linux Server (v. 7) rh-postgresql12-postgresql 12.5-1.el7, rh-postgresql10-postgresql 10.15-1.el7, rh-postgresql12-postgresql-libs 12.5-1.el7, rh-postgresql12-postgresql-test 12.5-1.el7, rh-postgresql10-postgresql-libs 10.15-1.el7, rh-postgresql10-postgresql-test 10.15-1.el7, +16 more Red Hat Software Collections for Red Hat Enterprise Linux Server EUS (v. 7.6) rh-postgresql12-postgresql 12.5-1.el7, rh-postgresql10-postgresql 10.15-1.el7, rh-postgresql12-postgresql-libs 12.5-1.el7, rh-postgresql12-postgresql-test 12.5-1.el7, rh-postgresql10-postgresql-libs 10.15-1.el7, rh-postgresql10-postgresql-test 10.15-1.el7, +16 more Red Hat Software Collections for Red Hat Enterprise Linux Server EUS (v. 7.7) rh-postgresql12-postgresql 12.5-1.el7, rh-postgresql10-postgresql 10.15-1.el7, rh-postgresql12-postgresql-libs 12.5-1.el7, rh-postgresql12-postgresql-test 12.5-1.el7, rh-postgresql10-postgresql-libs 10.15-1.el7, rh-postgresql10-postgresql-test 10.15-1.el7, +16 more Red Hat Software Collections for Red Hat Enterprise Linux Workstation (v. 7) rh-postgresql12-postgresql 12.5-1.el7, rh-postgresql10-postgresql 10.15-1.el7, rh-postgresql12-postgresql-libs 12.5-1.el7, rh-postgresql12-postgresql-test 12.5-1.el7, rh-postgresql10-postgresql-libs 10.15-1.el7, rh-postgresql10-postgresql-test 10.15-1.el7, +16 morefixed: vendor fix “Using \gset with a prefix not found among specially treated variables, e.g. any lowercase string, precludes the attack in an unpatched psql.” RHSA-2020:5316
-
Red Hat build of Quarkus postgresql Red Hat Decision Manager 7 postgresql Red Hat Enterprise Linux 9 postgresql, postgresql-test, postgresql-pltcl, postgresql-plperl, postgresql-server, postgresql-contrib, +4 more Red Hat Fuse 7 postgresql Red Hat JBoss Enterprise Application Platform 6 postgresql Red Hat JBoss Enterprise Application Platform 7 postgresqlnot affected: vulnerable code not present
+1 more productsfewer
Red Hat Process Automation 7 postgresql
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
2.70% chance of exploitation in the next 30 days, higher than 86% of all scored CVEs (FIRST EPSS, 2026-11-09).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H |
| NVD | 2.0 | 7.6 | AV:N/AC:H/Au:N/C:C/I:C/A:C |
| OSV | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| bitnami | postgresql | >=9.5.0, <9.5.24 >=9.6.0, <9.6.20 >=10.0.0, <10.15.0 >=11.0.0, <11.10.0 >=12.0.0, <12.5.0 >=13.0.0, <13.1.0 |
9.5.24 9.6.20 10.15.0 11.10.0 12.5.0 13.1.0 |
| julia | LibPQ_jll | <14.1.0+0 |
14.1.0+0 |
Affected products
- n/a PostgreSQL
Classification
- Weakness
- Technology feeds
References
-
bugzilla.redhat.com
/show_bug.cgi?id=1894430
issue-tracking, patch, third-party-advisory, advisory, web
-
security.gentoo.org
/glsa/202012-07
vendor-advisory, third-party-advisory, advisory, web
-
postgresql.org
/about/news/postgresql-131-125-1110-1015-9620-and-9524-released-2111/
release-notes, vendor-advisory, advisory, web
-
lists.debian.org
/debian-lts-announce/2020/12/msg00005.html
mailing-list, third-party-advisory, advisory, web
-
nvd.nist.gov
/vuln/detail/CVE-2020-25696
web
Sources
- CVE List CVE-2020-25696
- NVD CVE-2020-25696
- OSV BIT-postgresql-2020-25696
- OSV JLSEC-2026-28
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.