<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://vulnerability.circl.lu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-01T19:28:05.081006+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@circl.lu</email>
  </author>
  <link href="https://vulnerability.circl.lu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/cve-2026-26961</id>
    <title>CVE-2026-26961 — Rack: Multipart Boundary Parsing Ambiguity allowing WAF Bypass</title>
    <updated>2026-10-01T19:28:05.107924+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> rack</p>
<p>Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Multipart::Parser extracts the boundary parameter from multipart/form-data using a greedy regular expression. When a Content-Type header contains multiple boundary parameters, Rack selects the last one rather than the first. In deployments where an upstream proxy, WAF, or intermediary interprets the first boundary parameter, this mismatch can allow an attacker to smuggle multipart content past upstream inspection and have Rack parse a different body structure than the intermediary validated. This issue has been patched in versions 2.2.23, 3.1.21, and 3.2.6.</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/cve-2026-26961"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/ghsa-vgpv-f759-9wx3</id>
    <title>GHSA-vgpv-f759-9wx3 — Rack's greedy multipart boundary parsing can cause parser differentials and WAF bypass.</title>
    <updated>2026-10-01T19:28:05.108075+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> RubyGems: rack</p>
<p>## Summary</p>
<p>`Rack::Multipart::Parser` extracts the `boundary` parameter from `multipart/form-data` using a greedy regular expression. When a `Content-Type` header contains multiple `boundary` parameters, Rack selects the last one rather than the first.</p>
<p>In deployments where an upstream proxy, WAF, or intermediary interprets the first `boundary` parameter, this mismatch can allow an attacker to smuggle multipart content past upstream inspection and have Rack parse a different body structure than the intermediary validated.</p>
<p>## Details</p>
<p>Rack identifies the multipart boundary using logic equivalent to:</p>
<p>```ruby
MULTIPART = %r|\Amultipart/.*boundary=\"?([^\";,]+)\"?|ni
```</p>
<p>Because the expression is greedy, it matches the last `boundary=` parameter in a header such as:</p>
<p>```http
Content-Type: multipart/form-data; boundary=safe; boundary=malicious
```</p>
<p>As a result, Rack parses the request body using `malicious`, while another component may interpret the same header using `safe`.</p>
<p>This creates an interpretation conflict. If an upstream WAF or proxy inspects multipart parts using the first boundary and Rack later parses the body using the last boundary, a client may be able to place malicious form fields or uploaded content in parts that Rack accepts but the upstream component did not inspect as intended.</p>
<p>This issue is most relevant in layered deployments where security decisions are made before the request reaches Rack.</p>
<p>## Impact</p>
<p>Applications that accept `multipart/form-data` up…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/ghsa-vgpv-f759-9wx3"/>
  </entry>
</feed>
