<?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-61770</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-61770</ID>
    </Identification>
    <Status>Interim</Status>
    <Version>1</Version>
    <RevisionHistory>
      <Revision>
        <Number>4</Number>
        <Date>2026-03-05T00:28:00Z</Date>
        <Description>current</Description>
      </Revision>
    </RevisionHistory>
    <InitialReleaseDate>2025-11-01T00:15:14Z</InitialReleaseDate>
    <CurrentReleaseDate>2026-03-05T00:28:00Z</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-61770</Note>
    <Note Title="Mitre CVE Description" Type="Description" Ordinal="2" xml:lang="en">Rack is a modular Ruby web server interface. In versions prior to 2.2.19, 3.1.17, and 3.2.2, `Rack::Multipart::Parser` buffers the entire multipart preamble (bytes before the first boundary) in memory without any size limit. A client can send a large preamble followed by a valid boundary, causing significant memory use and potential process termination due to out-of-memory (OOM) conditions. Remote attackers can trigger large transient memory spikes by including a long preamble in multipart/form-data requests. The impact scales with allowed request sizes and concurrency, potentially causing worker crashes or severe slowdown due to garbage collection. Versions 2.2.19, 3.1.17, and 3.2.2 enforce a preamble size limit (e.g., 16 KiB) or discard preamble data entirely. Workarounds include limiting total request body size at the proxy or web server level and monitoring memory and set per-process limits to prevent OOM conditions.</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://lists.suse.com/pipermail/suse-liberty-linux-updates/2025-November/002167.html</URL>
      <Description>E-Mail link for RHSA-2025:19512</Description>
    </Reference>
    <Reference Type="Self">
      <URL>https://lists.suse.com/pipermail/suse-liberty-linux-updates/2025-November/002181.html</URL>
      <Description>E-Mail link for RHSA-2025:19719</Description>
    </Reference>
    <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 Liberty Linux 8">
      <Branch Type="Product Name" Name="SUSE Liberty Linux 8">
        <FullProductName ProductID="SUSE Liberty Linux 8" CPE="cpe:/o:suse:sll:8">SUSE Liberty Linux 8</FullProductName>
      </Branch>
    </Branch>
    <Branch Type="Product Family" Name="SUSE Liberty Linux 9">
      <Branch Type="Product Name" Name="SUSE Liberty Linux 9">
        <FullProductName ProductID="SUSE Liberty Linux 9" CPE="cpe:/o:suse:sll:9">SUSE Liberty Linux 9</FullProductName>
      </Branch>
    </Branch>
    <Branch Type="Product Family" Name="SUSE Linux Enterprise High Availability Extension 15 SP3">
      <Branch Type="Product Name" Name="SUSE Linux Enterprise High Availability Extension 15 SP3">
        <FullProductName ProductID="SUSE Linux Enterprise High Availability Extension 15 SP3" CPE="cpe:/o:suse:sle-ha:15:sp3">SUSE Linux Enterprise High Availability Extension 15 SP3</FullProductName>
      </Branch>
    </Branch>
    <Branch Type="Product Family" Name="SUSE Linux Enterprise High Availability Extension 15 SP4">
      <Branch Type="Product Name" Name="SUSE Linux Enterprise High Availability Extension 15 SP4">
        <FullProductName ProductID="SUSE Linux Enterprise High Availability Extension 15 SP4" CPE="cpe:/o:suse:sle-ha:15:sp4">SUSE Linux Enterprise High Availability Extension 15 SP4</FullProductName>
      </Branch>
    </Branch>
    <Branch Type="Product Family" Name="SUSE Linux Enterprise High Availability Extension 15 SP5">
      <Branch Type="Product Name" Name="SUSE Linux Enterprise High Availability Extension 15 SP5">
        <FullProductName ProductID="SUSE Linux Enterprise High Availability Extension 15 SP5" CPE="cpe:/o:suse:sle-ha:15:sp5">SUSE Linux Enterprise High Availability Extension 15 SP5</FullProductName>
      </Branch>
    </Branch>
    <Branch Type="Product Family" Name="SUSE Linux Enterprise High Availability Extension 15 SP6">
      <Branch Type="Product Name" Name="SUSE Linux Enterprise High Availability Extension 15 SP6">
        <FullProductName ProductID="SUSE Linux Enterprise High Availability Extension 15 SP6" CPE="cpe:/o:suse:sle-ha:15:sp6">SUSE Linux Enterprise High Availability Extension 15 SP6</FullProductName>
      </Branch>
    </Branch>
    <Branch Type="Product Family" Name="SUSE Linux Enterprise High Availability Extension 15 SP7">
      <Branch Type="Product Name" Name="SUSE Linux Enterprise High Availability Extension 15 SP7">
        <FullProductName ProductID="SUSE Linux Enterprise High Availability Extension 15 SP7" CPE="cpe:/o:suse:sle-ha:15:sp7">SUSE Linux Enterprise High Availability Extension 15 SP7</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="pcs-0.10.18-2.el8_10.7">
      <FullProductName ProductID="pcs-0.10.18-2.el8_10.7">pcs-0.10.18-2.el8_10.7</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="pcs-0.11.9-2.el9_6.2">
      <FullProductName ProductID="pcs-0.11.9-2.el9_6.2">pcs-0.11.9-2.el9_6.2</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="pcs-snmp-0.10.18-2.el8_10.7">
      <FullProductName ProductID="pcs-snmp-0.10.18-2.el8_10.7">pcs-snmp-0.10.18-2.el8_10.7</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="pcs-snmp-0.11.9-2.el9_6.2">
      <FullProductName ProductID="pcs-snmp-0.11.9-2.el9_6.2">pcs-snmp-0.11.9-2.el9_6.2</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="ruby2.5-rubygem-rack">
      <FullProductName ProductID="ruby2.5-rubygem-rack">ruby2.5-rubygem-rack</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="ruby2.5-rubygem-rack-1_6">
      <FullProductName ProductID="ruby2.5-rubygem-rack-1_6">ruby2.5-rubygem-rack-1_6</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="ruby2.5-rubygem-rack-doc">
      <FullProductName ProductID="ruby2.5-rubygem-rack-doc">ruby2.5-rubygem-rack-doc</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="ruby2.5-rubygem-rack-doc-1_6">
      <FullProductName ProductID="ruby2.5-rubygem-rack-doc-1_6">ruby2.5-rubygem-rack-doc-1_6</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="ruby2.5-rubygem-rack-testsuite">
      <FullProductName ProductID="ruby2.5-rubygem-rack-testsuite">ruby2.5-rubygem-rack-testsuite</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="ruby2.5-rubygem-rack-testsuite-1_6">
      <FullProductName ProductID="ruby2.5-rubygem-rack-testsuite-1_6">ruby2.5-rubygem-rack-testsuite-1_6</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="ruby3.4-rubygem-rack-2.2-2.2.19-1.1">
      <FullProductName ProductID="ruby3.4-rubygem-rack-2.2-2.2.19-1.1">ruby3.4-rubygem-rack-2.2-2.2.19-1.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="ruby4.0-rubygem-rack-2.2-2.2.22-1.1">
      <FullProductName ProductID="ruby4.0-rubygem-rack-2.2-2.2.22-1.1">ruby4.0-rubygem-rack-2.2-2.2.22-1.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="rubygem-rack">
      <FullProductName ProductID="rubygem-rack" CPE="cpe:2.3:a:rack_project:rack:*:*:*:*:*:*:*:*">rubygem-rack</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="rubygem-rack-1_6">
      <FullProductName ProductID="rubygem-rack-1_6" CPE="cpe:2.3:a:rack_project:rack:*:*:*:*:*:*:*:*">rubygem-rack-1_6</FullProductName>
    </Branch>
    <Relationship ProductReference="pcs-0.10.18-2.el8_10.7" RelationType="Default Component Of" RelatesToProductReference="SUSE Liberty Linux 8">
      <FullProductName ProductID="SUSE Liberty Linux 8:pcs-0.10.18-2.el8_10.7">pcs-0.10.18-2.el8_10.7 as a component of SUSE Liberty Linux 8</FullProductName>
    </Relationship>
    <Relationship ProductReference="pcs-snmp-0.10.18-2.el8_10.7" RelationType="Default Component Of" RelatesToProductReference="SUSE Liberty Linux 8">
      <FullProductName ProductID="SUSE Liberty Linux 8:pcs-snmp-0.10.18-2.el8_10.7">pcs-snmp-0.10.18-2.el8_10.7 as a component of SUSE Liberty Linux 8</FullProductName>
    </Relationship>
    <Relationship ProductReference="pcs-0.11.9-2.el9_6.2" RelationType="Default Component Of" RelatesToProductReference="SUSE Liberty Linux 9">
      <FullProductName ProductID="SUSE Liberty Linux 9:pcs-0.11.9-2.el9_6.2">pcs-0.11.9-2.el9_6.2 as a component of SUSE Liberty Linux 9</FullProductName>
    </Relationship>
    <Relationship ProductReference="pcs-snmp-0.11.9-2.el9_6.2" RelationType="Default Component Of" RelatesToProductReference="SUSE Liberty Linux 9">
      <FullProductName ProductID="SUSE Liberty Linux 9:pcs-snmp-0.11.9-2.el9_6.2">pcs-snmp-0.11.9-2.el9_6.2 as a component of SUSE Liberty Linux 9</FullProductName>
    </Relationship>
    <Relationship ProductReference="ruby3.4-rubygem-rack-2.2-2.2.19-1.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Tumbleweed">
      <FullProductName ProductID="openSUSE Tumbleweed:ruby3.4-rubygem-rack-2.2-2.2.19-1.1">ruby3.4-rubygem-rack-2.2-2.2.19-1.1 as a component of openSUSE Tumbleweed</FullProductName>
    </Relationship>
    <Relationship ProductReference="ruby4.0-rubygem-rack-2.2-2.2.22-1.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Tumbleweed">
      <FullProductName ProductID="openSUSE Tumbleweed:ruby4.0-rubygem-rack-2.2-2.2.22-1.1">ruby4.0-rubygem-rack-2.2-2.2.22-1.1 as a component of openSUSE Tumbleweed</FullProductName>
    </Relationship>
    <Relationship ProductReference="ruby2.5-rubygem-rack" RelationType="Default Component Of" RelatesToProductReference="SUSE Linux Enterprise High Availability Extension 15 SP3">
      <FullProductName ProductID="SUSE Linux Enterprise High Availability Extension 15 SP3:ruby2.5-rubygem-rack">ruby2.5-rubygem-rack as a component of SUSE Linux Enterprise High Availability Extension 15 SP3</FullProductName>
    </Relationship>
    <Relationship ProductReference="rubygem-rack" RelationType="Default Component Of" RelatesToProductReference="SUSE Linux Enterprise High Availability Extension 15 SP3">
      <FullProductName ProductID="SUSE Linux Enterprise High Availability Extension 15 SP3:rubygem-rack">rubygem-rack as a component of SUSE Linux Enterprise High Availability Extension 15 SP3</FullProductName>
    </Relationship>
    <Relationship ProductReference="ruby2.5-rubygem-rack" RelationType="Default Component Of" RelatesToProductReference="SUSE Linux Enterprise High Availability Extension 15 SP4">
      <FullProductName ProductID="SUSE Linux Enterprise High Availability Extension 15 SP4:ruby2.5-rubygem-rack">ruby2.5-rubygem-rack as a component of SUSE Linux Enterprise High Availability Extension 15 SP4</FullProductName>
    </Relationship>
    <Relationship ProductReference="rubygem-rack" RelationType="Default Component Of" RelatesToProductReference="SUSE Linux Enterprise High Availability Extension 15 SP4">
      <FullProductName ProductID="SUSE Linux Enterprise High Availability Extension 15 SP4:rubygem-rack">rubygem-rack as a component of SUSE Linux Enterprise High Availability Extension 15 SP4</FullProductName>
    </Relationship>
    <Relationship ProductReference="ruby2.5-rubygem-rack" RelationType="Default Component Of" RelatesToProductReference="SUSE Linux Enterprise High Availability Extension 15 SP5">
      <FullProductName ProductID="SUSE Linux Enterprise High Availability Extension 15 SP5:ruby2.5-rubygem-rack">ruby2.5-rubygem-rack as a component of SUSE Linux Enterprise High Availability Extension 15 SP5</FullProductName>
    </Relationship>
    <Relationship ProductReference="rubygem-rack" RelationType="Default Component Of" RelatesToProductReference="SUSE Linux Enterprise High Availability Extension 15 SP5">
      <FullProductName ProductID="SUSE Linux Enterprise High Availability Extension 15 SP5:rubygem-rack">rubygem-rack as a component of SUSE Linux Enterprise High Availability Extension 15 SP5</FullProductName>
    </Relationship>
    <Relationship ProductReference="ruby2.5-rubygem-rack" RelationType="Default Component Of" RelatesToProductReference="SUSE Linux Enterprise High Availability Extension 15 SP6">
      <FullProductName ProductID="SUSE Linux Enterprise High Availability Extension 15 SP6:ruby2.5-rubygem-rack">ruby2.5-rubygem-rack as a component of SUSE Linux Enterprise High Availability Extension 15 SP6</FullProductName>
    </Relationship>
    <Relationship ProductReference="rubygem-rack" RelationType="Default Component Of" RelatesToProductReference="SUSE Linux Enterprise High Availability Extension 15 SP6">
      <FullProductName ProductID="SUSE Linux Enterprise High Availability Extension 15 SP6:rubygem-rack">rubygem-rack as a component of SUSE Linux Enterprise High Availability Extension 15 SP6</FullProductName>
    </Relationship>
    <Relationship ProductReference="ruby2.5-rubygem-rack" RelationType="Default Component Of" RelatesToProductReference="SUSE Linux Enterprise High Availability Extension 15 SP7">
      <FullProductName ProductID="SUSE Linux Enterprise High Availability Extension 15 SP7:ruby2.5-rubygem-rack">ruby2.5-rubygem-rack as a component of SUSE Linux Enterprise High Availability Extension 15 SP7</FullProductName>
    </Relationship>
    <Relationship ProductReference="rubygem-rack" RelationType="Default Component Of" RelatesToProductReference="SUSE Linux Enterprise High Availability Extension 15 SP7">
      <FullProductName ProductID="SUSE Linux Enterprise High Availability Extension 15 SP7:rubygem-rack">rubygem-rack as a component of SUSE Linux Enterprise High Availability Extension 15 SP7</FullProductName>
    </Relationship>
    <Relationship ProductReference="ruby2.5-rubygem-rack" RelationType="Default Component Of" RelatesToProductReference="openSUSE Leap 15.6">
      <FullProductName ProductID="openSUSE Leap 15.6:ruby2.5-rubygem-rack">ruby2.5-rubygem-rack as a component of openSUSE Leap 15.6</FullProductName>
    </Relationship>
    <Relationship ProductReference="ruby2.5-rubygem-rack-doc" RelationType="Default Component Of" RelatesToProductReference="openSUSE Leap 15.6">
      <FullProductName ProductID="openSUSE Leap 15.6:ruby2.5-rubygem-rack-doc">ruby2.5-rubygem-rack-doc as a component of openSUSE Leap 15.6</FullProductName>
    </Relationship>
    <Relationship ProductReference="ruby2.5-rubygem-rack-testsuite" RelationType="Default Component Of" RelatesToProductReference="openSUSE Leap 15.6">
      <FullProductName ProductID="openSUSE Leap 15.6:ruby2.5-rubygem-rack-testsuite">ruby2.5-rubygem-rack-testsuite as a component of openSUSE Leap 15.6</FullProductName>
    </Relationship>
    <Relationship ProductReference="rubygem-rack" RelationType="Default Component Of" RelatesToProductReference="openSUSE Leap 15.6">
      <FullProductName ProductID="openSUSE Leap 15.6:rubygem-rack">rubygem-rack as a component of openSUSE Leap 15.6</FullProductName>
    </Relationship>
    <Relationship ProductReference="ruby2.5-rubygem-rack-1_6" RelationType="Default Component Of" RelatesToProductReference="openSUSE Leap 15.6">
      <FullProductName ProductID="openSUSE Leap 15.6:ruby2.5-rubygem-rack-1_6">ruby2.5-rubygem-rack-1_6 as a component of openSUSE Leap 15.6</FullProductName>
    </Relationship>
    <Relationship ProductReference="ruby2.5-rubygem-rack-doc-1_6" RelationType="Default Component Of" RelatesToProductReference="openSUSE Leap 15.6">
      <FullProductName ProductID="openSUSE Leap 15.6:ruby2.5-rubygem-rack-doc-1_6">ruby2.5-rubygem-rack-doc-1_6 as a component of openSUSE Leap 15.6</FullProductName>
    </Relationship>
    <Relationship ProductReference="ruby2.5-rubygem-rack-testsuite-1_6" RelationType="Default Component Of" RelatesToProductReference="openSUSE Leap 15.6">
      <FullProductName ProductID="openSUSE Leap 15.6:ruby2.5-rubygem-rack-testsuite-1_6">ruby2.5-rubygem-rack-testsuite-1_6 as a component of openSUSE Leap 15.6</FullProductName>
    </Relationship>
    <Relationship ProductReference="rubygem-rack-1_6" RelationType="Default Component Of" RelatesToProductReference="openSUSE Leap 15.6">
      <FullProductName ProductID="openSUSE Leap 15.6:rubygem-rack-1_6">rubygem-rack-1_6 as a component of openSUSE Leap 15.6</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">Rack is a modular Ruby web server interface. In versions prior to 2.2.19, 3.1.17, and 3.2.2, `Rack::Multipart::Parser` buffers the entire multipart preamble (bytes before the first boundary) in memory without any size limit. A client can send a large preamble followed by a valid boundary, causing significant memory use and potential process termination due to out-of-memory (OOM) conditions. Remote attackers can trigger large transient memory spikes by including a long preamble in multipart/form-data requests. The impact scales with allowed request sizes and concurrency, potentially causing worker crashes or severe slowdown due to garbage collection. Versions 2.2.19, 3.1.17, and 3.2.2 enforce a preamble size limit (e.g., 16 KiB) or discard preamble data entirely. Workarounds include limiting total request body size at the proxy or web server level and monitoring memory and set per-process limits to prevent OOM conditions.</Note>
    </Notes>
    <CVE>CVE-2025-61770</CVE>
    <ProductStatuses>
      <Status Type="Fixed">
        <ProductID>SUSE Liberty Linux 8:pcs-0.10.18-2.el8_10.7</ProductID>
        <ProductID>SUSE Liberty Linux 8:pcs-snmp-0.10.18-2.el8_10.7</ProductID>
        <ProductID>SUSE Liberty Linux 9:pcs-0.11.9-2.el9_6.2</ProductID>
        <ProductID>SUSE Liberty Linux 9:pcs-snmp-0.11.9-2.el9_6.2</ProductID>
        <ProductID>openSUSE Tumbleweed:ruby3.4-rubygem-rack-2.2-2.2.19-1.1</ProductID>
        <ProductID>openSUSE Tumbleweed:ruby4.0-rubygem-rack-2.2-2.2.22-1.1</ProductID>
      </Status>
      <Status Type="Known Not Affected">
        <ProductID>openSUSE Leap 15.6:ruby2.5-rubygem-rack-1_6</ProductID>
        <ProductID>openSUSE Leap 15.6:ruby2.5-rubygem-rack-doc-1_6</ProductID>
        <ProductID>openSUSE Leap 15.6:ruby2.5-rubygem-rack-testsuite-1_6</ProductID>
        <ProductID>openSUSE Leap 15.6:rubygem-rack-1_6</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>
