Skip to main content

PostgreSQL pgcrypto CVE-2026-14663

| EUVDEUVD-2026-57832 MEDIUM
Cleartext Storage in a File or on Disk (CWE-313)
2026-08-13 f86ef6dc-4d3a-42ad-8f28-e6d5547a5007 GHSA-6hh9-353p-vfvp
6.5
CVSS 3.1 · Vendor: f86ef6dc-4d3a-42ad-8f28-e6d5547a5007
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify OpenSSL disabled cipher in target environment
  2. Delivery
    Confirm pgcrypto PGP function usage by target application
  3. Exploit
    Craft PGP blob using the disabled cipher
  4. Execution
    Submit to application encrypted-input endpoint
  5. Persist
    Decryption succeeds with wrong key, MDC check bypassed
  6. Impact
    Attacker-controlled plaintext injected into application

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V14 - Data Protection File/disk data protection
Exploitation Conditions

Exploitation requires that the pgcrypto extension is installed and actively used in the target PostgreSQL instance, AND that at least one OpenSSL cipher used by the affected PGP functions has been explicitly disabled in the runtime OpenSSL configuration or is absent from the installed OpenSSL version - this is the critical, non-default prerequisite and the primary limiting factor. Environments running standard OpenSSL with common cipher suites enabled are not vulnerable. The confidentiality impact (cleartext recovery) additionally requires the attacker to gain access to the stored or transmitted data that was processed by the faulty cipher path. The integrity impact (wrong-key decryption success, MDC bypass enabling data injection) further requires the application to accept and process attacker-supplied PGP-encrypted blobs as input. PostgreSQL instances not using pgcrypto, and those whose OpenSSL configuration leaves the relevant ciphers enabled, are entirely unaffected regardless of PostgreSQL version.

Impact

The official CVSS 3.1 score of 6.5 with vector AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N warrants critical examination on the AC metric. The AC:L (low complexity) rating overstates ease of exploitation: the vulnerability manifests only when at least one OpenSSL cipher used by pgcrypto is explicitly disabled in the runtime OpenSSL configuration or absent from the installed OpenSSL build - a non-default, environment-specific condition. In practice, standard OpenSSL deployments with typical cipher suites enabled would not trigger the vulnerable code path, suggesting AC:H is more accurate for real-world assessments. Notably, organizations that have hardened their OpenSSL cipher configuration for compliance reasons (e.g., disabling older or export-grade ciphers) represent a realistic at-risk population, which is an ironic outcome of applying security hardening. The C:L and I:L impact ratings are well-calibrated: partial confidentiality loss for cipher-disabled data and modest integrity impact via the MDC bypass enabling potential data injection are realistic. EPSS data is not provided in the available intelligence, so quantitative exploitation probability cannot be assessed. KEV status is negative - no active exploitation is confirmed by CISA. No POC exploit code has been identified. Overall, real-world risk is lower than the raw CVSS score implies due to the prerequisite OpenSSL cipher configuration, but environments with intentional cipher restrictions face an unexpected and significant cryptographic failure.

Exploit ScenarioDerived

An attacker with read access to database storage or application output containing pgcrypto-encrypted PGP data - in an environment where OpenSSL has disabled the relevant cipher - finds the stored ciphertext is actually cleartext, directly recoverable without any cryptographic key. Alternatively, against an application that accepts and decrypts PGP-encrypted input blobs, an attacker could craft a malformed PGP blob using the disabled cipher; the application's call to a pgcrypto decrypt function would return attacker-controlled plaintext with any supplied key, bypassing MDC integrity verification and potentially injecting malicious data into the application's processing pipeline. No public exploit code has been identified at the time of analysis.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 13, 2026

Cleartext storage in PostgreSQL's pgcrypto extension silently exposes PGP-encrypted data as recoverable plaintext when OpenSSL disables the requested cipher, affecting all eight PGP encryption and decryption functions (pgp_sym_encrypt/decrypt, pgp_pub_encrypt/decrypt, and their bytea variants) across PostgreSQL 14 through 18. Beyond confidentiality loss, the same code path defeats the Modification Detection Code (MDC) integrity check, allowing decryption to succeed with an incorrect key - enabling an attacker to inject attacker-controlled plaintext through applications that accept encrypted data as input. No active exploitation is confirmed (not in CISA KEV) and no public exploit has been identified; fix versions are clearly defined as 18.5, 17.11, 16.15, 15.19, and 14.24.

RemediationAI

The primary fix is to upgrade to PostgreSQL 18.5, 17.11, 16.15, 15.19, or 14.24, all of which contain the patch for CVE-2026-14663; the vendor advisory is at https://www.postgresql.org/support/security/CVE-2026-14663/. If immediate upgrade is not feasible, a compensating control is to audit the OpenSSL configuration to ensure no ciphers invoked by pgcrypto PGP operations are disabled - note that re-enabling ciphers may conflict with organizational cipher-hardening or compliance policy and should be validated before deployment. Applications that accept PGP-encrypted blobs as input should add application-layer integrity validation (e.g., an independent HMAC or application-level MAC) to verify content authenticity independently of pgcrypto, which directly mitigates the MDC bypass attack surface without requiring a database upgrade. Data previously encrypted with the affected pgcrypto functions in environments where a relevant OpenSSL cipher was disabled should be treated as potentially compromised and re-encrypted after upgrading to a patched release.

Affected VersionsENISA

PostgreSQL 17 <17.11
PostgreSQL 18 <18.5
PostgreSQL 0 <14.24
PostgreSQL 16 <16.15
PostgreSQL 15 <15.19

Affected Packages

euvd postgresql fix: 14.24, 15.19, 16.15, 17.11, 18.5

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

PostgreSQL's pgcrypto extension provides OpenPGP-compliant encryption via integration with OpenSSL. CWE-313 (Cleartext Storage in a File or on Disk) identifies the root cause class: when a cipher required by a PGP operation is marked disabled in OpenSSL's runtime configuration or absent from the installed OpenSSL build, pgcrypto does not raise an error but instead falls back to storing data as cleartext - a silent cryptographic failure with no observable warning to the calling application. The eight affected functions span symmetric-key (pgp_sym_encrypt, pgp_sym_decrypt, pgp_sym_encrypt_bytea, pgp_sym_decrypt_bytea) and public-key (pgp_pub_encrypt, pgp_pub_decrypt, pgp_pub_encrypt_bytea, pgp_pub_decrypt_bytea) PGP operations. The Modification Detection Code (MDC) is an OpenPGP packet-level integrity checksum; because the disabled-cipher path bypasses MDC verification, decryption succeeds even when supplied with an incorrect key, eliminating the integrity guarantee that pgcrypto's PGP mode is intended to provide. CPE strings were not explicitly provided in the available intelligence; affected products cover all actively maintained PostgreSQL major versions (14-18) before the patched minor releases.

Know when PostgreSQL gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (f86ef6dc-4d3a-42ad-8f28-e6d5547a5007) PRIMARY 6.5 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
vuln.today AI 4.8 MEDIUM

AC:H reflects the required non-default OpenSSL disabled-cipher configuration; AV:N and PR:N reflect data potentially exposed via the application layer.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
SUSE MEDIUM
Red Hat 6.5 MEDIUM

Primary rating from Vendor (f86ef6dc-4d3a-42ad-8f28-e6d5547a5007).

CVSS VectorVendor: f86ef6dc-4d3a-42ad-8f28-e6d5547a5007

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
None

Lifecycle Timeline

2
Patch available
Aug 13, 2026 - 14:02 EUVD
CVE Published
Aug 13, 2026 - 13:17 cve.org
MEDIUM 6.5

DescriptionCVE.org

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.

Threat Intelligence Overview

EPSS Score
0.1%
Top 98% exploitable
Prevalence
High
widely deployed open-source RDBMS, though pgcrypto is an optional extension
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment MSRC Vendor VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
High
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2025-1094 HIGH POC
8.1 Feb 13

PostgreSQL libpq functions PQescapeLiteral(), PQescapeIdentifier(), PQescapeString(), and PQescapeStringConn() improperl

CVE-2024-55964 CRITICAL POC
9.8 Mar 26

An issue was discovered in Appsmith before 1.52. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl

CVE-2013-1899 MEDIUM POC
6.5 Apr 04

Argument injection vulnerability in PostgreSQL 9.2.x before 9.2.4, 9.1.x before 9.1.9, and 9.0.x before 9.0.13 allows re

CVE-2026-20253 CRITICAL POC
9.8 Jun 10

Unauthenticated arbitrary file write in Splunk Enterprise (below 10.2.4 and 10.0.7) and Splunk Cloud Platform (below 10.

CVE-2026-9586 CRITICAL POC
9.3 Jul 17

Unauthenticated SQL injection in Sangoma Switchvox SMB Edition 8.3 (build 104997) lets remote attackers execute arbitrar

CVE-2017-7546 CRITICAL
9.8 Aug 16

PostgreSQL versions before 9.2.22, 9.3.18, 9.4.13, 9.5.8 and 9.6.4 are vulnerable to incorrect authentication flaw allow

CVE-2015-1352 MEDIUM POC
5.0 Mar 30

The build_tablename function in pgsql.c in the PostgreSQL (aka pgsql) extension in PHP through 5.6.7 does not validate t

CVE-2024-10553 CRITICAL POC
9.8 Mar 20

A vulnerability in the h2oai/h2o-3 REST API versions 3.46.0.4 allows unauthenticated remote attackers to execute arbitra

CVE-2019-9193 HIGH POC
7.2 Apr 01

In PostgreSQL 9.3 through 11.2, the "COPY TO/FROM PROGRAM" function allows superusers and users in the 'pg_execute_serve

CVE-2026-40887 CRITICAL POC
9.1 Apr 14

Unauthenticated SQL injection in Vendure Shop API allows remote attackers to execute arbitrary SQL commands against the

CVE-2022-24760 CRITICAL POC
10.0 Mar 12

Parse Server is an open source http web server backend. Rated critical severity (CVSS 10.0), this vulnerability is remot

CVE-2025-56157 CRITICAL POC
9.8 Dec 18

Hard-coded default PostgreSQL credentials shipped in the docker-compose.yaml of langgenius Dify through version 1.5.1 al

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy