<?xml version="1.0" encoding="UTF-8"?>
<cvrfdoc xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:cpe="http://cpe.mitre.org/language/2.0" xmlns:cvrf="http://docs.oasis-open.org/csaf/ns/csaf-cvrf/v1.2/cvrf" xmlns:cvrf-common="http://docs.oasis-open.org/csaf/ns/csaf-cvrf/v1.2/common" xmlns:cvssv2="http://scap.nist.gov/schema/cvss-v2/1.0" xmlns:cvssv3="https://www.first.org/cvss/cvss-v3.0.xsd" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:ns0="http://purl.org/dc/elements/1.1/" xmlns:prod="http://docs.oasis-open.org/csaf/ns/csaf-cvrf/v1.2/prod" xmlns:scap-core="http://scap.nist.gov/schema/scap-core/1.0" xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:vuln="http://docs.oasis-open.org/csaf/ns/csaf-cvrf/v1.2/vuln" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://docs.oasis-open.org/csaf/ns/csaf-cvrf/v1.2/cvrf">
  <DocumentTitle xml:lang="en">CVE-2025-46728</DocumentTitle>
  <DocumentType>SUSE CVE</DocumentType>
  <DocumentPublisher Type="Vendor">
    <ContactDetails>security@suse.de</ContactDetails>
    <IssuingAuthority>SUSE Security Team</IssuingAuthority>
  </DocumentPublisher>
  <DocumentTracking>
    <Identification>
      <ID>SUSE CVE-2025-46728</ID>
    </Identification>
    <Status>Interim</Status>
    <Version>1</Version>
    <RevisionHistory>
      <Revision>
        <Number>5</Number>
        <Date>2026-03-05T00:33:47Z</Date>
        <Description>current</Description>
      </Revision>
    </RevisionHistory>
    <InitialReleaseDate>2025-05-08T23:11:52Z</InitialReleaseDate>
    <CurrentReleaseDate>2026-03-05T00:33:47Z</CurrentReleaseDate>
    <Generator>
      <Engine>cve-database/bin/generate-cvrf-cve.pl</Engine>
      <Date>2020-12-27T01:00:00Z</Date>
    </Generator>
  </DocumentTracking>
  <DocumentNotes>
    <Note Title="CVE" Type="Summary" Ordinal="1" xml:lang="en">CVE-2025-46728</Note>
    <Note Title="Mitre CVE Description" Type="Description" Ordinal="2" xml:lang="en">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.</Note>
    <Note Title="Terms of Use" Type="Legal Disclaimer" Ordinal="4" xml:lang="en">The CVRF data is provided by SUSE under the Creative Commons License 4.0 with Attribution (CC-BY-4.0).</Note>
  </DocumentNotes>
  <DocumentReferences>
    <Reference Type="Self">
      <URL>https://www.suse.com/support/security/rating/</URL>
      <Description>SUSE Security Ratings</Description>
    </Reference>
  </DocumentReferences>
  <ProductTree xmlns="http://docs.oasis-open.org/csaf/ns/csaf-cvrf/v1.2/prod">
    <Branch Type="Product Family" Name="SUSE Linux Enterprise Server 16.0">
      <Branch Type="Product Name" Name="SUSE Linux Enterprise Server 16.0">
        <FullProductName ProductID="SUSE Linux Enterprise Server 16.0" CPE="cpe:/o:suse:sles:16:16.0:server">SUSE Linux Enterprise Server 16.0</FullProductName>
      </Branch>
    </Branch>
    <Branch Type="Product Family" Name="SUSE Package Hub 15 SP6">
      <Branch Type="Product Name" Name="SUSE Package Hub 15 SP6">
        <FullProductName ProductID="SUSE Package Hub 15 SP6">SUSE Package Hub 15 SP6</FullProductName>
      </Branch>
    </Branch>
    <Branch Type="Product Family" Name="openSUSE Leap 15.6">
      <Branch Type="Product Name" Name="openSUSE Leap 15.6">
        <FullProductName ProductID="openSUSE Leap 15.6" CPE="cpe:/o:opensuse:leap:15.6">openSUSE Leap 15.6</FullProductName>
      </Branch>
    </Branch>
    <Branch Type="Product Family" Name="openSUSE Tumbleweed">
      <Branch Type="Product Name" Name="openSUSE Tumbleweed">
        <FullProductName ProductID="openSUSE Tumbleweed" CPE="cpe:/o:opensuse:tumbleweed">openSUSE Tumbleweed</FullProductName>
      </Branch>
    </Branch>
    <Branch Type="Product Version" Name="cpp-httplib-devel-0.20.1-1.1">
      <FullProductName ProductID="cpp-httplib-devel-0.20.1-1.1">cpp-httplib-devel-0.20.1-1.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="cpp-httplib-devel-0.20.1-bp156.2.9.1">
      <FullProductName ProductID="cpp-httplib-devel-0.20.1-bp156.2.9.1">cpp-httplib-devel-0.20.1-bp156.2.9.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="libcpp-httplib0_12-0.12.5-bp156.2.6.1">
      <FullProductName ProductID="libcpp-httplib0_12-0.12.5-bp156.2.6.1">libcpp-httplib0_12-0.12.5-bp156.2.6.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="libcpp-httplib0_20-0.20.1-1.1">
      <FullProductName ProductID="libcpp-httplib0_20-0.20.1-1.1">libcpp-httplib0_20-0.20.1-1.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="libcpp-httplib0_20-0.20.1-bp156.2.9.1">
      <FullProductName ProductID="libcpp-httplib0_20-0.20.1-bp156.2.9.1">libcpp-httplib0_20-0.20.1-bp156.2.9.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="libcpp-httplib0_22-0.22.0-160000.2.2">
      <FullProductName ProductID="libcpp-httplib0_22-0.22.0-160000.2.2">libcpp-httplib0_22-0.22.0-160000.2.2</FullProductName>
    </Branch>
    <Relationship ProductReference="libcpp-httplib0_22-0.22.0-160000.2.2" RelationType="Default Component Of" RelatesToProductReference="SUSE Linux Enterprise Server 16.0">
      <FullProductName ProductID="SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.2.2">libcpp-httplib0_22-0.22.0-160000.2.2 as a component of SUSE Linux Enterprise Server 16.0</FullProductName>
    </Relationship>
    <Relationship ProductReference="cpp-httplib-devel-0.20.1-bp156.2.9.1" RelationType="Default Component Of" RelatesToProductReference="SUSE Package Hub 15 SP6">
      <FullProductName ProductID="SUSE Package Hub 15 SP6:cpp-httplib-devel-0.20.1-bp156.2.9.1">cpp-httplib-devel-0.20.1-bp156.2.9.1 as a component of SUSE Package Hub 15 SP6</FullProductName>
    </Relationship>
    <Relationship ProductReference="libcpp-httplib0_12-0.12.5-bp156.2.6.1" RelationType="Default Component Of" RelatesToProductReference="SUSE Package Hub 15 SP6">
      <FullProductName ProductID="SUSE Package Hub 15 SP6:libcpp-httplib0_12-0.12.5-bp156.2.6.1">libcpp-httplib0_12-0.12.5-bp156.2.6.1 as a component of SUSE Package Hub 15 SP6</FullProductName>
    </Relationship>
    <Relationship ProductReference="libcpp-httplib0_20-0.20.1-bp156.2.9.1" RelationType="Default Component Of" RelatesToProductReference="SUSE Package Hub 15 SP6">
      <FullProductName ProductID="SUSE Package Hub 15 SP6:libcpp-httplib0_20-0.20.1-bp156.2.9.1">libcpp-httplib0_20-0.20.1-bp156.2.9.1 as a component of SUSE Package Hub 15 SP6</FullProductName>
    </Relationship>
    <Relationship ProductReference="cpp-httplib-devel-0.20.1-bp156.2.9.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Leap 15.6">
      <FullProductName ProductID="openSUSE Leap 15.6:cpp-httplib-devel-0.20.1-bp156.2.9.1">cpp-httplib-devel-0.20.1-bp156.2.9.1 as a component of openSUSE Leap 15.6</FullProductName>
    </Relationship>
    <Relationship ProductReference="libcpp-httplib0_12-0.12.5-bp156.2.6.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Leap 15.6">
      <FullProductName ProductID="openSUSE Leap 15.6:libcpp-httplib0_12-0.12.5-bp156.2.6.1">libcpp-httplib0_12-0.12.5-bp156.2.6.1 as a component of openSUSE Leap 15.6</FullProductName>
    </Relationship>
    <Relationship ProductReference="libcpp-httplib0_20-0.20.1-bp156.2.9.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Leap 15.6">
      <FullProductName ProductID="openSUSE Leap 15.6:libcpp-httplib0_20-0.20.1-bp156.2.9.1">libcpp-httplib0_20-0.20.1-bp156.2.9.1 as a component of openSUSE Leap 15.6</FullProductName>
    </Relationship>
    <Relationship ProductReference="cpp-httplib-devel-0.20.1-1.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Tumbleweed">
      <FullProductName ProductID="openSUSE Tumbleweed:cpp-httplib-devel-0.20.1-1.1">cpp-httplib-devel-0.20.1-1.1 as a component of openSUSE Tumbleweed</FullProductName>
    </Relationship>
    <Relationship ProductReference="libcpp-httplib0_20-0.20.1-1.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Tumbleweed">
      <FullProductName ProductID="openSUSE Tumbleweed:libcpp-httplib0_20-0.20.1-1.1">libcpp-httplib0_20-0.20.1-1.1 as a component of openSUSE Tumbleweed</FullProductName>
    </Relationship>
  </ProductTree>
  <Vulnerability xmlns="http://docs.oasis-open.org/csaf/ns/csaf-cvrf/v1.2/vuln" Ordinal="1">
    <Notes>
      <Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">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.</Note>
    </Notes>
    <CVE>CVE-2025-46728</CVE>
    <ProductStatuses>
      <Status Type="Fixed">
        <ProductID>SUSE Linux Enterprise Server 16.0:libcpp-httplib0_22-0.22.0-160000.2.2</ProductID>
        <ProductID>SUSE Package Hub 15 SP6:cpp-httplib-devel-0.20.1-bp156.2.9.1</ProductID>
        <ProductID>SUSE Package Hub 15 SP6:libcpp-httplib0_12-0.12.5-bp156.2.6.1</ProductID>
        <ProductID>SUSE Package Hub 15 SP6:libcpp-httplib0_20-0.20.1-bp156.2.9.1</ProductID>
        <ProductID>openSUSE Leap 15.6:cpp-httplib-devel-0.20.1-bp156.2.9.1</ProductID>
        <ProductID>openSUSE Leap 15.6:libcpp-httplib0_12-0.12.5-bp156.2.6.1</ProductID>
        <ProductID>openSUSE Leap 15.6:libcpp-httplib0_20-0.20.1-bp156.2.9.1</ProductID>
        <ProductID>openSUSE Tumbleweed:cpp-httplib-devel-0.20.1-1.1</ProductID>
        <ProductID>openSUSE Tumbleweed:libcpp-httplib0_20-0.20.1-1.1</ProductID>
      </Status>
    </ProductStatuses>
    <Threats>
      <Threat Type="Impact">
        <Description>important</Description>
      </Threat>
    </Threats>
    <CVSSScoreSets>
      <ScoreSetV3>
        <BaseScoreV3>7.5</BaseScoreV3>
        <VectorV3>CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</VectorV3>
      </ScoreSetV3>
    </CVSSScoreSets>
  </Vulnerability>
</cvrfdoc>
