Action not permitted
Modal body text goes here.
Modal Title
Modal Body
CVE-2025-66570 (GCVE-0-2025-66570)
Vulnerability from cvelistv5 – Published: 2025-12-05 18:18 – Updated: 2025-12-05 18:40
VLAI
EPSS
Title
cpp-httplib Untrusted HTTP Header Handling: Internal Header Shadowing (REMOTE*/LOCAL*)
Summary
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 inject headers named REMOTE_ADDR, REMOTE_PORT, LOCAL_ADDR, LOCAL_PORT that are parsed into the request header multimap via read_headers() in httplib.h (headers.emplace), then the server later appends its own internal metadata using the same header names in Server::process_request without erasing duplicates. Because Request::get_header_value returns the first entry for a header key (id == 0) and the client-supplied headers are parsed before server-inserted headers, downstream code that uses these header names may inadvertently use attacker-controlled values. Affected files/locations: cpp-httplib/httplib.h (read_headers, Server::process_request, Request::get_header_value, get_header_value_u64) and cpp-httplib/docker/main.cc (get_client_ip, nginx_access_logger, nginx_error_logger). Attack surface: attacker-controlled HTTP headers in incoming requests flow into the Request.headers multimap and into logging code that reads forwarded headers, enabling IP spoofing, log poisoning, and authorization bypass via header shadowing. This vulnerability is fixed in 0.27.0.
Severity
10 (Critical)
CWE
Assigner
References
2 references
| URL | Tags |
|---|---|
| https://github.com/yhirose/cpp-httplib/security/a… | x_refsource_CONFIRM |
| https://github.com/yhirose/cpp-httplib/commit/ac9… | x_refsource_MISC |
Impacted products
1 product
| Vendor | Product | Version | |
|---|---|---|---|
| yhirose | cpp-httplib |
Affected:
< 0.27.0
|
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2025-66570",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2025-12-05T18:38:34.729951Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2025-12-05T18:40:09.318Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "cpp-httplib",
"vendor": "yhirose",
"versions": [
{
"status": "affected",
"version": "\u003c 0.27.0"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "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 inject headers named REMOTE_ADDR, REMOTE_PORT, LOCAL_ADDR, LOCAL_PORT that are parsed into the request header multimap via read_headers() in httplib.h (headers.emplace), then the server later appends its own internal metadata using the same header names in Server::process_request without erasing duplicates. Because Request::get_header_value returns the first entry for a header key (id == 0) and the client-supplied headers are parsed before server-inserted headers, downstream code that uses these header names may inadvertently use attacker-controlled values. Affected files/locations: cpp-httplib/httplib.h (read_headers, Server::process_request, Request::get_header_value, get_header_value_u64) and cpp-httplib/docker/main.cc (get_client_ip, nginx_access_logger, nginx_error_logger). Attack surface: attacker-controlled HTTP headers in incoming requests flow into the Request.headers multimap and into logging code that reads forwarded headers, enabling IP spoofing, log poisoning, and authorization bypass via header shadowing. This vulnerability is fixed in 0.27.0."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "NONE",
"baseScore": 10,
"baseSeverity": "CRITICAL",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "NONE",
"scope": "CHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-290",
"description": "CWE-290: Authentication Bypass by Spoofing",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-345",
"description": "CWE-345: Insufficient Verification of Data Authenticity",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-807",
"description": "CWE-807: Reliance on Untrusted Inputs in a Security Decision",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2025-12-05T18:19:06.061Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/yhirose/cpp-httplib/security/advisories/GHSA-xm2j-vfr9-mg9m",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/yhirose/cpp-httplib/security/advisories/GHSA-xm2j-vfr9-mg9m"
},
{
"name": "https://github.com/yhirose/cpp-httplib/commit/ac9ebb0ee333ce8bf13523f487bdfad9518a2aff",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/yhirose/cpp-httplib/commit/ac9ebb0ee333ce8bf13523f487bdfad9518a2aff"
}
],
"source": {
"advisory": "GHSA-xm2j-vfr9-mg9m",
"discovery": "UNKNOWN"
},
"title": "cpp-httplib Untrusted HTTP Header Handling: Internal Header Shadowing (REMOTE*/LOCAL*)"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2025-66570",
"datePublished": "2025-12-05T18:18:02.928Z",
"dateReserved": "2025-12-04T16:17:35.386Z",
"dateUpdated": "2025-12-05T18:40:09.318Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2025-66570",
"date": "2026-05-31",
"epss": "0.00031",
"percentile": "0.09511"
},
"nvd": "{\"cve\":{\"id\":\"CVE-2025-66570\",\"sourceIdentifier\":\"security-advisories@github.com\",\"published\":\"2025-12-05T19:15:51.923\",\"lastModified\":\"2025-12-10T15:02:46.533\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"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 inject headers named REMOTE_ADDR, REMOTE_PORT, LOCAL_ADDR, LOCAL_PORT that are parsed into the request header multimap via read_headers() in httplib.h (headers.emplace), then the server later appends its own internal metadata using the same header names in Server::process_request without erasing duplicates. Because Request::get_header_value returns the first entry for a header key (id == 0) and the client-supplied headers are parsed before server-inserted headers, downstream code that uses these header names may inadvertently use attacker-controlled values. Affected files/locations: cpp-httplib/httplib.h (read_headers, Server::process_request, Request::get_header_value, get_header_value_u64) and cpp-httplib/docker/main.cc (get_client_ip, nginx_access_logger, nginx_error_logger). Attack surface: attacker-controlled HTTP headers in incoming requests flow into the Request.headers multimap and into logging code that reads forwarded headers, enabling IP spoofing, log poisoning, and authorization bypass via header shadowing. This vulnerability is fixed in 0.27.0.\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N\",\"baseScore\":10.0,\"baseSeverity\":\"CRITICAL\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"CHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"NONE\"},\"exploitabilityScore\":3.9,\"impactScore\":5.8},{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":9.8,\"baseSeverity\":\"CRITICAL\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":3.9,\"impactScore\":5.9}]},\"weaknesses\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-290\"},{\"lang\":\"en\",\"value\":\"CWE-345\"},{\"lang\":\"en\",\"value\":\"CWE-807\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:yhirose:cpp-httplib:*:*:*:*:*:*:*:*\",\"versionEndExcluding\":\"0.27.0\",\"matchCriteriaId\":\"833767D4-2EB6-44EB-AF07-8942AF6F6075\"}]}]}],\"references\":[{\"url\":\"https://github.com/yhirose/cpp-httplib/commit/ac9ebb0ee333ce8bf13523f487bdfad9518a2aff\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Patch\"]},{\"url\":\"https://github.com/yhirose/cpp-httplib/security/advisories/GHSA-xm2j-vfr9-mg9m\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Exploit\",\"Vendor Advisory\"]}]}}",
"vulnrichment": {
"containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2025-66570\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"yes\"}, {\"Technical Impact\": \"total\"}], \"version\": \"2.0.3\", \"timestamp\": \"2025-12-05T18:38:34.729951Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2025-12-05T18:40:05.719Z\"}}], \"cna\": {\"title\": \"cpp-httplib Untrusted HTTP Header Handling: Internal Header Shadowing (REMOTE*/LOCAL*)\", \"source\": {\"advisory\": \"GHSA-xm2j-vfr9-mg9m\", \"discovery\": \"UNKNOWN\"}, \"metrics\": [{\"cvssV3_1\": {\"scope\": \"CHANGED\", \"version\": \"3.1\", \"baseScore\": 10, \"attackVector\": \"NETWORK\", \"baseSeverity\": \"CRITICAL\", \"vectorString\": \"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N\", \"integrityImpact\": \"HIGH\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"LOW\", \"availabilityImpact\": \"NONE\", \"privilegesRequired\": \"NONE\", \"confidentialityImpact\": \"HIGH\"}}], \"affected\": [{\"vendor\": \"yhirose\", \"product\": \"cpp-httplib\", \"versions\": [{\"status\": \"affected\", \"version\": \"\u003c 0.27.0\"}]}], \"references\": [{\"url\": \"https://github.com/yhirose/cpp-httplib/security/advisories/GHSA-xm2j-vfr9-mg9m\", \"name\": \"https://github.com/yhirose/cpp-httplib/security/advisories/GHSA-xm2j-vfr9-mg9m\", \"tags\": [\"x_refsource_CONFIRM\"]}, {\"url\": \"https://github.com/yhirose/cpp-httplib/commit/ac9ebb0ee333ce8bf13523f487bdfad9518a2aff\", \"name\": \"https://github.com/yhirose/cpp-httplib/commit/ac9ebb0ee333ce8bf13523f487bdfad9518a2aff\", \"tags\": [\"x_refsource_MISC\"]}], \"descriptions\": [{\"lang\": \"en\", \"value\": \"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 inject headers named REMOTE_ADDR, REMOTE_PORT, LOCAL_ADDR, LOCAL_PORT that are parsed into the request header multimap via read_headers() in httplib.h (headers.emplace), then the server later appends its own internal metadata using the same header names in Server::process_request without erasing duplicates. Because Request::get_header_value returns the first entry for a header key (id == 0) and the client-supplied headers are parsed before server-inserted headers, downstream code that uses these header names may inadvertently use attacker-controlled values. Affected files/locations: cpp-httplib/httplib.h (read_headers, Server::process_request, Request::get_header_value, get_header_value_u64) and cpp-httplib/docker/main.cc (get_client_ip, nginx_access_logger, nginx_error_logger). Attack surface: attacker-controlled HTTP headers in incoming requests flow into the Request.headers multimap and into logging code that reads forwarded headers, enabling IP spoofing, log poisoning, and authorization bypass via header shadowing. This vulnerability is fixed in 0.27.0.\"}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-290\", \"description\": \"CWE-290: Authentication Bypass by Spoofing\"}]}, {\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-345\", \"description\": \"CWE-345: Insufficient Verification of Data Authenticity\"}]}, {\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-807\", \"description\": \"CWE-807: Reliance on Untrusted Inputs in a Security Decision\"}]}], \"providerMetadata\": {\"orgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"shortName\": \"GitHub_M\", \"dateUpdated\": \"2025-12-05T18:19:06.061Z\"}}}",
"cveMetadata": "{\"cveId\": \"CVE-2025-66570\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2025-12-05T18:40:09.318Z\", \"dateReserved\": \"2025-12-04T16:17:35.386Z\", \"assignerOrgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"datePublished\": \"2025-12-05T18:18:02.928Z\", \"assignerShortName\": \"GitHub_M\"}",
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
}
}
FKIE_CVE-2025-66570
Vulnerability from fkie_nvd - Published: 2025-12-05 19:15 - Updated: 2025-12-10 15:02
Severity
10.0 (Critical) - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N
9.8 (Critical) - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
9.8 (Critical) - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Summary
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 inject headers named REMOTE_ADDR, REMOTE_PORT, LOCAL_ADDR, LOCAL_PORT that are parsed into the request header multimap via read_headers() in httplib.h (headers.emplace), then the server later appends its own internal metadata using the same header names in Server::process_request without erasing duplicates. Because Request::get_header_value returns the first entry for a header key (id == 0) and the client-supplied headers are parsed before server-inserted headers, downstream code that uses these header names may inadvertently use attacker-controlled values. Affected files/locations: cpp-httplib/httplib.h (read_headers, Server::process_request, Request::get_header_value, get_header_value_u64) and cpp-httplib/docker/main.cc (get_client_ip, nginx_access_logger, nginx_error_logger). Attack surface: attacker-controlled HTTP headers in incoming requests flow into the Request.headers multimap and into logging code that reads forwarded headers, enabling IP spoofing, log poisoning, and authorization bypass via header shadowing. This vulnerability is fixed in 0.27.0.
References
Impacted products
| Vendor | Product | Version | |
|---|---|---|---|
| yhirose | cpp-httplib | * |
{
"configurations": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:yhirose:cpp-httplib:*:*:*:*:*:*:*:*",
"matchCriteriaId": "833767D4-2EB6-44EB-AF07-8942AF6F6075",
"versionEndExcluding": "0.27.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "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 inject headers named REMOTE_ADDR, REMOTE_PORT, LOCAL_ADDR, LOCAL_PORT that are parsed into the request header multimap via read_headers() in httplib.h (headers.emplace), then the server later appends its own internal metadata using the same header names in Server::process_request without erasing duplicates. Because Request::get_header_value returns the first entry for a header key (id == 0) and the client-supplied headers are parsed before server-inserted headers, downstream code that uses these header names may inadvertently use attacker-controlled values. Affected files/locations: cpp-httplib/httplib.h (read_headers, Server::process_request, Request::get_header_value, get_header_value_u64) and cpp-httplib/docker/main.cc (get_client_ip, nginx_access_logger, nginx_error_logger). Attack surface: attacker-controlled HTTP headers in incoming requests flow into the Request.headers multimap and into logging code that reads forwarded headers, enabling IP spoofing, log poisoning, and authorization bypass via header shadowing. This vulnerability is fixed in 0.27.0."
},
{
"lang": "es",
"value": "cpp-httplib es una biblioteca HTTP/HTTPS multiplataforma de un solo archivo de cabecera \u00fanica para C++11. Versiones anteriores a 0.27.0, una vulnerabilidad permite que los encabezados HTTP controlados por el atacante influyan en los metadatos visibles para el servidor, el registro y las decisiones de autorizaci\u00f3n. Un atacante puede inyectar encabezados llamados REMOTE_ADDR, REMOTE_PORT, LOCAL_ADDR, LOCAL_PORT que se analizan en el multimapa de encabezados de solicitud a trav\u00e9s de read_headers() en httplib.h (headers.emplace), luego el servidor posteriormente a\u00f1ade sus propios metadatos internos usando los mismos nombres de encabezado en Server::process_request sin borrar duplicados. Debido a que Request::get_header_value devuelve la primera entrada para una clave de encabezado (id == 0) y los encabezados proporcionados por el cliente se analizan antes que los encabezados insertados por el servidor, el c\u00f3digo descendente que utiliza estos nombres de encabezado puede usar inadvertidamente valores controlados por el atacante. Archivos/ubicaciones afectados: cpp-httplib/httplib.h (read_headers, Server::process_request, Request::get_header_value, get_header_value_u64) y cpp-httplib/docker/main.cc (get_client_ip, nginx_access_logger, nginx_error_logger). Superficie de ataque: los encabezados HTTP controlados por el atacante en las solicitudes entrantes fluyen hacia el multimapa Request.headers y hacia el c\u00f3digo de registro que lee los encabezados reenviados, lo que permite la suplantaci\u00f3n de IP, el envenenamiento de registros y la omisi\u00f3n de autorizaci\u00f3n a trav\u00e9s del sombreado de encabezados. Esta vulnerabilidad se corrige en 0.27.0."
}
],
"id": "CVE-2025-66570",
"lastModified": "2025-12-10T15:02:46.533",
"metrics": {
"cvssMetricV31": [
{
"cvssData": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "NONE",
"baseScore": 10.0,
"baseSeverity": "CRITICAL",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "NONE",
"scope": "CHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N",
"version": "3.1"
},
"exploitabilityScore": 3.9,
"impactScore": 5.8,
"source": "security-advisories@github.com",
"type": "Secondary"
},
{
"cvssData": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 9.8,
"baseSeverity": "CRITICAL",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"exploitabilityScore": 3.9,
"impactScore": 5.9,
"source": "nvd@nist.gov",
"type": "Primary"
}
]
},
"published": "2025-12-05T19:15:51.923",
"references": [
{
"source": "security-advisories@github.com",
"tags": [
"Patch"
],
"url": "https://github.com/yhirose/cpp-httplib/commit/ac9ebb0ee333ce8bf13523f487bdfad9518a2aff"
},
{
"source": "security-advisories@github.com",
"tags": [
"Exploit",
"Vendor Advisory"
],
"url": "https://github.com/yhirose/cpp-httplib/security/advisories/GHSA-xm2j-vfr9-mg9m"
}
],
"sourceIdentifier": "security-advisories@github.com",
"vulnStatus": "Analyzed",
"weaknesses": [
{
"description": [
{
"lang": "en",
"value": "CWE-290"
},
{
"lang": "en",
"value": "CWE-345"
},
{
"lang": "en",
"value": "CWE-807"
}
],
"source": "security-advisories@github.com",
"type": "Secondary"
}
]
}
OPENSUSE-SU-2025:15844-1
Vulnerability from csaf_opensuse - Published: 2025-12-24 00:00 - Updated: 2025-12-24 00:00Summary
cpp-httplib-devel-0.28.0-1.1 on GA media
Severity
Moderate
Notes
Title of the patch: cpp-httplib-devel-0.28.0-1.1 on GA media
Description of the patch: These are all security issues fixed in the cpp-httplib-devel-0.28.0-1.1 package on the GA media of openSUSE Tumbleweed.
Patchnames: openSUSE-Tumbleweed-2025-15844
Terms of use: CSAF 2.0 data is provided by SUSE under the Creative Commons License 4.0 with Attribution (CC-BY-4.0).
10 (Critical)
Affected products
Recommended
8 products
| Product | Identifier | Version | Remediation |
|---|---|---|---|
| Unresolved product id: openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.x86_64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.x86_64 | — |
Vendor Fix
|
Threats
Impact
critical
5.3 (Medium)
Affected products
Recommended
8 products
| Product | Identifier | Version | Remediation |
|---|---|---|---|
| Unresolved product id: openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.x86_64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.x86_64 | — |
Vendor Fix
|
Threats
Impact
moderate
References
8 references
{
"document": {
"aggregate_severity": {
"namespace": "https://www.suse.com/support/security/rating/",
"text": "moderate"
},
"category": "csaf_security_advisory",
"csaf_version": "2.0",
"distribution": {
"text": "Copyright 2024 SUSE LLC. All rights reserved.",
"tlp": {
"label": "WHITE",
"url": "https://www.first.org/tlp/"
}
},
"lang": "en",
"notes": [
{
"category": "summary",
"text": "cpp-httplib-devel-0.28.0-1.1 on GA media",
"title": "Title of the patch"
},
{
"category": "description",
"text": "These are all security issues fixed in the cpp-httplib-devel-0.28.0-1.1 package on the GA media of openSUSE Tumbleweed.",
"title": "Description of the patch"
},
{
"category": "details",
"text": "openSUSE-Tumbleweed-2025-15844",
"title": "Patchnames"
},
{
"category": "legal_disclaimer",
"text": "CSAF 2.0 data is provided by SUSE under the Creative Commons License 4.0 with Attribution (CC-BY-4.0).",
"title": "Terms of use"
}
],
"publisher": {
"category": "vendor",
"contact_details": "https://www.suse.com/support/security/contact/",
"name": "SUSE Product Security Team",
"namespace": "https://www.suse.com/"
},
"references": [
{
"category": "external",
"summary": "SUSE ratings",
"url": "https://www.suse.com/support/security/rating/"
},
{
"category": "self",
"summary": "URL of this CSAF notice",
"url": "https://ftp.suse.com/pub/projects/security/csaf/opensuse-su-2025_15844-1.json"
},
{
"category": "self",
"summary": "SUSE CVE CVE-2025-66570 page",
"url": "https://www.suse.com/security/cve/CVE-2025-66570/"
},
{
"category": "self",
"summary": "SUSE CVE CVE-2025-66577 page",
"url": "https://www.suse.com/security/cve/CVE-2025-66577/"
}
],
"title": "cpp-httplib-devel-0.28.0-1.1 on GA media",
"tracking": {
"current_release_date": "2025-12-24T00:00:00Z",
"generator": {
"date": "2025-12-24T00:00:00Z",
"engine": {
"name": "cve-database.git:bin/generate-csaf.pl",
"version": "1"
}
},
"id": "openSUSE-SU-2025:15844-1",
"initial_release_date": "2025-12-24T00:00:00Z",
"revision_history": [
{
"date": "2025-12-24T00:00:00Z",
"number": "1",
"summary": "Current version"
}
],
"status": "final",
"version": "1"
}
},
"product_tree": {
"branches": [
{
"branches": [
{
"branches": [
{
"category": "product_version",
"name": "cpp-httplib-devel-0.28.0-1.1.aarch64",
"product": {
"name": "cpp-httplib-devel-0.28.0-1.1.aarch64",
"product_id": "cpp-httplib-devel-0.28.0-1.1.aarch64"
}
},
{
"category": "product_version",
"name": "libcpp-httplib0_28-0.28.0-1.1.aarch64",
"product": {
"name": "libcpp-httplib0_28-0.28.0-1.1.aarch64",
"product_id": "libcpp-httplib0_28-0.28.0-1.1.aarch64"
}
}
],
"category": "architecture",
"name": "aarch64"
},
{
"branches": [
{
"category": "product_version",
"name": "cpp-httplib-devel-0.28.0-1.1.ppc64le",
"product": {
"name": "cpp-httplib-devel-0.28.0-1.1.ppc64le",
"product_id": "cpp-httplib-devel-0.28.0-1.1.ppc64le"
}
},
{
"category": "product_version",
"name": "libcpp-httplib0_28-0.28.0-1.1.ppc64le",
"product": {
"name": "libcpp-httplib0_28-0.28.0-1.1.ppc64le",
"product_id": "libcpp-httplib0_28-0.28.0-1.1.ppc64le"
}
}
],
"category": "architecture",
"name": "ppc64le"
},
{
"branches": [
{
"category": "product_version",
"name": "cpp-httplib-devel-0.28.0-1.1.s390x",
"product": {
"name": "cpp-httplib-devel-0.28.0-1.1.s390x",
"product_id": "cpp-httplib-devel-0.28.0-1.1.s390x"
}
},
{
"category": "product_version",
"name": "libcpp-httplib0_28-0.28.0-1.1.s390x",
"product": {
"name": "libcpp-httplib0_28-0.28.0-1.1.s390x",
"product_id": "libcpp-httplib0_28-0.28.0-1.1.s390x"
}
}
],
"category": "architecture",
"name": "s390x"
},
{
"branches": [
{
"category": "product_version",
"name": "cpp-httplib-devel-0.28.0-1.1.x86_64",
"product": {
"name": "cpp-httplib-devel-0.28.0-1.1.x86_64",
"product_id": "cpp-httplib-devel-0.28.0-1.1.x86_64"
}
},
{
"category": "product_version",
"name": "libcpp-httplib0_28-0.28.0-1.1.x86_64",
"product": {
"name": "libcpp-httplib0_28-0.28.0-1.1.x86_64",
"product_id": "libcpp-httplib0_28-0.28.0-1.1.x86_64"
}
}
],
"category": "architecture",
"name": "x86_64"
},
{
"branches": [
{
"category": "product_name",
"name": "openSUSE Tumbleweed",
"product": {
"name": "openSUSE Tumbleweed",
"product_id": "openSUSE Tumbleweed",
"product_identification_helper": {
"cpe": "cpe:/o:opensuse:tumbleweed"
}
}
}
],
"category": "product_family",
"name": "SUSE Linux Enterprise"
}
],
"category": "vendor",
"name": "SUSE"
}
],
"relationships": [
{
"category": "default_component_of",
"full_product_name": {
"name": "cpp-httplib-devel-0.28.0-1.1.aarch64 as component of openSUSE Tumbleweed",
"product_id": "openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.aarch64"
},
"product_reference": "cpp-httplib-devel-0.28.0-1.1.aarch64",
"relates_to_product_reference": "openSUSE Tumbleweed"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "cpp-httplib-devel-0.28.0-1.1.ppc64le as component of openSUSE Tumbleweed",
"product_id": "openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.ppc64le"
},
"product_reference": "cpp-httplib-devel-0.28.0-1.1.ppc64le",
"relates_to_product_reference": "openSUSE Tumbleweed"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "cpp-httplib-devel-0.28.0-1.1.s390x as component of openSUSE Tumbleweed",
"product_id": "openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.s390x"
},
"product_reference": "cpp-httplib-devel-0.28.0-1.1.s390x",
"relates_to_product_reference": "openSUSE Tumbleweed"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "cpp-httplib-devel-0.28.0-1.1.x86_64 as component of openSUSE Tumbleweed",
"product_id": "openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.x86_64"
},
"product_reference": "cpp-httplib-devel-0.28.0-1.1.x86_64",
"relates_to_product_reference": "openSUSE Tumbleweed"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "libcpp-httplib0_28-0.28.0-1.1.aarch64 as component of openSUSE Tumbleweed",
"product_id": "openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.aarch64"
},
"product_reference": "libcpp-httplib0_28-0.28.0-1.1.aarch64",
"relates_to_product_reference": "openSUSE Tumbleweed"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "libcpp-httplib0_28-0.28.0-1.1.ppc64le as component of openSUSE Tumbleweed",
"product_id": "openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.ppc64le"
},
"product_reference": "libcpp-httplib0_28-0.28.0-1.1.ppc64le",
"relates_to_product_reference": "openSUSE Tumbleweed"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "libcpp-httplib0_28-0.28.0-1.1.s390x as component of openSUSE Tumbleweed",
"product_id": "openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.s390x"
},
"product_reference": "libcpp-httplib0_28-0.28.0-1.1.s390x",
"relates_to_product_reference": "openSUSE Tumbleweed"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "libcpp-httplib0_28-0.28.0-1.1.x86_64 as component of openSUSE Tumbleweed",
"product_id": "openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.x86_64"
},
"product_reference": "libcpp-httplib0_28-0.28.0-1.1.x86_64",
"relates_to_product_reference": "openSUSE Tumbleweed"
}
]
},
"vulnerabilities": [
{
"cve": "CVE-2025-66570",
"ids": [
{
"system_name": "SUSE CVE Page",
"text": "https://www.suse.com/security/cve/CVE-2025-66570"
}
],
"notes": [
{
"category": "general",
"text": "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 inject headers named REMOTE_ADDR, REMOTE_PORT, LOCAL_ADDR, LOCAL_PORT that are parsed into the request header multimap via read_headers() in httplib.h (headers.emplace), then the server later appends its own internal metadata using the same header names in Server::process_request without erasing duplicates. Because Request::get_header_value returns the first entry for a header key (id == 0) and the client-supplied headers are parsed before server-inserted headers, downstream code that uses these header names may inadvertently use attacker-controlled values. Affected files/locations: cpp-httplib/httplib.h (read_headers, Server::process_request, Request::get_header_value, get_header_value_u64) and cpp-httplib/docker/main.cc (get_client_ip, nginx_access_logger, nginx_error_logger). Attack surface: attacker-controlled HTTP headers in incoming requests flow into the Request.headers multimap and into logging code that reads forwarded headers, enabling IP spoofing, log poisoning, and authorization bypass via header shadowing. This vulnerability is fixed in 0.27.0.",
"title": "CVE description"
}
],
"product_status": {
"recommended": [
"openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.aarch64",
"openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.ppc64le",
"openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.s390x",
"openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.x86_64",
"openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.aarch64",
"openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.ppc64le",
"openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.s390x",
"openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.x86_64"
]
},
"references": [
{
"category": "external",
"summary": "CVE-2025-66570",
"url": "https://www.suse.com/security/cve/CVE-2025-66570"
},
{
"category": "external",
"summary": "SUSE Bug 1254734 for CVE-2025-66570",
"url": "https://bugzilla.suse.com/1254734"
}
],
"remediations": [
{
"category": "vendor_fix",
"details": "To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or \"zypper patch\".\n",
"product_ids": [
"openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.aarch64",
"openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.ppc64le",
"openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.s390x",
"openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.x86_64",
"openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.aarch64",
"openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.ppc64le",
"openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.s390x",
"openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.x86_64"
]
}
],
"scores": [
{
"cvss_v3": {
"baseScore": 10,
"baseSeverity": "CRITICAL",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N",
"version": "3.1"
},
"products": [
"openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.aarch64",
"openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.ppc64le",
"openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.s390x",
"openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.x86_64",
"openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.aarch64",
"openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.ppc64le",
"openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.s390x",
"openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.x86_64"
]
}
],
"threats": [
{
"category": "impact",
"date": "2025-12-24T00:00:00Z",
"details": "critical"
}
],
"title": "CVE-2025-66570"
},
{
"cve": "CVE-2025-66577",
"ids": [
{
"system_name": "SUSE CVE Page",
"text": "https://www.suse.com/security/cve/CVE-2025-66577"
}
],
"notes": [
{
"category": "general",
"text": "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.",
"title": "CVE description"
}
],
"product_status": {
"recommended": [
"openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.aarch64",
"openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.ppc64le",
"openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.s390x",
"openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.x86_64",
"openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.aarch64",
"openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.ppc64le",
"openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.s390x",
"openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.x86_64"
]
},
"references": [
{
"category": "external",
"summary": "CVE-2025-66577",
"url": "https://www.suse.com/security/cve/CVE-2025-66577"
},
{
"category": "external",
"summary": "SUSE Bug 1254735 for CVE-2025-66577",
"url": "https://bugzilla.suse.com/1254735"
}
],
"remediations": [
{
"category": "vendor_fix",
"details": "To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or \"zypper patch\".\n",
"product_ids": [
"openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.aarch64",
"openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.ppc64le",
"openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.s390x",
"openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.x86_64",
"openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.aarch64",
"openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.ppc64le",
"openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.s390x",
"openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.x86_64"
]
}
],
"scores": [
{
"cvss_v3": {
"baseScore": 5.3,
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N",
"version": "3.1"
},
"products": [
"openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.aarch64",
"openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.ppc64le",
"openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.s390x",
"openSUSE Tumbleweed:cpp-httplib-devel-0.28.0-1.1.x86_64",
"openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.aarch64",
"openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.ppc64le",
"openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.s390x",
"openSUSE Tumbleweed:libcpp-httplib0_28-0.28.0-1.1.x86_64"
]
}
],
"threats": [
{
"category": "impact",
"date": "2025-12-24T00:00:00Z",
"details": "moderate"
}
],
"title": "CVE-2025-66577"
}
]
}
OPENSUSE-SU-2026:20056-1
Vulnerability from csaf_opensuse - Published: 2026-01-15 22:11 - Updated: 2026-01-15 22:11Summary
Security update for cpp-httplib
Severity
Critical
Notes
Title of the patch: Security update for cpp-httplib
Description of the patch: This update for cpp-httplib fixes the following issues:
- CVE-2025-66570: IP spoofing, log poisoning, and authorization bypass via header shadowing due to acceptance and
parsing of client-controlled injected HTTP headers in incoming requests (bsc#1254734).
- CVE-2025-66577: access and error log poisoning with spoofed client IPs due to unconditional acceptance of
client-controlled `X-Forwarded-For` and `X-Real-IP` headers (bsc#1254735).
Patchnames: openSUSE-Leap-16.0-150
Terms of use: CSAF 2.0 data is provided by SUSE under the Creative Commons License 4.0 with Attribution (CC-BY-4.0).
10 (Critical)
Affected products
Recommended
8 products
| Product | Identifier | Version | Remediation |
|---|---|---|---|
| Unresolved product id: openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.x86_64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.x86_64 | — |
Vendor Fix
|
Threats
Impact
critical
5.3 (Medium)
Affected products
Recommended
8 products
| Product | Identifier | Version | Remediation |
|---|---|---|---|
| Unresolved product id: openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.x86_64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.x86_64 | — |
Vendor Fix
|
Threats
Impact
moderate
References
10 references
{
"document": {
"aggregate_severity": {
"namespace": "https://www.suse.com/support/security/rating/",
"text": "critical"
},
"category": "csaf_security_advisory",
"csaf_version": "2.0",
"distribution": {
"text": "Copyright 2024 SUSE LLC. All rights reserved.",
"tlp": {
"label": "WHITE",
"url": "https://www.first.org/tlp/"
}
},
"lang": "en",
"notes": [
{
"category": "summary",
"text": "Security update for cpp-httplib",
"title": "Title of the patch"
},
{
"category": "description",
"text": "This update for cpp-httplib fixes the following issues:\n\n- CVE-2025-66570: IP spoofing, log poisoning, and authorization bypass via header shadowing due to acceptance and\n parsing of client-controlled injected HTTP headers in incoming requests (bsc#1254734).\n- CVE-2025-66577: access and error log poisoning with spoofed client IPs due to unconditional acceptance of\n client-controlled `X-Forwarded-For` and `X-Real-IP` headers (bsc#1254735).\n",
"title": "Description of the patch"
},
{
"category": "details",
"text": "openSUSE-Leap-16.0-150",
"title": "Patchnames"
},
{
"category": "legal_disclaimer",
"text": "CSAF 2.0 data is provided by SUSE under the Creative Commons License 4.0 with Attribution (CC-BY-4.0).",
"title": "Terms of use"
}
],
"publisher": {
"category": "vendor",
"contact_details": "https://www.suse.com/support/security/contact/",
"name": "SUSE Product Security Team",
"namespace": "https://www.suse.com/"
},
"references": [
{
"category": "external",
"summary": "SUSE ratings",
"url": "https://www.suse.com/support/security/rating/"
},
{
"category": "self",
"summary": "URL of this CSAF notice",
"url": "https://ftp.suse.com/pub/projects/security/csaf/opensuse-su-2026_20056-1.json"
},
{
"category": "self",
"summary": "SUSE Bug 1254734",
"url": "https://bugzilla.suse.com/1254734"
},
{
"category": "self",
"summary": "SUSE Bug 1254735",
"url": "https://bugzilla.suse.com/1254735"
},
{
"category": "self",
"summary": "SUSE CVE CVE-2025-66570 page",
"url": "https://www.suse.com/security/cve/CVE-2025-66570/"
},
{
"category": "self",
"summary": "SUSE CVE CVE-2025-66577 page",
"url": "https://www.suse.com/security/cve/CVE-2025-66577/"
}
],
"title": "Security update for cpp-httplib",
"tracking": {
"current_release_date": "2026-01-15T22:11:25Z",
"generator": {
"date": "2026-01-15T22:11:25Z",
"engine": {
"name": "cve-database.git:bin/generate-csaf.pl",
"version": "1"
}
},
"id": "openSUSE-SU-2026:20056-1",
"initial_release_date": "2026-01-15T22:11:25Z",
"revision_history": [
{
"date": "2026-01-15T22:11:25Z",
"number": "1",
"summary": "Current version"
}
],
"status": "final",
"version": "1"
}
},
"product_tree": {
"branches": [
{
"branches": [
{
"branches": [
{
"category": "product_version",
"name": "cpp-httplib-devel-0.22.0-160000.3.1.aarch64",
"product": {
"name": "cpp-httplib-devel-0.22.0-160000.3.1.aarch64",
"product_id": "cpp-httplib-devel-0.22.0-160000.3.1.aarch64"
}
},
{
"category": "product_version",
"name": "libcpp-httplib0_22-0.22.0-160000.3.1.aarch64",
"product": {
"name": "libcpp-httplib0_22-0.22.0-160000.3.1.aarch64",
"product_id": "libcpp-httplib0_22-0.22.0-160000.3.1.aarch64"
}
}
],
"category": "architecture",
"name": "aarch64"
},
{
"branches": [
{
"category": "product_version",
"name": "cpp-httplib-devel-0.22.0-160000.3.1.ppc64le",
"product": {
"name": "cpp-httplib-devel-0.22.0-160000.3.1.ppc64le",
"product_id": "cpp-httplib-devel-0.22.0-160000.3.1.ppc64le"
}
},
{
"category": "product_version",
"name": "libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le",
"product": {
"name": "libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le",
"product_id": "libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le"
}
}
],
"category": "architecture",
"name": "ppc64le"
},
{
"branches": [
{
"category": "product_version",
"name": "cpp-httplib-devel-0.22.0-160000.3.1.s390x",
"product": {
"name": "cpp-httplib-devel-0.22.0-160000.3.1.s390x",
"product_id": "cpp-httplib-devel-0.22.0-160000.3.1.s390x"
}
},
{
"category": "product_version",
"name": "libcpp-httplib0_22-0.22.0-160000.3.1.s390x",
"product": {
"name": "libcpp-httplib0_22-0.22.0-160000.3.1.s390x",
"product_id": "libcpp-httplib0_22-0.22.0-160000.3.1.s390x"
}
}
],
"category": "architecture",
"name": "s390x"
},
{
"branches": [
{
"category": "product_version",
"name": "cpp-httplib-devel-0.22.0-160000.3.1.x86_64",
"product": {
"name": "cpp-httplib-devel-0.22.0-160000.3.1.x86_64",
"product_id": "cpp-httplib-devel-0.22.0-160000.3.1.x86_64"
}
},
{
"category": "product_version",
"name": "libcpp-httplib0_22-0.22.0-160000.3.1.x86_64",
"product": {
"name": "libcpp-httplib0_22-0.22.0-160000.3.1.x86_64",
"product_id": "libcpp-httplib0_22-0.22.0-160000.3.1.x86_64"
}
}
],
"category": "architecture",
"name": "x86_64"
},
{
"branches": [
{
"category": "product_name",
"name": "openSUSE Leap 16.0",
"product": {
"name": "openSUSE Leap 16.0",
"product_id": "openSUSE Leap 16.0"
}
}
],
"category": "product_family",
"name": "SUSE Linux Enterprise"
}
],
"category": "vendor",
"name": "SUSE"
}
],
"relationships": [
{
"category": "default_component_of",
"full_product_name": {
"name": "cpp-httplib-devel-0.22.0-160000.3.1.aarch64 as component of openSUSE Leap 16.0",
"product_id": "openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.aarch64"
},
"product_reference": "cpp-httplib-devel-0.22.0-160000.3.1.aarch64",
"relates_to_product_reference": "openSUSE Leap 16.0"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "cpp-httplib-devel-0.22.0-160000.3.1.ppc64le as component of openSUSE Leap 16.0",
"product_id": "openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.ppc64le"
},
"product_reference": "cpp-httplib-devel-0.22.0-160000.3.1.ppc64le",
"relates_to_product_reference": "openSUSE Leap 16.0"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "cpp-httplib-devel-0.22.0-160000.3.1.s390x as component of openSUSE Leap 16.0",
"product_id": "openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.s390x"
},
"product_reference": "cpp-httplib-devel-0.22.0-160000.3.1.s390x",
"relates_to_product_reference": "openSUSE Leap 16.0"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "cpp-httplib-devel-0.22.0-160000.3.1.x86_64 as component of openSUSE Leap 16.0",
"product_id": "openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.x86_64"
},
"product_reference": "cpp-httplib-devel-0.22.0-160000.3.1.x86_64",
"relates_to_product_reference": "openSUSE Leap 16.0"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "libcpp-httplib0_22-0.22.0-160000.3.1.aarch64 as component of openSUSE Leap 16.0",
"product_id": "openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.aarch64"
},
"product_reference": "libcpp-httplib0_22-0.22.0-160000.3.1.aarch64",
"relates_to_product_reference": "openSUSE Leap 16.0"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le as component of openSUSE Leap 16.0",
"product_id": "openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le"
},
"product_reference": "libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le",
"relates_to_product_reference": "openSUSE Leap 16.0"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "libcpp-httplib0_22-0.22.0-160000.3.1.s390x as component of openSUSE Leap 16.0",
"product_id": "openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.s390x"
},
"product_reference": "libcpp-httplib0_22-0.22.0-160000.3.1.s390x",
"relates_to_product_reference": "openSUSE Leap 16.0"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "libcpp-httplib0_22-0.22.0-160000.3.1.x86_64 as component of openSUSE Leap 16.0",
"product_id": "openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.x86_64"
},
"product_reference": "libcpp-httplib0_22-0.22.0-160000.3.1.x86_64",
"relates_to_product_reference": "openSUSE Leap 16.0"
}
]
},
"vulnerabilities": [
{
"cve": "CVE-2025-66570",
"ids": [
{
"system_name": "SUSE CVE Page",
"text": "https://www.suse.com/security/cve/CVE-2025-66570"
}
],
"notes": [
{
"category": "general",
"text": "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 inject headers named REMOTE_ADDR, REMOTE_PORT, LOCAL_ADDR, LOCAL_PORT that are parsed into the request header multimap via read_headers() in httplib.h (headers.emplace), then the server later appends its own internal metadata using the same header names in Server::process_request without erasing duplicates. Because Request::get_header_value returns the first entry for a header key (id == 0) and the client-supplied headers are parsed before server-inserted headers, downstream code that uses these header names may inadvertently use attacker-controlled values. Affected files/locations: cpp-httplib/httplib.h (read_headers, Server::process_request, Request::get_header_value, get_header_value_u64) and cpp-httplib/docker/main.cc (get_client_ip, nginx_access_logger, nginx_error_logger). Attack surface: attacker-controlled HTTP headers in incoming requests flow into the Request.headers multimap and into logging code that reads forwarded headers, enabling IP spoofing, log poisoning, and authorization bypass via header shadowing. This vulnerability is fixed in 0.27.0.",
"title": "CVE description"
}
],
"product_status": {
"recommended": [
"openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.aarch64",
"openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.ppc64le",
"openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.s390x",
"openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.x86_64",
"openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.aarch64",
"openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le",
"openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.s390x",
"openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.x86_64"
]
},
"references": [
{
"category": "external",
"summary": "CVE-2025-66570",
"url": "https://www.suse.com/security/cve/CVE-2025-66570"
},
{
"category": "external",
"summary": "SUSE Bug 1254734 for CVE-2025-66570",
"url": "https://bugzilla.suse.com/1254734"
}
],
"remediations": [
{
"category": "vendor_fix",
"details": "To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or \"zypper patch\".\n",
"product_ids": [
"openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.aarch64",
"openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.ppc64le",
"openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.s390x",
"openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.x86_64",
"openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.aarch64",
"openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le",
"openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.s390x",
"openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.x86_64"
]
}
],
"scores": [
{
"cvss_v3": {
"baseScore": 10,
"baseSeverity": "CRITICAL",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N",
"version": "3.1"
},
"products": [
"openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.aarch64",
"openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.ppc64le",
"openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.s390x",
"openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.x86_64",
"openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.aarch64",
"openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le",
"openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.s390x",
"openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.x86_64"
]
}
],
"threats": [
{
"category": "impact",
"date": "2026-01-15T22:11:25Z",
"details": "critical"
}
],
"title": "CVE-2025-66570"
},
{
"cve": "CVE-2025-66577",
"ids": [
{
"system_name": "SUSE CVE Page",
"text": "https://www.suse.com/security/cve/CVE-2025-66577"
}
],
"notes": [
{
"category": "general",
"text": "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.",
"title": "CVE description"
}
],
"product_status": {
"recommended": [
"openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.aarch64",
"openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.ppc64le",
"openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.s390x",
"openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.x86_64",
"openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.aarch64",
"openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le",
"openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.s390x",
"openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.x86_64"
]
},
"references": [
{
"category": "external",
"summary": "CVE-2025-66577",
"url": "https://www.suse.com/security/cve/CVE-2025-66577"
},
{
"category": "external",
"summary": "SUSE Bug 1254735 for CVE-2025-66577",
"url": "https://bugzilla.suse.com/1254735"
}
],
"remediations": [
{
"category": "vendor_fix",
"details": "To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or \"zypper patch\".\n",
"product_ids": [
"openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.aarch64",
"openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.ppc64le",
"openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.s390x",
"openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.x86_64",
"openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.aarch64",
"openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le",
"openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.s390x",
"openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.x86_64"
]
}
],
"scores": [
{
"cvss_v3": {
"baseScore": 5.3,
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N",
"version": "3.1"
},
"products": [
"openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.aarch64",
"openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.ppc64le",
"openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.s390x",
"openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.3.1.x86_64",
"openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.aarch64",
"openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le",
"openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.s390x",
"openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.x86_64"
]
}
],
"threats": [
{
"category": "impact",
"date": "2026-01-15T22:11:25Z",
"details": "moderate"
}
],
"title": "CVE-2025-66577"
}
]
}
SUSE-SU-2026:20090-1
Vulnerability from csaf_suse - Published: 2026-01-15 22:11 - Updated: 2026-01-15 22:11Summary
Security update for cpp-httplib
Severity
Critical
Notes
Title of the patch: Security update for cpp-httplib
Description of the patch: This update for cpp-httplib fixes the following issues:
- CVE-2025-66570: IP spoofing, log poisoning, and authorization bypass via header shadowing due to acceptance and
parsing of client-controlled injected HTTP headers in incoming requests (bsc#1254734).
- CVE-2025-66577: access and error log poisoning with spoofed client IPs due to unconditional acceptance of
client-controlled `X-Forwarded-For` and `X-Real-IP` headers (bsc#1254735).
Patchnames: SUSE-SLES-16.0-150
Terms of use: CSAF 2.0 data is provided by SUSE under the Creative Commons License 4.0 with Attribution (CC-BY-4.0).
10 (Critical)
Affected products
Recommended
8 products
| Product | Identifier | Version | Remediation |
|---|---|---|---|
| Unresolved product id: SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.x86_64 | — |
Vendor Fix
|
|
| Unresolved product id: SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.x86_64 | — |
Vendor Fix
|
Threats
Impact
critical
5.3 (Medium)
Affected products
Recommended
8 products
| Product | Identifier | Version | Remediation |
|---|---|---|---|
| Unresolved product id: SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.x86_64 | — |
Vendor Fix
|
|
| Unresolved product id: SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.aarch64 | — |
Vendor Fix
|
|
| Unresolved product id: SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le | — |
Vendor Fix
|
|
| Unresolved product id: SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.s390x | — |
Vendor Fix
|
|
| Unresolved product id: SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.x86_64 | — |
Vendor Fix
|
Threats
Impact
moderate
References
12 references
{
"document": {
"aggregate_severity": {
"namespace": "https://www.suse.com/support/security/rating/",
"text": "critical"
},
"category": "csaf_security_advisory",
"csaf_version": "2.0",
"distribution": {
"text": "Copyright 2024 SUSE LLC. All rights reserved.",
"tlp": {
"label": "WHITE",
"url": "https://www.first.org/tlp/"
}
},
"lang": "en",
"notes": [
{
"category": "summary",
"text": "Security update for cpp-httplib",
"title": "Title of the patch"
},
{
"category": "description",
"text": "This update for cpp-httplib fixes the following issues:\n\n- CVE-2025-66570: IP spoofing, log poisoning, and authorization bypass via header shadowing due to acceptance and\n parsing of client-controlled injected HTTP headers in incoming requests (bsc#1254734).\n- CVE-2025-66577: access and error log poisoning with spoofed client IPs due to unconditional acceptance of\n client-controlled `X-Forwarded-For` and `X-Real-IP` headers (bsc#1254735).\n",
"title": "Description of the patch"
},
{
"category": "details",
"text": "SUSE-SLES-16.0-150",
"title": "Patchnames"
},
{
"category": "legal_disclaimer",
"text": "CSAF 2.0 data is provided by SUSE under the Creative Commons License 4.0 with Attribution (CC-BY-4.0).",
"title": "Terms of use"
}
],
"publisher": {
"category": "vendor",
"contact_details": "https://www.suse.com/support/security/contact/",
"name": "SUSE Product Security Team",
"namespace": "https://www.suse.com/"
},
"references": [
{
"category": "external",
"summary": "SUSE ratings",
"url": "https://www.suse.com/support/security/rating/"
},
{
"category": "self",
"summary": "URL of this CSAF notice",
"url": "https://ftp.suse.com/pub/projects/security/csaf/suse-su-2026_20090-1.json"
},
{
"category": "self",
"summary": "URL for SUSE-SU-2026:20090-1",
"url": "https://www.suse.com/support/update/announcement/2026/suse-su-202620090-1/"
},
{
"category": "self",
"summary": "E-Mail link for SUSE-SU-2026:20090-1",
"url": "https://lists.suse.com/pipermail/sle-security-updates/2026-January/023810.html"
},
{
"category": "self",
"summary": "SUSE Bug 1254734",
"url": "https://bugzilla.suse.com/1254734"
},
{
"category": "self",
"summary": "SUSE Bug 1254735",
"url": "https://bugzilla.suse.com/1254735"
},
{
"category": "self",
"summary": "SUSE CVE CVE-2025-66570 page",
"url": "https://www.suse.com/security/cve/CVE-2025-66570/"
},
{
"category": "self",
"summary": "SUSE CVE CVE-2025-66577 page",
"url": "https://www.suse.com/security/cve/CVE-2025-66577/"
}
],
"title": "Security update for cpp-httplib",
"tracking": {
"current_release_date": "2026-01-15T22:11:51Z",
"generator": {
"date": "2026-01-15T22:11:51Z",
"engine": {
"name": "cve-database.git:bin/generate-csaf.pl",
"version": "1"
}
},
"id": "SUSE-SU-2026:20090-1",
"initial_release_date": "2026-01-15T22:11:51Z",
"revision_history": [
{
"date": "2026-01-15T22:11:51Z",
"number": "1",
"summary": "Current version"
}
],
"status": "final",
"version": "1"
}
},
"product_tree": {
"branches": [
{
"branches": [
{
"branches": [
{
"category": "product_version",
"name": "libcpp-httplib0_22-0.22.0-160000.3.1.aarch64",
"product": {
"name": "libcpp-httplib0_22-0.22.0-160000.3.1.aarch64",
"product_id": "libcpp-httplib0_22-0.22.0-160000.3.1.aarch64"
}
}
],
"category": "architecture",
"name": "aarch64"
},
{
"branches": [
{
"category": "product_version",
"name": "libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le",
"product": {
"name": "libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le",
"product_id": "libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le"
}
}
],
"category": "architecture",
"name": "ppc64le"
},
{
"branches": [
{
"category": "product_version",
"name": "libcpp-httplib0_22-0.22.0-160000.3.1.s390x",
"product": {
"name": "libcpp-httplib0_22-0.22.0-160000.3.1.s390x",
"product_id": "libcpp-httplib0_22-0.22.0-160000.3.1.s390x"
}
}
],
"category": "architecture",
"name": "s390x"
},
{
"branches": [
{
"category": "product_version",
"name": "libcpp-httplib0_22-0.22.0-160000.3.1.x86_64",
"product": {
"name": "libcpp-httplib0_22-0.22.0-160000.3.1.x86_64",
"product_id": "libcpp-httplib0_22-0.22.0-160000.3.1.x86_64"
}
}
],
"category": "architecture",
"name": "x86_64"
},
{
"branches": [
{
"category": "product_name",
"name": "SUSE Linux Enterprise Server 16.0",
"product": {
"name": "SUSE Linux Enterprise Server 16.0",
"product_id": "SUSE Linux Enterprise Server 16.0",
"product_identification_helper": {
"cpe": "cpe:/o:suse:sles:16:16.0:server"
}
}
},
{
"category": "product_name",
"name": "SUSE Linux Enterprise Server for SAP applications 16.0",
"product": {
"name": "SUSE Linux Enterprise Server for SAP applications 16.0",
"product_id": "SUSE Linux Enterprise Server for SAP applications 16.0",
"product_identification_helper": {
"cpe": "cpe:/o:suse:sles:16:16.0:server-sap"
}
}
}
],
"category": "product_family",
"name": "SUSE Linux Enterprise"
}
],
"category": "vendor",
"name": "SUSE"
}
],
"relationships": [
{
"category": "default_component_of",
"full_product_name": {
"name": "libcpp-httplib0_22-0.22.0-160000.3.1.aarch64 as component of SUSE Linux Enterprise Server 16.0",
"product_id": "SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.aarch64"
},
"product_reference": "libcpp-httplib0_22-0.22.0-160000.3.1.aarch64",
"relates_to_product_reference": "SUSE Linux Enterprise Server 16.0"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le as component of SUSE Linux Enterprise Server 16.0",
"product_id": "SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le"
},
"product_reference": "libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le",
"relates_to_product_reference": "SUSE Linux Enterprise Server 16.0"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "libcpp-httplib0_22-0.22.0-160000.3.1.s390x as component of SUSE Linux Enterprise Server 16.0",
"product_id": "SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.s390x"
},
"product_reference": "libcpp-httplib0_22-0.22.0-160000.3.1.s390x",
"relates_to_product_reference": "SUSE Linux Enterprise Server 16.0"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "libcpp-httplib0_22-0.22.0-160000.3.1.x86_64 as component of SUSE Linux Enterprise Server 16.0",
"product_id": "SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.x86_64"
},
"product_reference": "libcpp-httplib0_22-0.22.0-160000.3.1.x86_64",
"relates_to_product_reference": "SUSE Linux Enterprise Server 16.0"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "libcpp-httplib0_22-0.22.0-160000.3.1.aarch64 as component of SUSE Linux Enterprise Server for SAP applications 16.0",
"product_id": "SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.aarch64"
},
"product_reference": "libcpp-httplib0_22-0.22.0-160000.3.1.aarch64",
"relates_to_product_reference": "SUSE Linux Enterprise Server for SAP applications 16.0"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le as component of SUSE Linux Enterprise Server for SAP applications 16.0",
"product_id": "SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le"
},
"product_reference": "libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le",
"relates_to_product_reference": "SUSE Linux Enterprise Server for SAP applications 16.0"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "libcpp-httplib0_22-0.22.0-160000.3.1.s390x as component of SUSE Linux Enterprise Server for SAP applications 16.0",
"product_id": "SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.s390x"
},
"product_reference": "libcpp-httplib0_22-0.22.0-160000.3.1.s390x",
"relates_to_product_reference": "SUSE Linux Enterprise Server for SAP applications 16.0"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "libcpp-httplib0_22-0.22.0-160000.3.1.x86_64 as component of SUSE Linux Enterprise Server for SAP applications 16.0",
"product_id": "SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.x86_64"
},
"product_reference": "libcpp-httplib0_22-0.22.0-160000.3.1.x86_64",
"relates_to_product_reference": "SUSE Linux Enterprise Server for SAP applications 16.0"
}
]
},
"vulnerabilities": [
{
"cve": "CVE-2025-66570",
"ids": [
{
"system_name": "SUSE CVE Page",
"text": "https://www.suse.com/security/cve/CVE-2025-66570"
}
],
"notes": [
{
"category": "general",
"text": "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 inject headers named REMOTE_ADDR, REMOTE_PORT, LOCAL_ADDR, LOCAL_PORT that are parsed into the request header multimap via read_headers() in httplib.h (headers.emplace), then the server later appends its own internal metadata using the same header names in Server::process_request without erasing duplicates. Because Request::get_header_value returns the first entry for a header key (id == 0) and the client-supplied headers are parsed before server-inserted headers, downstream code that uses these header names may inadvertently use attacker-controlled values. Affected files/locations: cpp-httplib/httplib.h (read_headers, Server::process_request, Request::get_header_value, get_header_value_u64) and cpp-httplib/docker/main.cc (get_client_ip, nginx_access_logger, nginx_error_logger). Attack surface: attacker-controlled HTTP headers in incoming requests flow into the Request.headers multimap and into logging code that reads forwarded headers, enabling IP spoofing, log poisoning, and authorization bypass via header shadowing. This vulnerability is fixed in 0.27.0.",
"title": "CVE description"
}
],
"product_status": {
"recommended": [
"SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.aarch64",
"SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le",
"SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.s390x",
"SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.x86_64",
"SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.aarch64",
"SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le",
"SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.s390x",
"SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.x86_64"
]
},
"references": [
{
"category": "external",
"summary": "CVE-2025-66570",
"url": "https://www.suse.com/security/cve/CVE-2025-66570"
},
{
"category": "external",
"summary": "SUSE Bug 1254734 for CVE-2025-66570",
"url": "https://bugzilla.suse.com/1254734"
}
],
"remediations": [
{
"category": "vendor_fix",
"details": "To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or \"zypper patch\".\n",
"product_ids": [
"SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.aarch64",
"SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le",
"SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.s390x",
"SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.x86_64",
"SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.aarch64",
"SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le",
"SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.s390x",
"SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.x86_64"
]
}
],
"scores": [
{
"cvss_v3": {
"baseScore": 10,
"baseSeverity": "CRITICAL",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N",
"version": "3.1"
},
"products": [
"SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.aarch64",
"SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le",
"SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.s390x",
"SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.x86_64",
"SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.aarch64",
"SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le",
"SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.s390x",
"SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.x86_64"
]
}
],
"threats": [
{
"category": "impact",
"date": "2026-01-15T22:11:51Z",
"details": "critical"
}
],
"title": "CVE-2025-66570"
},
{
"cve": "CVE-2025-66577",
"ids": [
{
"system_name": "SUSE CVE Page",
"text": "https://www.suse.com/security/cve/CVE-2025-66577"
}
],
"notes": [
{
"category": "general",
"text": "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.",
"title": "CVE description"
}
],
"product_status": {
"recommended": [
"SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.aarch64",
"SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le",
"SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.s390x",
"SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.x86_64",
"SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.aarch64",
"SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le",
"SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.s390x",
"SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.x86_64"
]
},
"references": [
{
"category": "external",
"summary": "CVE-2025-66577",
"url": "https://www.suse.com/security/cve/CVE-2025-66577"
},
{
"category": "external",
"summary": "SUSE Bug 1254735 for CVE-2025-66577",
"url": "https://bugzilla.suse.com/1254735"
}
],
"remediations": [
{
"category": "vendor_fix",
"details": "To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or \"zypper patch\".\n",
"product_ids": [
"SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.aarch64",
"SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le",
"SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.s390x",
"SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.x86_64",
"SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.aarch64",
"SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le",
"SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.s390x",
"SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.x86_64"
]
}
],
"scores": [
{
"cvss_v3": {
"baseScore": 5.3,
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N",
"version": "3.1"
},
"products": [
"SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.aarch64",
"SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le",
"SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.s390x",
"SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.x86_64",
"SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.aarch64",
"SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.ppc64le",
"SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.s390x",
"SUSE Linux Enterprise Server for SAP applications 16.0:libcpp-httplib0_22-0.22.0-160000.3.1.x86_64"
]
}
],
"threats": [
{
"category": "impact",
"date": "2026-01-15T22:11:51Z",
"details": "moderate"
}
],
"title": "CVE-2025-66577"
}
]
}
Loading…
Trend slope:
-
(linear fit over daily sighting counts)
Show additional events:
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…