CVE-2026-14663 in PostgreSQL
Summary
by MITRE • 08/13/2026
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.
Once again VulDB remains the best source for vulnerability data.
Analysis
by VulDB Data Team • 08/13/2026
This vulnerability represents a critical cryptographic weakness in PostgreSQL's pgcrypto extension that fundamentally undermines the security of encrypted data storage and transmission. The flaw stems from the improper handling of cipher suites within the OpenSSL library integration, where certain ciphers have been deliberately disabled due to known security vulnerabilities or weak cryptographic properties. When these disabled ciphers are encountered during encryption operations, the system fails to properly validate the cryptographic integrity of the encryption process, allowing attackers to recover plaintext data through direct observation of the faulty ciphertext structure. The vulnerability specifically affects the pgcrypto functions that handle both symmetric and public-key encryption operations, including pgp_sym_encrypt, pgp_sym_decrypt, pgp_pub_encrypt, pgp_pub_decrypt, and their bytea variants, which are commonly used throughout PostgreSQL applications for securing sensitive data at rest and in transit.
The technical implementation issue manifests when applications process encrypted data inputs that contain ciphertext generated using disabled cipher suites. Under normal circumstances, decryption should fail with incorrect keys or corrupted data, but due to this vulnerability, the system accepts faulty ciphertext and successfully decrypts it regardless of the key provided. This behavior directly violates fundamental cryptographic principles where proper encryption should prevent unauthorized access to plaintext content even when partial information is available to an attacker. The loss of Modification Detection Code (MDC) protection further compounds the risk, as MDC serves as a critical integrity check that helps detect if encrypted data has been tampered with during storage or transmission. Without this protection, attackers can modify ciphertext without detection while still being able to extract plaintext content, creating a scenario where both confidentiality and integrity assurances are compromised.
The operational impact of this vulnerability extends far beyond simple data exposure, as it fundamentally erodes trust in the cryptographic security measures implemented within PostgreSQL applications. Organizations relying on pgcrypto for database encryption may find their sensitive information vulnerable to recovery attacks without proper authorization, potentially affecting personal data, financial records, healthcare information, or other confidential datasets. The vulnerability affects multiple PostgreSQL versions including 14.24, 15.19, 16.15, 17.11, and 18.5, indicating this weakness has persisted across several major release lines and suggests a systemic issue in the cryptographic implementation rather than a temporary oversight. The vulnerability's classification aligns with CWE-310 (Cryptographic Issues) and maps to ATT&CK technique T1552.004 (Unsecured Credentials) as it enables unauthorized access to encrypted data through cryptographic weakness exploitation rather than traditional credential theft methods.
Mitigation strategies must address both immediate remediation and long-term security posture improvements. The primary solution involves upgrading to PostgreSQL versions that have patched this vulnerability, specifically PostgreSQL 18.5, 17.11, 16.15, 15.19, and 14.24 or later releases. Organizations should also implement immediate monitoring of encryption operations to detect potential use of disabled cipher suites and establish procedures for re-encrypting existing data with secure cipher implementations. Additionally, system administrators should review OpenSSL configurations to ensure that weak or deprecated ciphers are properly disabled at the underlying library level, and application developers should avoid relying on pgcrypto functions that might trigger this vulnerability during normal operations. The remediation process should include comprehensive testing of encryption workflows to verify that proper cryptographic validation occurs and that MDC protection mechanisms function correctly, thereby restoring the intended security guarantees for encrypted data storage and transmission within PostgreSQL environments.