CVE-2026-125321
Received Received - Intake

Rate Limiting Bypass in pgEdge Postgres MCP Server

Vulnerability report for CVE-2026-125321, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-11-10

Last updated on: 2026-11-10

Assigner: GitHub, Inc.

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-11-10
Last Modified
2026-11-10
Generated
2026-11-10
AI Q&A
2026-11-10
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 3 associated CPEs

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-807 The product uses a protection mechanism that relies on the existence or values of an input, but the input can be modified by an untrusted actor in a way that bypasses the protection mechanism.
CWE-770 The product allocates a reusable resource or group of resources on behalf of an actor without imposing any intended restrictions on the size or number of resources that can be allocated.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability affects pgEdge Postgres MCP Server versions before 1.1.0. It allows attackers to bypass login rate limiting by manipulating the X-Forwarded-For header. The system incorrectly used the leftmost header value as the client IP, which could be spoofed. This enabled brute-force attacks or denial-of-service by targeting other users' IPs.

Detection Guidance

To detect this vulnerability, monitor for unusual login attempts where the X-Forwarded-For header is manipulated. Check logs for multiple failed login attempts from the same IP address that should not be possible due to rate limiting. Verify if the X-Forwarded-For header is being appended rather than replaced in your proxy configuration.

Impact Analysis

Attackers could bypass login rate limits to perform unlimited password guessing attempts. They could also spoof legitimate users' IPs to trigger rate limits against them, causing temporary denial of service. The vulnerability affects deployments with HTTP transport and authentication enabled.

Mitigation Strategies

Upgrade to pgEdge PostgreSQL MCP Server version 1.1.0 or later. If upgrading is not immediately possible, configure your reverse proxy to overwrite the X-Forwarded-For header with the actual client IP instead of appending to it. Disable account lockout mechanisms if they are not properly configured.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-125321. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart

Security Radar

News mentioning this vulnerability
Loading related security news...