Cyber Resilience

CVE-2025-66577

Yhirose Cpp-Httplib ≤ 0.27.0

Public PoC
Published
05 December 2025
Modified
11 December 2025
Patch / advisory
CVSS Score v3.1 5.3
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
EPSS Score 0.0027 19th percentile
Risk Priority 43 floored blend · peak EPSS

Summary

CVE-2025-66577 is a medium-severity Improper Output Neutralization for Logs (CWE-117) vulnerability in Yhirose Cpp-Httplib. Its CVSS base score is 5.3 (Medium).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked at the 19th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

The strongest mitigations our analysis identified map to AC-24 (Access Control Decisions) and SA-11 (Developer Testing and Evaluation) — see the control section below for these in your framework.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

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…

more

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.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
T1070 Indicator Removal Stealth
Adversaries may selectively delete or modify artifacts generated to reduce indications of their presence and blend in with legitimate activity.
T1548 Abuse Elevation Control Mechanism Privilege Escalation
Adversaries may circumvent mechanisms designed to control privilege elevation to gain higher-level permissions.
T1556 Modify Authentication Process Defense Impairment
Adversaries may modify authentication mechanisms and processes to access user credentials or enable otherwise unwarranted access to accounts.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2025-66570Same product: Yhirose Cpp-Httplib
CVE-2026-34441Same product: Yhirose Cpp-Httplib
CVE-2026-21428Same product: Yhirose Cpp-Httplib
CVE-2026-45372Same product: Yhirose Cpp-Httplib
CVE-2025-53628Same product: Yhirose Cpp-Httplib
CVE-2026-45352Same product: Yhirose Cpp-Httplib
CVE-2025-0825Same product: Yhirose Cpp-Httplib
CVE-2025-53629Same product: Yhirose Cpp-Httplib
CVE-2026-54919Same product: Yhirose Cpp-Httplib
CVE-2026-29076Same product: Yhirose Cpp-Httplib

Affected Assets

yhirose
cpp-httplib
≤ 0.27.0

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)
  • 1 hardening rule · 1 OS baseline
Validate
Prove the fix (OWASP ASVS)

Mitigating Controls (NIST 800-53 r5) AI

Explicitly requires that every access decision be based on authoritative, protected decision data rather than caller-supplied inputs.

Developer testing and evaluation can discover missing or incorrect output neutralization when log messages are constructed from untrusted input.

Input validation can reject malformed or attacker-controlled values before they reach a security decision point.

Access enforcement requires decisions to be made from trusted policy data rather than modifiable client-supplied inputs.

Information-flow enforcement applies rules to validated, internal attributes instead of untrusted external values.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.AA-03 mostly match
prevents

Strong authentication mechanisms directly prevent security decisions from depending on modifiable, untrusted inputs.

PR.AA-04 mostly match
prevents

Verification and protection of identity assertions stops reliance on attacker-controlled values for authorization decisions.

PR.PS-06 mostly match
prevents

Secure SDLC practices and coding standards directly require output sanitization for logs.

PR.AA-01 partial match
prevents

Proper management of identities/credentials reduces the chance that security decisions will be driven by untrusted inputs.

PR.AA-05 partial match
prevents

Policy-driven, least-privilege authorization reduces opportunities to bypass controls via tampered inputs.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

prevents

Secure coding standards directly prohibit using untrusted inputs for security-critical decisions.

finds

Security testing can detect log injection flaws but does not prevent them at the source.

A.8.15 Logging partial match
degrades

Logging control directly requires proper log generation and handling, which mitigates improper output neutralization.

finds

Monitoring activities rely on trustworthy logs but do not ensure log message integrity.

prevents

Secure SDLC includes coding standards that reduce log-related weaknesses but does not specifically address logging.

prevents

Application security requirements explicitly call for validation of inputs used in security decisions.

References