{"answers":{"affected":"It affects 1 product.","exploited":"It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-21428 exists.","fix":"Upgrade to a fixed version.","what":"CVE-2026-21428 is a high-severity vulnerability in yhirose cpp-httplib, published on 1 Jan 2026. An attacker can exploit it over the internet without logging in, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-21428 and fix it if it is affected.\n\nWhat it is: CVE-2026-21428 is a high-severity vulnerability in yhirose cpp-httplib, published on 1 Jan 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.\nExploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-21428 exists.\n\nAffected product: yhirose cpp-httplib. No package-level version data is available, so check the vendor advisory linked from the reference page.\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-21428/ (Markdown: https://insights.sbomify.com/CVE-2026-21428/index.md)","id":"CVE-2026-21428","markdown":"https://insights.sbomify.com/CVE-2026-21428/index.md","name":"CVE-2026-21428","record":{"aliases":["DEBIAN-CVE-2026-21428","GHSA-wpc6-j37r-jcx7","UBUNTU-CVE-2026-21428"],"analysis":{"component_type":"library","fix_type":"upgrade","impacts":["security_bypass","other"],"network_reachable":"yes","non_default_config":false,"product_category":"C++ HTTP library","requires_auth":"none","summary":"Attackers can inject CRLF characters into HTTP headers to add extra headers or trigger SSRF in applications using this C++ library.","user_interaction":"not_required","vuln_class":"other"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[{"product":"cpp-httplib","vendor":"yhirose"}],"cvss":{"score":7.7,"severity":"high","source":"cna","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:P","version":"4.0"},"cwes":[{"id":"CWE-93","name":"Improper Neutralization of CRLF Sequences"}],"description":"cpp-httplib is a C++11 single-file header-only cross platform HTTP/HTTPS library. Prior to version 0.30.0, the ``write_headers`` function does not check for CR \u0026 LF characters in user supplied headers, allowing untrusted header value to escape header lines.\nThis vulnerability allows attackers to add extra headers, modify request body unexpectedly \u0026 trigger an SSRF attack. When combined with a server that supports http1.1 pipelining (springboot, python twisted etc), this can be used for server side request forgery (SSRF). Version 0.30.0 fixes this issue.","ecosystems":[],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"weaponised"},"has_fix":true,"headline":"cpp-httplib has CRLF injection in http headers","id":"CVE-2026-21428","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"other","year":"2026"},"n_packages":0,"n_references":3,"next":{"headline":"Emlog has Broken Access Control (BAC)","id":"CVE-2026-21429"},"packages":[],"prev":{"headline":"Other in Stellanova APS-S301 series","id":"CVE-2026-21427"},"products":["cpp-httplib"],"published":"2026-01-01","related":[{"cvss_score":10,"headline":"cpp-httplib Untrusted HTTP Header Handling: Internal Header Shadowing (REMOTE*/LOCAL*)","id":"CVE-2025-66570","kev_date_added":null,"published":"2025-12-05"},{"cvss_score":9.9,"headline":"cpp-httplib: HTTP header value percent-decoding in server-side `parse_header` enables CRLF injection","id":"CVE-2026-45372","kev_date_added":null,"published":"2026-05-29"},{"cvss_score":8.7,"headline":"Null dereference in cpp-httplib","id":"CVE-2026-46527","kev_date_added":null,"published":"2026-05-29"},{"cvss_score":8.7,"headline":"cpp-httplib has a Silent TLS Certificate Verification Bypass on HTTPS Redirect via Proxy","id":"CVE-2026-32627","kev_date_added":null,"published":"2026-03-13"},{"cvss_score":8.7,"headline":"cpp-httplib vulnerable to a denial of service (DOS) using a zip bomb","id":"CVE-2026-22776","kev_date_added":null,"published":"2026-01-12"},{"cvss_score":7.5,"headline":"cpp-httplib Affected by Remote Process Crash via Malformed Content-Length Response Header","id":"CVE-2026-31870","kev_date_added":null,"published":"2026-03-11"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"yes","exploitation":"poc","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-01-02","vendors":["yhirose"]},"summary":"Attackers can inject CRLF characters into HTTP headers to add extra headers or trigger SSRF in applications using this C++ library.","url":"https://insights.sbomify.com/CVE-2026-21428/"}