Quick answers
- Is CVE-2026-125321 exploited in the wild?
- No. Junglewise Threat Intelligence has no report of CVE-2026-125321 being exploited in the wild.
- How severe is CVE-2026-125321?
- Medium severity, with a CVSS score of 6.5, published 10 November 2026.
- Which products and versions are affected?
- pgEdge Postgres MCP Server prior to 1.1.0.
- Is there a fix for CVE-2026-125321?
- Yes: fixed in 1.1.0. Until then: Disable the nondefault HTTP transport, or restrict network access to the HTTP endpoint to trusted reverse proxies only and configure client IP source to use X-Real-IP (the rightmost, infrastructure-appended value) instead of X-Forwarded-For, and set MaxFailedAttemptsBeforeLockout to a non-zero value to enable username-based account lockout. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is CVE-2026-125321 attacked?
- It is attacked over the network, in a web application.
- Am I affected by CVE-2026-125321?
- Check whether you run pgEdge Postgres MCP Server at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
How to fix
- Fixed in: 1.1.0
Disable the nondefault HTTP transport, or restrict network access to the HTTP endpoint to trusted reverse proxies only and configure client IP source to use X-Real-IP (the rightmost, infrastructure-appended value) instead of X-Forwarded-For, and set MaxFailedAttemptsBeforeLockout to a non-zero value to enable username-based account lockout.
Technical details
The HTTP authentication middleware trusts the leftmost value of the X-Forwarded-For header to determine the client IP for rate limiting, allowing an unauthenticated attacker to rotate this header value on each login attempt to evade throttling. The published nginx configuration compounds this by appending rather than replacing the header, making the attack work without operator misconfiguration. The account lockout mechanism uses username-keyed tracking and is unaffected, but defaults disable it (MaxFailedAttemptsBeforeLockout: 0), leaving only the bypassable rate limiter.
Affected products
- pgEdge Postgres MCP Server prior to 1.1.0
Timeline
- 2026-07-30: disclosed: Issue #204 opened
- 2026-11-10: patched: Fixed in version 1.1.0