Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-116312— PostgreSQL MERGE can place the wrong row in a trigger transition table

Quick assessment

Affected
n/a PostgreSQL
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

PostgreSQL 的 MERGE 语句中存在过渡捕获状态不一致的问题,使得表数据修改者能够通过“先执行 INSERT 再执行 UPDATE"的分区表 MERGE 操作,导致 AFTER 触发器处理错误的新行数据。该问题影响 PostgreSQL 15 至 18 主版本中,低于以下次版本的所有版本:PostgreSQL 18.7、17.12、16.16 和 15.20。PostgreSQL 15 之前的版本不受此问题影响。

CVSS 5.4 · Medium
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-116312

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
PostgreSQL MERGE can place the wrong row in a trigger transition table
Source: CVE Program / CVE List V5
Vulnerability Description
Inconsistent transition-capture state in PostgreSQL MERGE allows a table data modifier to make an AFTER trigger process the wrong new row, via a partitioned table MERGE that performs an INSERT before an UPDATE. Within major versions 15-18, minor versions before PostgreSQL 18.7, 17.12, 16.16, and 15.20 are affected. Versions before PostgreSQL 15 are unaffected.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
Source: CVE Program / CVE List V5
Vulnerability Type
CWE-1250
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
- PostgreSQL 18 ~ 18.7 -

II. Public POCs for CVE-2026-116312

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-116312

请登录查看更多情报信息。

Other References for CVE-2026-116312 (1)

Same Patch Batch · n/a · 2026-11-12 · 56 CVEs total

CVE-2026-116317 8.8 HIGH PostgreSQL ts_rank_cd() heap buffer overflow may execute arbitrary code
CVE-2026-116307 8.8 HIGH PostgreSQL plperl prepared-query use-after-free executes arbitrary code
CVE-2026-116309 8.8 HIGH PostgreSQL plperl blessed-reference type confusion may execute arbitrary code
CVE-2026-120144 8.8 HIGH PostgreSQL type-cache invalidation gap executes arbitrary code
CVE-2026-120142 8.8 HIGH PostgreSQL dropped-column type confusion executes arbitrary code
CVE-2026-120141 8.8 HIGH PostgreSQL materialized set-returning function type confusion executes arbitrary code
CVE-2026-120139 8.8 HIGH PostgreSQL tuple-size integer wraparound executes arbitrary code
CVE-2026-116336 8.8 HIGH PostgreSQL REINDEX CONCURRENTLY does not block DROP INDEX during index functions
CVE-2026-116335 8.8 HIGH PostgreSQL commutator or negator result-type confusion executes arbitrary code
CVE-2026-116332 8.8 HIGH PostgreSQL portal setup use-after-free executes arbitrary code
CVE-2026-120143 8.8 HIGH PostgreSQL transition-table cursor use-after-free executes arbitrary code
CVE-2026-116331 8.8 HIGH PostgreSQL min/max aggregate type confusion executes arbitrary code
CVE-2026-116329 8.8 HIGH PostgreSQL statistics import type confusion executes arbitrary code
CVE-2026-116330 8.8 HIGH PostgreSQL pg_dump tar restore.sql fails to block psql command injection
CVE-2026-116328 8.8 HIGH PostgreSQL generation memory context integer wraparound executes arbitrary code
CVE-2026-116319 8.8 HIGH PostgreSQL plperl reentrant return_next() use-after-free executes arbitrary code
CVE-2026-116326 8.8 HIGH PostgreSQL plperl tied-object exceptions follow stale sigjmp_buf
CVE-2026-116323 8.8 HIGH PostgreSQL pltcl reentrant result conversion use-after-free executes arbitrary code
CVE-2026-116318 8.8 HIGH PostgreSQL pg_dump not-null constraint name allows SQL injection
CVE-2026-116320 8.8 HIGH PostgreSQL plperl array and hash conversion use-after-free executes arbitrary code

Showing top 20 of 56 CVEs. View all on vendor page → →

IV. Related Vulnerabilities