Skip to content
OpenAdvisories
Medium · 6.5 CVE-2026-77463 EUVD-2026-117799GHSA-56x6-q882-mf27

Remark42: Rate limit bypass via unconditional trust of X-Forwarded-For/X-Real-IP headers in direct-internet deployment

Published Nov 5, 2026 · Updated Nov 10, 2026 · Assigned by GitHub_M

Description

Remark42 is a self-hosted comment engine for blogs, articles, or any other place where readers can add comments. From 1.0.0 until 1.16.2, Remark42 globally trusts True-Client-IP, X-Real-IP, and X-Forwarded-For without verifying that the direct peer is a trusted proxy, and middleware.RealIP overwrites r.RemoteAddr before per-IP controls run. In a directly reachable deployment, or a proxy that forwards attacker-controlled headers, a remote attacker can rotate spoofed forwarding headers to obtain fresh token buckets for rate-limited endpoints, bypass vote de-duplication when --votes-ip is enabled, mint anonymous identities, and poison stored comment IPs and request logs. The global concurrent-request throttle and per-request timeouts still limit availability impact. Mitigation support is available in version 1.16.2, but operators must configure --trusted-proxy for the deployment topology.

Affected products

VendorProductAffectedFixed
umputun remark42 >= 1.0.0, < 1.16.2 —

Affected packages

EcosystemPackageAffectedFixedRecord
Go github.com/umputun/remark42 >= 1.0.0, <= 1.2.0 — GHSA-56x6-q882-mf27
Go github.com/umputun/remark42/backend >= 1.0.0, < 1.16.2 1.16.2 GHSA-56x6-q882-mf27

References