Skip to content
Fencer Vulns
high 7.5

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 2020-11-23 5 y ago modified 2026-09-08 2 mo 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

Vendor 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 postgresql
    affected: 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 more
    fixed: 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 more
    fixed: 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 more
    fixed: 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 more
    fixed: 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 more
    fixed: 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 postgresql
    +1 more products
    Red Hat Process Automation 7 postgresql
    not affected: vulnerable code not present

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-08).

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
  • CWE-183 Permissive List of Allowed Inputs
  • CWE-697 Incorrect Comparison
Technology feeds

References

Sources

Fencer Vulns 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.