agora inbox for pgsql-committers@postgresql.org
help / color / mirror / Atom feedFrom: Noah Misch <noah@leadboat.com>
To: pgsql-committers@lists.postgresql.org
Subject: pgsql: Fix errorhandling for PGP encryption
Date: Mon, 10 Aug 2026 13:41:30 +0000
Message-ID: <E1wtQFt-00000000yHd-4A8D@gemulon.postgresql.org> (raw)
Fix errorhandling for PGP encryption
PGP encryption was using px_cipher_encrypt without checking if any
error was returned. When OpenSSL is running in FIPS mode, or when
the legacy provider hasn't been loaded, not all ciphers which are
supported by the PGP code are available and fail the init step in
px_cipher_encrypt. Since the PGP encryption failed to notice this
it XORed the non-encrypted block with the plaintext, effectively
disabling the encryption.
This was found due to a report of PGP encryption not respecting
the pgcrypto.builtin_crypto_enabled flag and allowing Blowfish
and DES. This however turned out to be a false positive, since
the PGP code only use ciphers from OpenSSL and not the built in
ciphers.
Bug: #19457
Reported-by: Shishir Sharma <ansh01072001@gmail.com>
Reviewed-by: Jacob Champion <jacob.champion@enterprisedb.com>
Discussion: https://postgr.es/m/19457-4bab15c17aea36c7@postgresql.org
Security: CVE-2026-14663
Backpatch-through: 14
Branch
------
REL_16_STABLE
Details
-------
https://git.postgresql.org/pg/commitdiff/6ca6023ca0d94f94c4a30c5a23a5daec8b8882b0
Author: Daniel Gustafsson <dgustafsson@postgresql.org>
Modified Files
--------------
contrib/pgcrypto/expected/pgp-decrypt_1.out | 2 +-
contrib/pgcrypto/expected/pgp-encrypt_1.out | 200 +++++++++++++++++++++
contrib/pgcrypto/expected/pgp-pubkey-decrypt_1.out | 2 +-
contrib/pgcrypto/pgp-cfb.c | 8 +-
4 files changed, 209 insertions(+), 3 deletions(-)
view thread (5+ messages)
Message-ID: <E1wtQFt-00000000yHd-4A8D@gemulon.postgresql.org>
Permalink: ../E1wtQFt-00000000yHd-4A8D@gemulon.postgresql.org/
Also on: postgresql.org/message-id/E1wtQFt-00000000yHd-4A8D@gemulon.postgresql.org
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-committers@postgresql.org
Cc: noah@leadboat.com, pgsql-committers@lists.postgresql.org
Subject: Re: pgsql: Fix errorhandling for PGP encryption
In-Reply-To: <E1wtQFt-00000000yHd-4A8D@gemulon.postgresql.org>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox