{"id":"CVE-2026-125111","state":"PUBLISHED","title":"Rack: Multipart parsing allows DoS via unbounded scan buffer growth","description":"Rack is a modular Ruby web server interface. Prior to 2.2.25, 3.1.23, and 3.2.8, Rack::Multipart::Parser can retain parsed data in its internal StringScanner buffer when reads end inside or immediately after multipart headers. An unauthenticated attacker can align many small parts with rack.multipart.buffer_size boundaries so the buffer grows with the request despite per-field, header, and preamble limits, causing a worker to exhaust memory. The attack requires only a well-formed multipart body and affects applications that parse multipart requests. This issue is fixed in versions 2.2.25, 3.1.23, and 3.2.8.","publishedAt":"2026-11-09T22:02:38.334Z","updatedAt":"2026-11-09T22:02:38.334Z","severity":{"score":7.5,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","source":"GitHub_M"},"assigner":"GitHub_M","products":["rack rack"],"affected":[{"vendor":"rack","product":"rack","versions":[{"version":"< 2.2.25","status":"affected"},{"version":">= 3.0, < 3.1.23","status":"affected"},{"version":">= 3.2, < 3.2.8","status":"affected"}]}],"references":["https://github.com/rack/rack/security/advisories/GHSA-5v64-555j-wjxm","https://github.com/rack/rack/commit/244e75a840cee0823f86d5d01dc374505a8abed8","https://github.com/rack/rack/commit/2eaa5b1026a03a43b6537b1a0b233707ba887702","https://github.com/rack/rack/commit/c9b4698595050838342bd3b5a0fc9ab908065f8f"],"weaknesses":["CWE-400"],"ingestedAt":"2026-11-09T22:14:06.228Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/125xxx/CVE-2026-125111.json","commit":"c9a6fe5e0ec6065765766582c6238d8d696001a1","baselineCommit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-125111","state":"PUBLISHED","datePublished":"2026-11-09T22:02:38.334Z","dateUpdated":"2026-11-09T22:02:38.334Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2026-11-09T17:45:35.936Z"},"containers":{"cna":{"title":"Rack: Multipart parsing allows DoS via unbounded scan buffer growth","descriptions":[{"lang":"en","value":"Rack is a modular Ruby web server interface. Prior to 2.2.25, 3.1.23, and 3.2.8, Rack::Multipart::Parser can retain parsed data in its internal StringScanner buffer when reads end inside or immediately after multipart headers. An unauthenticated attacker can align many small parts with rack.multipart.buffer_size boundaries so the buffer grows with the request despite per-field, header, and preamble limits, causing a worker to exhaust memory. The attack requires only a well-formed multipart body and affects applications that parse multipart requests. This issue is fixed in versions 2.2.25, 3.1.23, and 3.2.8."}],"affected":[{"vendor":"rack","product":"rack","versions":[{"version":"< 2.2.25","status":"affected"},{"version":">= 3.0, < 3.1.23","status":"affected"},{"version":">= 3.2, < 3.2.8","status":"affected"}]}],"references":[{"url":"https://github.com/rack/rack/security/advisories/GHSA-5v64-555j-wjxm","name":"https://github.com/rack/rack/security/advisories/GHSA-5v64-555j-wjxm","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/rack/rack/commit/244e75a840cee0823f86d5d01dc374505a8abed8","name":"https://github.com/rack/rack/commit/244e75a840cee0823f86d5d01dc374505a8abed8","tags":["x_refsource_MISC"]},{"url":"https://github.com/rack/rack/commit/2eaa5b1026a03a43b6537b1a0b233707ba887702","name":"https://github.com/rack/rack/commit/2eaa5b1026a03a43b6537b1a0b233707ba887702","tags":["x_refsource_MISC"]},{"url":"https://github.com/rack/rack/commit/c9b4698595050838342bd3b5a0fc9ab908065f8f","name":"https://github.com/rack/rack/commit/c9b4698595050838342bd3b5a0fc9ab908065f8f","tags":["x_refsource_MISC"]}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":7.5,"baseSeverity":"HIGH","confidentialityImpact":"NONE","integrityImpact":"NONE","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-400","lang":"en","description":"CWE-400: Uncontrolled Resource Consumption","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2026-11-09T22:02:38.334Z"},"source":{"advisory":"GHSA-5v64-555j-wjxm","discovery":"UNKNOWN"}}}}}