pgEdge Postgres MCP Server: Missing Origin validation enables DNS rebinding
Summary
pgEdge Postgres MCP Server before 1.1.0 did not validate the Origin header on its HTTP transport. A user who visits an attacker-controlled web page can be targeted through DNS rebinding, which lets the page reach the locally running server. The attacker can then read schemas and query results from the configured PostgreSQL databases. The issue requires the HTTP transport to be enabled on a machine that also runs a browser; the default stdio transport is not reachable through this path.
Affected
- pgEdge pgedge-postgres-mcp, all versions before 1.1.0
- Only deployments with the HTTP transport enabled
Fixed in
- Version 1.1.0 (validates the Origin header and rejects unexpected origins with 403 Forbidden)
Workaround
- Switch the transport back to stdio where HTTP is not required
- Disable the HTTP transport on workstations where a browser is used
- No other vendor workaround is known.
Exploitation
- No evidence of exploitation in the wild is known.
- A public PoC listing exists but is unverified.
- The vulnerability is not known to be in CISA KEV.
Our recommendation
- Upgrade to pgEdge Postgres MCP Server 1.1.0 or later on all hosts where the HTTP transport is enabled.
- If the web client is served under a hostname, add that origin to http.allowed_origins after upgrading, otherwise browser requests will be refused.
- Where HTTP is not needed, set the transport to stdio.
- Inventory hosts running pgedge-postgres-mcp and record transport mode and version.
- Limit database credentials held on workstations that run a browser.
Public exploits
PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.
Research sources
- GitHub security advisory GHSA-6hg5-9f3w-c886 github.com
- Fix commit 5571bd4 github.com
- Issue #231: Validate the Origin header github.com
- Pull request #232 github.com
- Release v1.1.0 github.com
- pgEdge documentation: Security (v1.1.0) docs.pgedge.com
Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 11 Nov 2026, 18:40.
Original description (NVD)
pgEdge Postgres MCP Server enables SQL queries against PostgreSQL databases through Model Context Protocol compatible clients. Prior to 1.1.0, the HTTP transport did not validate the Origin header on incoming requests. A user who visited an attacker-controlled page could be targeted through DNS rebinding, allowing the page to reach a locally running server and read schemas and query results from configured databases. The issue affected deployments with the HTTP transport enabled on a machine that also ran a browser, while the default stdio transport was not reachable through this path. This issue is fixed in version 1.1.0.
NVD references (5)
- https://github.com/pgEdge/pgedge-postgres-mcp/commit/5571bd492a803e8f8831599c88b4619c5041fd8e
- https://github.com/pgEdge/pgedge-postgres-mcp/issues/231
- https://github.com/pgEdge/pgedge-postgres-mcp/pull/232
- https://github.com/pgEdge/pgedge-postgres-mcp/releases/tag/v1.1.0
- https://github.com/pgEdge/pgedge-postgres-mcp/security/advisories/GHSA-6hg5-9f3w-c886
Sources
The tracker combines official, freely usable data sources – updated continuously:
- NVD (NIST) – CVEs, rating (CVSS), affected products
- CISA KEV – vulnerabilities confirmed by CISA as actively exploited
- CISA Vulnrichment – CISA assessment (SSVC) in the official CVE record
- FIRST EPSS – probability of exploitation
- Microsoft MSRC – Patch Tuesday: vulnerabilities, severity, updates
- PoC-in-GitHub – public proof-of-concept repositories
- Metasploit (Rapid7) – modules of the Metasploit Framework
- Exploit-DB (OffSec) – archive of public exploits (links only)
- Patch days: official vendor pages (linked per vendor) (Vendor patch days)
This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.
Affected? We can help.
We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.
