CVE-2026-125321

MEDIUM
MEDIUM Priority: 0.03 BB Relevance: 73/100
Published: 2026-11-10 Modified: 2026-11-12 First seen: 2026-11-10 Status: active

Attack Surface

Network Low Complexity No Auth No Interaction

CVSS Vector Breakdown

AV: Network
AC: Low
PR: None
UI: None
S: Unchanged
C: Low
I: None
A: Low

Description

pgEdge Postgres MCP Server enables SQL queries against PostgreSQL databases through Model Context Protocol compatible clients. Prior to 1.1.0, deployments exposing the nondefault HTTP transport with authentication enabled used the leftmost caller-supplied X-Forwarded-For value as the client address for login rate limiting. ExtractIPAddress in internal/auth/middleware.go supplied that value to IsAllowed and RecordFailedAttempt in internal/auth/rate_limiter.go, allowing an unauthenticated caller to rotate addresses to evade throttling or assert another user's address to consume that user's limiter bucket. The published nginx configuration appended rather than replaced X-Forwarded-For, making the issue reachable without an operator misconfiguration. Username-keyed account lockout did not use the client address, but shipped defaults disabled that separate control through MaxFailedAttemptsBeforeLockout: 0. This issue is fixed in version 1.1.0.

Affected Software (2)

VendorProductVersion
pgEdge pgedge-postgres-mcp < 1.1.0
pgEdge pgedge-postgres-mcp < 1.1.0

Bug Bounty Relevance

73 / 100
✓ Network accessible
✓ No authentication
✓ Low complexity
✓ No user interaction

CVSS Score

6.5 / 10.0 v3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L

EPSS — Exploitation Probability

0.47%
Raw Score 0.004690
Percentile 41.1%
Date 2026-11-13

EPSS Trend

2026-11-13
0.00469
2026-11-12
0.00469

Intelligence Sources

mitre ref →
nvd ref →