CVE-2025-66577 cpp-httplib Untrusted HTTP Header Handling: X-Forwarded-For/X-Real-IP Trust

Medium 5.3 Published Updated

Attackers can spoof client IP addresses via HTTP headers, poisoning logs and potentially bypassing IP-based authorization checks in applications using cpp-httplib.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2025-66577?

CVE-2025-66577 is a medium-severity vulnerability in yhirose cpp-httplib, published on 5 Dec 2025. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

cpp-httplib is a C++11 single-file header-only cross platform HTTP/HTTPS library. Prior to 0.27.0, a vulnerability allows attacker-controlled HTTP headers to influence server-visible metadata, logging, and authorization decisions. An attacker can supply X-Forwarded-For or X-Real-IP headers which get accepted unconditionally by get_client_ip() in docker/main.cc, causing access and error logs (nginx_access_logger / nginx_error_logger) to record spoofed client IPs (log poisoning / audit evasion). This vulnerability is fixed in 0.27.0.

Weakness: CWE-807, CWE-117

Which versions are affected by CVE-2025-66577?

It affects 1 product.

Products include Yhirose Cpp-Httplib.

How do I fix CVE-2025-66577?

Upgrade to a fixed version.

Is CVE-2025-66577 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2025-66577 exists.

Sources

Also known as DEBIAN-CVE-2025-66577, ECHO-ee91-3948-5c74, GHSA-gfpf-r66f-5mh2, UBUNTU-CVE-2025-66577.

Is CVE-2025-66577 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free