Description
Cleartext storage in PostgreSQL pgcrypto disabled ciphers allows a user to recover cleartext, via direct observation of the faulty ciphertext. The OpenSSL version and OpenSSL configuration determine the disabled ciphers. If the application accepts encrypted data as input, decryption will succeed even with the wrong key. This in turn loses the modest protection from the Modification Detection Code (MDC). Affected functions are pgp_sym_encrypt, pgp_sym_decrypt, pgp_pub_encrypt, pgp_pub_decrypt, pgp_sym_encrypt_bytea, pgp_sym_decrypt_bytea, pgp_pub_encrypt_bytea, and pgp_pub_decrypt_bytea. Versions before PostgreSQL 18.6, 17.11, 16.15, 15.19, and 14.24 are affected.
Published: 2026-08-13
Score: 6.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

PostgreSQL’s pgcrypto module improperly handles encryption and decryption when OpenSSL is configured to disable certain ciphers. In that scenario, data encrypted with functions such as pgp_sym_encrypt or pgp_pub_encrypt is stored in the database without real encryption, and decrypting with an incorrect key still succeeds. This defeats the intended confidentiality and the modest protection offered by the modification detection code, allowing an attacker to recover cleartext just by reading the stored data. The weakness matches CWE‑313 (Plaintext Storage or Transmission) and CWE‑345 (Improper Verification of Cryptographic Claims).

Affected Systems

Affected are PostgreSQL releases earlier than 18.6, 17.11, 16.15, 15.19, and 14.24. The vulnerable functions are pgp_sym_encrypt, pgp_sym_decrypt, pgp_pub_encrypt, pgp_pub_decrypt, pgp_sym_encrypt_bytea, pgp_sym_decrypt_bytea, pgp_pub_encrypt_bytea, and pgp_pub_decrypt_bytea, all of which can be invoked by users with sufficient database permissions in any of those versions.

Risk and Exploitability

The CVSS score of 6.5 represents moderate to high risk, while the EPSS score of less than 1% indicates a very low but not zero probability of exploitation. The vulnerability is not listed in CISA’s KEV catalog. An attacker who can run the affected pgcrypto functions, such as a privileged database user or a compromised application, can retrieve plaintext data by invoking the encryption function and then decrypting the resulting value even with an incorrect key. Because the flaw resides in the database engine, the attack does not require network exposure beyond database access and can be executed with input that passes through pgcrypto functions.

Generated by OpenCVE AI on August 30, 2026 at 00:54 UTC.

Remediation

Vendor Workaround

Use FIPS-compliant ciphers or other OpenSSL-enabled ciphers


OpenCVE Recommended Actions

  • Upgrade PostgreSQL to a non‑affected release (18.6 or later for the 18.x branch, 17.11 or later for the 17.x branch, 16.15 or later, 15.19 or later, or 14.24 or later).
  • Reconfigure the OpenSSL library to use FIPS‑compliant or properly enabled ciphers so that pgcrypto functions employ secure encryption rather than relying on disabled ciphers.
  • Audit existing pgcrypto calls and remove or replace usage of affected functions, ensuring that encrypted data is only accepted when the encryption key is correct and the cipher configuration is secure.

Generated by OpenCVE AI on August 30, 2026 at 00:54 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4740-1 postgresql-15 security update
Debian DSA Debian DSA DSA-6438-1 postgresql-17 security update
Ubuntu USN Ubuntu USN USN-8653-1 PostgreSQL vulnerabilities
History

Sat, 29 Aug 2026 23:15:00 +0000

Type Values Removed Values Added
Description Cleartext storage in PostgreSQL pgcrypto disabled ciphers allows a user to recover cleartext, via direct observation of the faulty ciphertext. The OpenSSL version and OpenSSL configuration determine the disabled ciphers. If the application accepts encrypted data as input, decryption will succeed even with the wrong key. This in turn loses the modest protection from the Modification Detection Code (MDC). Affected functions are pgp_sym_encrypt, pgp_sym_decrypt, pgp_pub_encrypt, pgp_pub_decrypt, pgp_sym_encrypt_bytea, pgp_sym_decrypt_bytea, pgp_pub_encrypt_bytea, and pgp_pub_decrypt_bytea. Versions before PostgreSQL 18.5, 17.11, 16.15, 15.19, and 14.24 are affected. Cleartext storage in PostgreSQL pgcrypto disabled ciphers allows a user to recover cleartext, via direct observation of the faulty ciphertext. The OpenSSL version and OpenSSL configuration determine the disabled ciphers. If the application accepts encrypted data as input, decryption will succeed even with the wrong key. This in turn loses the modest protection from the Modification Detection Code (MDC). Affected functions are pgp_sym_encrypt, pgp_sym_decrypt, pgp_pub_encrypt, pgp_pub_decrypt, pgp_sym_encrypt_bytea, pgp_sym_decrypt_bytea, pgp_pub_encrypt_bytea, and pgp_pub_decrypt_bytea. Versions before PostgreSQL 18.6, 17.11, 16.15, 15.19, and 14.24 are affected.

Wed, 19 Aug 2026 15:00:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:postgresql:postgresql:*:*:*:*:*:*:*:*

Thu, 13 Aug 2026 16:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 13 Aug 2026 15:30:00 +0000

Type Values Removed Values Added
First Time appeared Postgresql
Postgresql postgresql
Vendors & Products Postgresql
Postgresql postgresql

Thu, 13 Aug 2026 13:15:00 +0000

Type Values Removed Values Added
Description Cleartext storage in PostgreSQL pgcrypto disabled ciphers allows a user to recover cleartext, via direct observation of the faulty ciphertext. The OpenSSL version and OpenSSL configuration determine the disabled ciphers. If the application accepts encrypted data as input, decryption will succeed even with the wrong key. This in turn loses the modest protection from the Modification Detection Code (MDC). Affected functions are pgp_sym_encrypt, pgp_sym_decrypt, pgp_pub_encrypt, pgp_pub_decrypt, pgp_sym_encrypt_bytea, pgp_sym_decrypt_bytea, pgp_pub_encrypt_bytea, and pgp_pub_decrypt_bytea. Versions before PostgreSQL 18.5, 17.11, 16.15, 15.19, and 14.24 are affected.
Title PostgreSQL pgcrypto, for OpenSSL-disabled ciphers, silently encrypts to and decrypts from cleartext
Weaknesses CWE-313
CWE-345
References
Metrics cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N'}


Subscriptions

Postgresql Postgresql
cve-icon MITRE

Status: PUBLISHED

Assigner: PostgreSQL

Published:

Updated: 2026-08-29T23:07:11.574Z

Reserved: 2026-07-03T20:28:08.416Z

Link: CVE-2026-14663

cve-icon Vulnrichment

Updated: 2026-08-13T15:19:58.692Z

cve-icon NVD

Status : Modified

Published: 2026-08-13T13:17:43.700

Modified: 2026-08-29T23:17:11.530

Link: CVE-2026-14663

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-30T01:00:15Z

Weaknesses
  • CWE-313

    Cleartext Storage in a File or on Disk

  • CWE-345

    Insufficient Verification of Data Authenticity