<?xml version="1.0" encoding="UTF-8"?>
<cvrfdoc xmlns="http://www.icasi.org/CVRF/schema/cvrf/1.1" xmlns:cvrf="http://www.icasi.org/CVRF/schema/cvrf/1.1">
  <DocumentTitle xml:lang="en">Security update for rubygem-rack</DocumentTitle>
  <DocumentType>SUSE Patch</DocumentType>
  <DocumentPublisher Type="Vendor">
    <ContactDetails>security@suse.de</ContactDetails>
    <IssuingAuthority>SUSE Security Team</IssuingAuthority>
  </DocumentPublisher>
  <DocumentTracking>
    <Identification>
      <ID>SUSE-SU-2025:4273-1</ID>
    </Identification>
    <Status>Final</Status>
    <Version>1</Version>
    <RevisionHistory>
      <Revision>
        <Number>1</Number>
        <Date>2025-11-27T08:12:25Z</Date>
        <Description>current</Description>
      </Revision>
    </RevisionHistory>
    <InitialReleaseDate>2025-11-27T08:12:25Z</InitialReleaseDate>
    <CurrentReleaseDate>2025-11-27T08:12:25Z</CurrentReleaseDate>
    <Generator>
      <Engine>cve-database/bin/generate-cvrf.pl</Engine>
      <Date>2017-02-24T01:00:00Z</Date>
    </Generator>
  </DocumentTracking>
  <DocumentNotes>
    <Note Title="Topic" Type="Summary" Ordinal="1" xml:lang="en">Security update for rubygem-rack</Note>
    <Note Title="Details" Type="General" Ordinal="2" xml:lang="en">This update for rubygem-rack fixes the following issues:

- Update to version 2.2.20 (bsc#1251936)
- CVE-2025-61919: Fixed application/x-www-form-urlencoded`, calling `rack.input.read(nil)` without enforcing a length or cap (bsc#1251936)
- CVE-2025-61780: Fixed improper handling of headers in `Rack::Sendfile` allows for bypass of proxy-level access restrictions (bsc#1253951)
</Note>
    <Note Title="Terms of Use" Type="Legal Disclaimer" Ordinal="3" xml:lang="en">The CVRF data is provided by SUSE under the Creative Commons License 4.0 with Attribution (CC-BY-4.0).</Note>
    <Note Title="Patchnames" Type="Details" Ordinal="4" xml:lang="en">SUSE-2025-4273,SUSE-SLE-Product-HA-15-SP3-2025-4273,SUSE-SLE-Product-HA-15-SP4-2025-4273,SUSE-SLE-Product-HA-15-SP5-2025-4273,SUSE-SLE-Product-HA-15-SP6-2025-4273,SUSE-SLE-Product-HA-15-SP7-2025-4273,openSUSE-SLE-15.6-2025-4273</Note>
  </DocumentNotes>
  <DocumentDistribution xml:lang="en">Copyright SUSE LLC under the Creative Commons License 4.0 with Attribution (CC-BY-4.0)</DocumentDistribution>
  <DocumentReferences>
    <Reference Type="Self">
      <URL>https://www.suse.com/support/update/announcement/2025/suse-su-20254273-1/</URL>
      <Description>Link for SUSE-SU-2025:4273-1</Description>
    </Reference>
    <Reference Type="Self">
      <URL>https://lists.suse.com/pipermail/sle-security-updates/2025-November/023401.html</URL>
      <Description>E-Mail link for SUSE-SU-2025:4273-1</Description>
    </Reference>
    <Reference Type="Self">
      <URL>https://www.suse.com/support/security/rating/</URL>
      <Description>SUSE Security Ratings</Description>
    </Reference>
    <Reference Type="Self">
      <URL>https://bugzilla.suse.com/1251936</URL>
      <Description>SUSE Bug 1251936</Description>
    </Reference>
    <Reference Type="Self">
      <URL>https://bugzilla.suse.com/1253951</URL>
      <Description>SUSE Bug 1253951</Description>
    </Reference>
    <Reference Type="Self">
      <URL>https://www.suse.com/security/cve/CVE-2025-61780/</URL>
      <Description>SUSE CVE CVE-2025-61780 page</Description>
    </Reference>
    <Reference Type="Self">
      <URL>https://www.suse.com/security/cve/CVE-2025-61919/</URL>
      <Description>SUSE CVE CVE-2025-61919 page</Description>
    </Reference>
  </DocumentReferences>
  <ProductTree xmlns="http://www.icasi.org/CVRF/schema/prod/1.1">
    <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 Version" Name="ruby2.5-rubygem-rack-2.2.20-150000.3.34.1">
      <FullProductName ProductID="ruby2.5-rubygem-rack-2.2.20-150000.3.34.1">ruby2.5-rubygem-rack-2.2.20-150000.3.34.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="ruby2.5-rubygem-rack-doc-2.2.20-150000.3.34.1">
      <FullProductName ProductID="ruby2.5-rubygem-rack-doc-2.2.20-150000.3.34.1">ruby2.5-rubygem-rack-doc-2.2.20-150000.3.34.1</FullProductName>
    </Branch>
    <Relationship ProductReference="ruby2.5-rubygem-rack-2.2.20-150000.3.34.1" 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-2.2.20-150000.3.34.1">ruby2.5-rubygem-rack-2.2.20-150000.3.34.1 as a component of SUSE Linux Enterprise High Availability Extension 15 SP3</FullProductName>
    </Relationship>
    <Relationship ProductReference="ruby2.5-rubygem-rack-2.2.20-150000.3.34.1" 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-2.2.20-150000.3.34.1">ruby2.5-rubygem-rack-2.2.20-150000.3.34.1 as a component of SUSE Linux Enterprise High Availability Extension 15 SP4</FullProductName>
    </Relationship>
    <Relationship ProductReference="ruby2.5-rubygem-rack-2.2.20-150000.3.34.1" 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-2.2.20-150000.3.34.1">ruby2.5-rubygem-rack-2.2.20-150000.3.34.1 as a component of SUSE Linux Enterprise High Availability Extension 15 SP5</FullProductName>
    </Relationship>
    <Relationship ProductReference="ruby2.5-rubygem-rack-2.2.20-150000.3.34.1" 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-2.2.20-150000.3.34.1">ruby2.5-rubygem-rack-2.2.20-150000.3.34.1 as a component of SUSE Linux Enterprise High Availability Extension 15 SP6</FullProductName>
    </Relationship>
    <Relationship ProductReference="ruby2.5-rubygem-rack-2.2.20-150000.3.34.1" 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-2.2.20-150000.3.34.1">ruby2.5-rubygem-rack-2.2.20-150000.3.34.1 as a component of SUSE Linux Enterprise High Availability Extension 15 SP7</FullProductName>
    </Relationship>
    <Relationship ProductReference="ruby2.5-rubygem-rack-2.2.20-150000.3.34.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Leap 15.6">
      <FullProductName ProductID="openSUSE Leap 15.6:ruby2.5-rubygem-rack-2.2.20-150000.3.34.1">ruby2.5-rubygem-rack-2.2.20-150000.3.34.1 as a component of openSUSE Leap 15.6</FullProductName>
    </Relationship>
    <Relationship ProductReference="ruby2.5-rubygem-rack-doc-2.2.20-150000.3.34.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Leap 15.6">
      <FullProductName ProductID="openSUSE Leap 15.6:ruby2.5-rubygem-rack-doc-2.2.20-150000.3.34.1">ruby2.5-rubygem-rack-doc-2.2.20-150000.3.34.1 as a component of openSUSE Leap 15.6</FullProductName>
    </Relationship>
  </ProductTree>
  <Vulnerability xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1" Ordinal="1">
    <Notes>
      <Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">Rack is a modular Ruby web server interface. Prior to versions 2.2.20, 3.1.18, and 3.2.3, a possible information disclosure vulnerability existed in `Rack::Sendfile` when running behind a proxy that supports `x-sendfile` headers (such as Nginx). Specially crafted headers could cause `Rack::Sendfile` to miscommunicate with the proxy and trigger unintended internal requests, potentially bypassing proxy-level access restrictions. When `Rack::Sendfile` received untrusted `x-sendfile-type` or `x-accel-mapping` headers from a client, it would interpret them as proxy configuration directives. This could cause the middleware to send a "redirect" response to the proxy, prompting it to reissue a new internal request that was not subject to the proxy's access controls. An attacker could exploit this by setting a crafted `x-sendfile-type: x-accel-redirect` header, setting a crafted `x-accel-mapping` header, and requesting a path that qualifies for proxy-based acceleration. Attackers could bypass proxy-enforced restrictions and access internal endpoints intended to be protected (such as administrative pages). The vulnerability did not allow arbitrary file reads but could expose sensitive application routes. This issue only affected systems meeting all of the following conditions: The application used `Rack::Sendfile` with a proxy that supports `x-accel-redirect` (e.g., Nginx); the proxy did **not** always set or remove the `x-sendfile-type` and `x-accel-mapping` headers; and the application exposed an endpoint that returned a body responding to `.to_path`. Users should upgrade to Rack versions 2.2.20, 3.1.18, or 3.2.3, which require explicit configuration to enable `x-accel-redirect`. Alternatively, configure the proxy to always set or strip the header, or in Rails applications, disable sendfile completely.</Note>
    </Notes>
    <CVE>CVE-2025-61780</CVE>
    <ProductStatuses>
      <Status Type="Fixed">
        <ProductID>SUSE Linux Enterprise High Availability Extension 15 SP3:ruby2.5-rubygem-rack-2.2.20-150000.3.34.1</ProductID>
        <ProductID>SUSE Linux Enterprise High Availability Extension 15 SP4:ruby2.5-rubygem-rack-2.2.20-150000.3.34.1</ProductID>
        <ProductID>SUSE Linux Enterprise High Availability Extension 15 SP5:ruby2.5-rubygem-rack-2.2.20-150000.3.34.1</ProductID>
        <ProductID>SUSE Linux Enterprise High Availability Extension 15 SP6:ruby2.5-rubygem-rack-2.2.20-150000.3.34.1</ProductID>
        <ProductID>SUSE Linux Enterprise High Availability Extension 15 SP7:ruby2.5-rubygem-rack-2.2.20-150000.3.34.1</ProductID>
        <ProductID>openSUSE Leap 15.6:ruby2.5-rubygem-rack-2.2.20-150000.3.34.1</ProductID>
        <ProductID>openSUSE Leap 15.6:ruby2.5-rubygem-rack-doc-2.2.20-150000.3.34.1</ProductID>
      </Status>
    </ProductStatuses>
    <Threats>
      <Threat Type="Impact">
        <Description>important</Description>
      </Threat>
    </Threats>
    <Remediations>
      <Remediation Type="Vendor Fix">
        <Description xml:lang="en">To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or "zypper patch".
</Description>
        <URL>https://www.suse.com/support/update/announcement/2025/suse-su-20254273-1/</URL>
      </Remediation>
    </Remediations>
    <References>
      <Reference>
        <URL>https://www.suse.com/security/cve/CVE-2025-61780.html</URL>
        <Description>CVE-2025-61780</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/1251896</URL>
        <Description>SUSE Bug 1251896</Description>
      </Reference>
    </References>
  </Vulnerability>
  <Vulnerability xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1" Ordinal="2">
    <Notes>
      <Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">Rack is a modular Ruby web server interface. Prior to versions 2.2.20, 3.1.18, and 3.2.3, `Rack::Request#POST` reads the entire request body into memory for `Content-Type: application/x-www-form-urlencoded`, calling `rack.input.read(nil)` without enforcing a length or cap. Large request bodies can therefore be buffered completely into process memory before parsing, leading to denial of service (DoS) through memory exhaustion. Users should upgrade to Rack version 2.2.20, 3.1.18, or 3.2.3, anu of which enforces form parameter limits using `query_parser.bytesize_limit`, preventing unbounded reads of `application/x-www-form-urlencoded` bodies. Additionally, enforce strict maximum body size at the proxy or web server layer (e.g., Nginx `client_max_body_size`, Apache `LimitRequestBody`).</Note>
    </Notes>
    <CVE>CVE-2025-61919</CVE>
    <ProductStatuses>
      <Status Type="Fixed">
        <ProductID>SUSE Linux Enterprise High Availability Extension 15 SP3:ruby2.5-rubygem-rack-2.2.20-150000.3.34.1</ProductID>
        <ProductID>SUSE Linux Enterprise High Availability Extension 15 SP4:ruby2.5-rubygem-rack-2.2.20-150000.3.34.1</ProductID>
        <ProductID>SUSE Linux Enterprise High Availability Extension 15 SP5:ruby2.5-rubygem-rack-2.2.20-150000.3.34.1</ProductID>
        <ProductID>SUSE Linux Enterprise High Availability Extension 15 SP6:ruby2.5-rubygem-rack-2.2.20-150000.3.34.1</ProductID>
        <ProductID>SUSE Linux Enterprise High Availability Extension 15 SP7:ruby2.5-rubygem-rack-2.2.20-150000.3.34.1</ProductID>
        <ProductID>openSUSE Leap 15.6:ruby2.5-rubygem-rack-2.2.20-150000.3.34.1</ProductID>
        <ProductID>openSUSE Leap 15.6:ruby2.5-rubygem-rack-doc-2.2.20-150000.3.34.1</ProductID>
      </Status>
    </ProductStatuses>
    <Threats>
      <Threat Type="Impact">
        <Description>important</Description>
      </Threat>
    </Threats>
    <Remediations>
      <Remediation Type="Vendor Fix">
        <Description xml:lang="en">To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or "zypper patch".
</Description>
        <URL>https://www.suse.com/support/update/announcement/2025/suse-su-20254273-1/</URL>
      </Remediation>
    </Remediations>
    <References>
      <Reference>
        <URL>https://www.suse.com/security/cve/CVE-2025-61919.html</URL>
        <Description>CVE-2025-61919</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/1251934</URL>
        <Description>SUSE Bug 1251934</Description>
      </Reference>
    </References>
  </Vulnerability>
</cvrfdoc>
