File tree Expand file tree Collapse file tree 1 file changed +56
-0
lines changed Expand file tree Collapse file tree 1 file changed +56
-0
lines changed Original file line number Diff line number Diff line change 1+ ---
2+ gem : rack
3+ cve : 2018-16470
4+ url : https://groups.google.com/forum/#!topic/ruby-security-ann/Dz4sRl-ktKk
5+ title : Possible DoS vulnerability in Rack
6+ date : 2018-11-05
7+
8+ description : |
9+ There is a possible DoS vulnerability in the multipart parser in Rack. This
10+ vulnerability has been assigned the CVE identifier CVE-2018-16470.
11+
12+ Versions Affected: 2.0.4, 2.0.5
13+ Not affected: <= 2.0.3
14+ Fixed Versions: 2.0.6
15+
16+ Impact
17+ ------
18+ There is a possible DoS vulnerability in the multipart parser in Rack.
19+ Carefully crafted requests can cause the multipart parser to enter a
20+ pathological state, causing the parser to use CPU resources disproportionate to
21+ the request size.
22+
23+ Impacted code can look something like this:
24+
25+ ```
26+ Rack::Request.new(env).params
27+ ```
28+
29+ But any code that uses the multi-part parser may be vulnerable.
30+
31+ Rack users that have manually adjusted the buffer size in the multipart parser
32+ may be vulnerable as well.
33+
34+ All users running an affected release should either upgrade or use one of the
35+ workarounds immediately.
36+
37+ Releases
38+ --------
39+ The 2.0.6 release is available at the normal locations.
40+
41+ Workarounds
42+ -----------
43+ To work around this issue, the following code can be used:
44+
45+ ```
46+ require "rack/multipart/parser"
47+
48+ Rack::Multipart::Parser.send :remove_const, :BUFSIZE
49+ Rack::Multipart::Parser.const_set :BUFSIZE, 16384
50+ ```
51+
52+ unaffected_versions :
53+ - " <= 2.0.3"
54+
55+ patched_versions :
56+ - " >= 2.0.6"
You can’t perform that action at this time.
0 commit comments