Skip to content

Commit cd40e66

Browse files
feelepxyzreedloden
authored andcommitted
Add CVE-2018-16470 for rack (#368)
Add CVE-2018-16470 for rack
1 parent ce44ca7 commit cd40e66

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed

gems/rack/CVE-2018-16470.yml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
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"

0 commit comments

Comments
 (0)