---
id: "CVE-2026-14661"
page: "https://infrastack.ai/live/CVE-2026-14661"
kind: "vulnerability"
aliases: ["CVE-2026-14661"]
title: "PostgreSQL: dblink and subscriptions let a user corrupt any file"
severity: "high"
cvss: 8.1
epss: null
exploited: false
status: "open"
category: "runtime"
products: []
ecosystems: []
tags: ["dblink", "logical-replication", "postgresql", "runtime", "self-hosted"]
not_affected_if: ["no-dblink", "no-subscriptions", "postgresql-18.7-or-later"]
published_at: "2026-11-12T15:17:49+00:00"
first_seen_at: "2026-11-12T15:41:57+00:00"
updated_at: "2026-11-12T15:43:43+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-14661", "first_seen_at": "2026-11-12T15:41:57+00:00"}]
exploit_sources: []
---

# PostgreSQL: dblink and subscriptions let a user corrupt any file

Link for people: https://infrastack.ai/live/CVE-2026-14661 (this .md is for agents)

A database user can set the sslkeylogfile connection parameter in dblink or CREATE/ALTER SUBSCRIPTION to make PostgreSQL append data to a file of the user's choosing. The appended data cannot be arbitrary bytes, but it can break a file the server uses, causing a persistent denial of service.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Run `SELECT version();` in psql and check whether the server is PostgreSQL 18 below `18.7`, or older than 18 with libpq 18 or later in use by the server.
- Check whether the dblink extension is installed with `\dx dblink`, or whether the server uses subscriptions.

## Fix

- PostgreSQL 18: move to `18.7` or later.
- Other supported versions: unknown

## Timeline

- 2026-11-12T15:41:57+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-14661

## From the sources

External control of file name in PostgreSQL dblink and CREATE/ALTER SUBSCRIPTION allows a user to achieve persistent denial of service, via appending invalid data to a chosen file.  Specifically, the "sslkeylogfile" connection parameter appends data, in NSS keylog format, to a file of the user's choosing.  This "sslkeylogfile" mechanism cannot add arbitrary bytes.  Within major version 18, minor versions before PostgreSQL 18.7 are affected.  Versions before PostgreSQL 18 are also affected if libpq version 18 or later is installed and in use by the server.

---

_Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai_
