{"id":"CVE-2026-77463","title":"Remark42: Rate limit bypass via unconditional trust of X-Forwarded-For/X-Real-IP headers in direct-internet deployment","summary":"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 …","severity":"medium","cvss":6.5,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L","cvssSource":"cna","cwe":["CWE-348","CWE-807"],"vendor":"umputun","product":"remark42","affected":["remark42 >= 1.0.0, < 1.16.2"],"published":"2026-11-05","updated":"2026-11-05","sourceUpdated":"2026-11-05T20:54:09.798Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-77463","references":[{"url":"https://github.com/umputun/remark42/security/advisories/GHSA-56x6-q882-mf27","label":"https://github.com/umputun/remark42/security/advisories/GHSA-56x6-q882-mf27"},{"url":"https://github.com/umputun/remark42/pull/2116","label":"https://github.com/umputun/remark42/pull/2116"},{"url":"https://github.com/umputun/remark42/pull/2118","label":"https://github.com/umputun/remark42/pull/2118"},{"url":"https://github.com/umputun/remark42/commit/b1502801facd7782a1c70fd51f8ad5c2eb650d39","label":"https://github.com/umputun/remark42/commit/b1502801facd7782a1c70fd51f8ad5c2eb650d39"},{"url":"https://github.com/umputun/remark42/commit/e62b3c830d81659cf5d2687b0c8261da7d42fdab","label":"https://github.com/umputun/remark42/commit/e62b3c830d81659cf5d2687b0c8261da7d42fdab"},{"url":"https://github.com/umputun/remark42/releases/tag/backend/v1.16.2","label":"https://github.com/umputun/remark42/releases/tag/backend/v1.16.2"},{"url":"https://remark42.com/docs/configuration/parameters/#trusted-proxies-and-client-ip","label":"https://remark42.com/docs/configuration/parameters/#trusted-proxies-and-client-ip"}],"tags":["cve.org"],"ingestedAt":"2026-11-05T22:38:31.937Z","epss":0.00219,"epssPercentile":0.12452,"slug":"CVE-2026-77463","body":"## Overview\n\nRemark42 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.\n\n## Affected\n\n- `remark42 >= 1.0.0, < 1.16.2`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"sunlit","depthScore":36,"depthScoreParts":{"impact":35.8,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}