- Description
- Missing authorization in PostgreSQL logical decoding allows a non-superuser holding REPLICATION privilege to dlopen any file visible to the operating system account running the server, via the choice of logical decoding plugin. This in turn runs arbitrary code as that account. Versions before PostgreSQL 18.6, 17.11, 16.15, 15.19, and 14.24 are affected.
- Source
- f86ef6dc-4d3a-42ad-8f28-e6d5547a5007
- NVD status
- Modified
- Products
- postgresql
CVSS 3.1
- Type
- Secondary
- Base score
- 7.2
- Impact score
- 5.9
- Exploitability score
- 1.2
- Vector string
- CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
- Severity
- HIGH
- f86ef6dc-4d3a-42ad-8f28-e6d5547a5007
- CWE-862
- Hype score
- Not currently trending
PostgreSQL CVE-2026-6471 ("PostGREShell"): 12-year-old privilege escalation via logical decoding abuse. Twelve years in production code before someone found it. The vulnerability you're running isn't always the one you just patched. #PostgreSQL #CVE #Cybersecurity
@McM1Alex
15 Sept 2026
36 Impressions
0 Retweets
0 Likes
0 Bookmarks
0 Replies
0 Quotes
turns out postgres treated the REPLICATION privilege (the thing every backup script casually has) as basically root for 12 years bro... load any library, run code as the postgres user, nobody caught it since 2014. they're calling it PostGREShell now, CVE-2026-6471
@shrey_sancheti
13 Sept 2026
8 Impressions
0 Retweets
0 Likes
0 Bookmarks
0 Replies
0 Quotes
12-Year-Old PostgreSQL Vulnerability Enables Database, Server Takeover Dubbed PostGREShell, CVE-2026-6471 turns low-level replication access into code execution, permanent superuser privileges and a persistent database backdoor. https://t.co/jYX6nM3asu
@ytroncal
7 Sept 2026
20 Impressions
0 Retweets
0 Likes
0 Bookmarks
0 Replies
0 Quotes
【リンク集:週末のセキュリティ関連ニュース/記事】 <脆弱性> ・Google、Chromeのゼロデイ脆弱性を修正 今年に入って6件目(CVE-2026-85046) https://t.co/tWcD7Udnnx ・PostgreSQLにおける12年来の脆弱性でデータベー
@MachinaRecord
7 Sept 2026
1017 Impressions
0 Retweets
1 Like
0 Bookmarks
1 Reply
0 Quotes
PostgreSQL patched CVE-2026-6471: a logical decoding auth flaw lets any user with REPLICATION privilege load arbitrary shared libraries as the `postgres` OS user. Patch now. #PostgreSQL #CyberSecurity #InfoSec https://t.co/hTmk8JMuTY
@CyberWorldOps
6 Sept 2026
7 Impressions
0 Retweets
0 Likes
0 Bookmarks
0 Replies
0 Quotes
12-year-old PostgreSQL flaw just turned “harmless” replication accounts into full server takeovers. PostGREShell (CVE-2026-6471). Low-priv backup account → code execution → superuser → persistent backdoor. This sat open since 2014. Patch now. https://t.co/nwkf6cTU5E
@PadhiyarRushi
6 Sept 2026
291 Impressions
0 Retweets
4 Likes
0 Bookmarks
0 Replies
0 Quotes
REPLICATION isn't soft. CVE-2026-6471: REPLICATION can dlopen any OS-visible file via logical decoding. Fixed: 18.6/17.11/16.15/15.19/14.24. Whitelist: output_plugin_libraries. Fork: strip unused REPLICATION vs list wal2json first. #PostgreSQL #Security #CVE #Database #DevOps
@Sunil_kumawat17
6 Sept 2026
34 Impressions
0 Retweets
0 Likes
0 Bookmarks
0 Replies
0 Quotes
Legacy software is low risk if air-gapped. A 12-year-old PostgreSQL flaw (CVE-2026-6471) still enables full server takeover via replication access. #CyberAwareness #CyberSecurity
@Lumideezy
6 Sept 2026
134 Impressions
1 Retweet
6 Likes
0 Bookmarks
0 Replies
0 Quotes
A PostgreSQL backup account can now run code on your server. Patch CVE-2026-6471. A low-privilege Postgres REPLICATION account can run code and reach superuser via CVE-2026-6471. Patch the August releases and audit your roles. https://t.co/Ln73qO8F20
@ITGuys_ro
4 Sept 2026
20 Impressions
0 Retweets
0 Likes
0 Bookmarks
0 Replies
0 Quotes
12-Year-Old PostgreSQL Vulnerability Enables Database, Server Takeover: Dubbed PostGREShell, CVE-2026-6471 turns low-level replication access into code execution, permanent superuser privileges and a persistent database backdoor. The post 12-Year-Old… https://t.co/dJaSETAKIO
@shah_sheikh
4 Sept 2026
19 Impressions
0 Retweets
0 Likes
0 Bookmarks
0 Replies
0 Quotes
[
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:postgresql:postgresql:*:*:*:*:*:*:*:*",
"matchCriteriaId": "6BEE5714-C2EF-48DC-8613-C3EAA149E12E",
"versionEndExcluding": "14.24",
"versionStartIncluding": "14.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:postgresql:postgresql:*:*:*:*:*:*:*:*",
"matchCriteriaId": "F433746A-733F-4ED0-9913-8AF69E0C8BF2",
"versionEndExcluding": "15.19",
"versionStartIncluding": "15.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:postgresql:postgresql:*:*:*:*:*:*:*:*",
"matchCriteriaId": "1996B91F-E0B2-4A78-8788-E17EA68D179C",
"versionEndExcluding": "16.15",
"versionStartIncluding": "16.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:postgresql:postgresql:*:*:*:*:*:*:*:*",
"matchCriteriaId": "3D04E642-71D7-4979-AA19-B9CCDEFD8C31",
"versionEndExcluding": "17.11",
"versionStartIncluding": "17.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:postgresql:postgresql:*:*:*:*:*:*:*:*",
"matchCriteriaId": "8494F67B-673A-4E1F-8F40-D24DCC1F8DA4",
"versionEndExcluding": "18.5",
"versionStartIncluding": "18.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
]