{"document":{"aggregate_severity":{"namespace":"https://www.suse.com/support/security/rating/","text":"important"},"category":"csaf_vex","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":"SUSE CVE-2025-46728","title":"Title"},{"category":"description","text":"cpp-httplib is a C++ header-only HTTP/HTTPS server and client library. Prior to version 0.20.1, the library fails to enforce configured size limits on incoming request bodies when `Transfer-Encoding: chunked` is used or when no `Content-Length` header is provided. A remote attacker can send a chunked request without the terminating zero-length chunk, causing uncontrolled memory allocation on the server. This leads to potential exhaustion of system memory and results in a server crash or unresponsiveness. Version 0.20.1 fixes the issue by enforcing limits during parsing. If the limit is exceeded at any point during reading, the connection is terminated immediately. A short-term workaround through a Reverse Proxy is available. If updating the library immediately is not feasible, deploy a reverse proxy (e.g., Nginx, HAProxy) in front of the `cpp-httplib` application. Configure the proxy to enforce maximum request body size limits, thereby stopping excessively large requests before they reach the vulnerable library code.","title":"Description of the CVE"},{"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":"CVE-2025-46728","url":"https://www.suse.com/security/cve/CVE-2025-46728"},{"category":"external","summary":"SUSE Security Ratings","url":"https://www.suse.com/support/security/rating/"},{"category":"external","summary":"SUSE Bug 1242777 for CVE-2025-46728","url":"https://bugzilla.suse.com/1242777"}],"title":"SUSE CVE CVE-2025-46728","tracking":{"current_release_date":"2026-03-02T00:28:39Z","generator":{"date":"2025-05-08T11:39:59Z","engine":{"name":"cve-database.git:bin/generate-csaf-vex.pl","version":"1"}},"id":"CVE-2025-46728","initial_release_date":"2025-05-08T11:39:59Z","revision_history":[{"date":"2025-05-08T11:39:59Z","number":"2","summary":"Current version"},{"date":"2025-05-13T23:39:25Z","number":"3","summary":"Current version"},{"date":"2025-05-15T09:16:46Z","number":"4","summary":"Current version"},{"date":"2025-11-02T03:55:30Z","number":"5","summary":"Current version"},{"date":"2025-11-29T00:24:27Z","number":"6","summary":"Current version"},{"date":"2026-03-02T00:28:39Z","number":"7","summary":"unknown changes"}],"status":"interim","version":"7"}},"product_tree":{"branches":[{"branches":[{"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 Package Hub 15 SP6","product":{"name":"SUSE Package Hub 15 SP6","product_id":"SUSE Package Hub 15 SP6"}},{"category":"product_name","name":"openSUSE Leap 15.6","product":{"name":"openSUSE Leap 15.6","product_id":"openSUSE Leap 15.6","product_identification_helper":{"cpe":"cpe:/o:opensuse:leap:15.6"}}},{"category":"product_name","name":"openSUSE Tumbleweed","product":{"name":"openSUSE Tumbleweed","product_id":"openSUSE Tumbleweed","product_identification_helper":{"cpe":"cpe:/o:opensuse:tumbleweed"}}},{"category":"product_version","name":"cpp-httplib-devel-0.20.1-1.1","product":{"name":"cpp-httplib-devel-0.20.1-1.1","product_id":"cpp-httplib-devel-0.20.1-1.1","product_identification_helper":{"purl":"pkg:rpm/suse/cpp-httplib-devel@0.20.1-1.1"}}},{"category":"product_version","name":"cpp-httplib-devel-0.20.1-bp156.2.9.1","product":{"name":"cpp-httplib-devel-0.20.1-bp156.2.9.1","product_id":"cpp-httplib-devel-0.20.1-bp156.2.9.1","product_identification_helper":{"purl":"pkg:rpm/suse/cpp-httplib-devel@0.20.1-bp156.2.9.1"}}},{"category":"product_version","name":"libcpp-httplib0_12-0.12.5-bp156.2.6.1","product":{"name":"libcpp-httplib0_12-0.12.5-bp156.2.6.1","product_id":"libcpp-httplib0_12-0.12.5-bp156.2.6.1","product_identification_helper":{"purl":"pkg:rpm/suse/libcpp-httplib0_12@0.12.5-bp156.2.6.1"}}},{"category":"product_version","name":"libcpp-httplib0_20-0.20.1-1.1","product":{"name":"libcpp-httplib0_20-0.20.1-1.1","product_id":"libcpp-httplib0_20-0.20.1-1.1","product_identification_helper":{"purl":"pkg:rpm/suse/libcpp-httplib0_20@0.20.1-1.1"}}},{"category":"product_version","name":"libcpp-httplib0_20-0.20.1-bp156.2.9.1","product":{"name":"libcpp-httplib0_20-0.20.1-bp156.2.9.1","product_id":"libcpp-httplib0_20-0.20.1-bp156.2.9.1","product_identification_helper":{"purl":"pkg:rpm/suse/libcpp-httplib0_20@0.20.1-bp156.2.9.1"}}},{"category":"product_version","name":"libcpp-httplib0_22-0.22.0-160000.2.2","product":{"name":"libcpp-httplib0_22-0.22.0-160000.2.2","product_id":"libcpp-httplib0_22-0.22.0-160000.2.2","product_identification_helper":{"purl":"pkg:rpm/suse/libcpp-httplib0_22@0.22.0-160000.2.2?upstream=cpp-httplib-0.22.0-160000.2.2.src.rpm"}}}],"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.2.2 as component of SUSE Linux Enterprise Server 16.0","product_id":"SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.2.2"},"product_reference":"libcpp-httplib0_22-0.22.0-160000.2.2","relates_to_product_reference":"SUSE Linux Enterprise Server 16.0"},{"category":"default_component_of","full_product_name":{"name":"cpp-httplib-devel-0.20.1-bp156.2.9.1 as component of SUSE Package Hub 15 SP6","product_id":"SUSE Package Hub 15 SP6:cpp-httplib-devel-0.20.1-bp156.2.9.1"},"product_reference":"cpp-httplib-devel-0.20.1-bp156.2.9.1","relates_to_product_reference":"SUSE Package Hub 15 SP6"},{"category":"default_component_of","full_product_name":{"name":"libcpp-httplib0_12-0.12.5-bp156.2.6.1 as component of SUSE Package Hub 15 SP6","product_id":"SUSE Package Hub 15 SP6:libcpp-httplib0_12-0.12.5-bp156.2.6.1"},"product_reference":"libcpp-httplib0_12-0.12.5-bp156.2.6.1","relates_to_product_reference":"SUSE Package Hub 15 SP6"},{"category":"default_component_of","full_product_name":{"name":"libcpp-httplib0_20-0.20.1-bp156.2.9.1 as component of SUSE Package Hub 15 SP6","product_id":"SUSE Package Hub 15 SP6:libcpp-httplib0_20-0.20.1-bp156.2.9.1"},"product_reference":"libcpp-httplib0_20-0.20.1-bp156.2.9.1","relates_to_product_reference":"SUSE Package Hub 15 SP6"},{"category":"default_component_of","full_product_name":{"name":"cpp-httplib-devel-0.20.1-bp156.2.9.1 as component of openSUSE Leap 15.6","product_id":"openSUSE Leap 15.6:cpp-httplib-devel-0.20.1-bp156.2.9.1"},"product_reference":"cpp-httplib-devel-0.20.1-bp156.2.9.1","relates_to_product_reference":"openSUSE Leap 15.6"},{"category":"default_component_of","full_product_name":{"name":"libcpp-httplib0_12-0.12.5-bp156.2.6.1 as component of openSUSE Leap 15.6","product_id":"openSUSE Leap 15.6:libcpp-httplib0_12-0.12.5-bp156.2.6.1"},"product_reference":"libcpp-httplib0_12-0.12.5-bp156.2.6.1","relates_to_product_reference":"openSUSE Leap 15.6"},{"category":"default_component_of","full_product_name":{"name":"libcpp-httplib0_20-0.20.1-bp156.2.9.1 as component of openSUSE Leap 15.6","product_id":"openSUSE Leap 15.6:libcpp-httplib0_20-0.20.1-bp156.2.9.1"},"product_reference":"libcpp-httplib0_20-0.20.1-bp156.2.9.1","relates_to_product_reference":"openSUSE Leap 15.6"},{"category":"default_component_of","full_product_name":{"name":"cpp-httplib-devel-0.20.1-1.1 as component of openSUSE Tumbleweed","product_id":"openSUSE Tumbleweed:cpp-httplib-devel-0.20.1-1.1"},"product_reference":"cpp-httplib-devel-0.20.1-1.1","relates_to_product_reference":"openSUSE Tumbleweed"},{"category":"default_component_of","full_product_name":{"name":"libcpp-httplib0_20-0.20.1-1.1 as component of openSUSE Tumbleweed","product_id":"openSUSE Tumbleweed:libcpp-httplib0_20-0.20.1-1.1"},"product_reference":"libcpp-httplib0_20-0.20.1-1.1","relates_to_product_reference":"openSUSE Tumbleweed"}]},"vulnerabilities":[{"cve":"CVE-2025-46728","ids":[{"system_name":"SUSE CVE Page","text":"https://www.suse.com/security/cve/CVE-2025-46728"}],"notes":[{"category":"general","text":"cpp-httplib is a C++ header-only HTTP/HTTPS server and client library. Prior to version 0.20.1, the library fails to enforce configured size limits on incoming request bodies when `Transfer-Encoding: chunked` is used or when no `Content-Length` header is provided. A remote attacker can send a chunked request without the terminating zero-length chunk, causing uncontrolled memory allocation on the server. This leads to potential exhaustion of system memory and results in a server crash or unresponsiveness. Version 0.20.1 fixes the issue by enforcing limits during parsing. If the limit is exceeded at any point during reading, the connection is terminated immediately. A short-term workaround through a Reverse Proxy is available. If updating the library immediately is not feasible, deploy a reverse proxy (e.g., Nginx, HAProxy) in front of the `cpp-httplib` application. Configure the proxy to enforce maximum request body size limits, thereby stopping excessively large requests before they reach the vulnerable library code.","title":"CVE description"}],"product_status":{"recommended":["SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.2.2","SUSE Package Hub 15 SP6:cpp-httplib-devel-0.20.1-bp156.2.9.1","SUSE Package Hub 15 SP6:libcpp-httplib0_12-0.12.5-bp156.2.6.1","SUSE Package Hub 15 SP6:libcpp-httplib0_20-0.20.1-bp156.2.9.1","openSUSE Leap 15.6:cpp-httplib-devel-0.20.1-bp156.2.9.1","openSUSE Leap 15.6:libcpp-httplib0_12-0.12.5-bp156.2.6.1","openSUSE Leap 15.6:libcpp-httplib0_20-0.20.1-bp156.2.9.1","openSUSE Tumbleweed:cpp-httplib-devel-0.20.1-1.1","openSUSE Tumbleweed:libcpp-httplib0_20-0.20.1-1.1"]},"references":[{"category":"external","summary":"CVE-2025-46728","url":"https://www.suse.com/security/cve/CVE-2025-46728"},{"category":"external","summary":"SUSE Security Ratings","url":"https://www.suse.com/support/security/rating/"},{"category":"external","summary":"SUSE Bug 1242777 for CVE-2025-46728","url":"https://bugzilla.suse.com/1242777"}],"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.2.2","SUSE Package Hub 15 SP6:cpp-httplib-devel-0.20.1-bp156.2.9.1","SUSE Package Hub 15 SP6:libcpp-httplib0_12-0.12.5-bp156.2.6.1","SUSE Package Hub 15 SP6:libcpp-httplib0_20-0.20.1-bp156.2.9.1","openSUSE Leap 15.6:cpp-httplib-devel-0.20.1-bp156.2.9.1","openSUSE Leap 15.6:libcpp-httplib0_12-0.12.5-bp156.2.6.1","openSUSE Leap 15.6:libcpp-httplib0_20-0.20.1-bp156.2.9.1","openSUSE Tumbleweed:cpp-httplib-devel-0.20.1-1.1","openSUSE Tumbleweed:libcpp-httplib0_20-0.20.1-1.1"]}],"scores":[{"cvss_v3":{"baseScore":7.5,"baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","version":"3.1"},"products":["SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.2.2","SUSE Package Hub 15 SP6:cpp-httplib-devel-0.20.1-bp156.2.9.1","SUSE Package Hub 15 SP6:libcpp-httplib0_12-0.12.5-bp156.2.6.1","SUSE Package Hub 15 SP6:libcpp-httplib0_20-0.20.1-bp156.2.9.1","openSUSE Leap 15.6:cpp-httplib-devel-0.20.1-bp156.2.9.1","openSUSE Leap 15.6:libcpp-httplib0_12-0.12.5-bp156.2.6.1","openSUSE Leap 15.6:libcpp-httplib0_20-0.20.1-bp156.2.9.1","openSUSE Tumbleweed:cpp-httplib-devel-0.20.1-1.1","openSUSE Tumbleweed:libcpp-httplib0_20-0.20.1-1.1"]}],"threats":[{"category":"impact","date":"2025-05-06T02:00:10Z","details":"important"}],"title":"CVE-2025-46728"}]}