bundler-audit 0.5.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +11 -6
  3. data/ChangeLog.md +7 -1
  4. data/Gemfile +1 -1
  5. data/README.md +13 -7
  6. data/bin/bundler-audit +3 -0
  7. data/data/ruby-advisory-db.ts +1 -1
  8. data/data/ruby-advisory-db/.gitignore +0 -1
  9. data/data/ruby-advisory-db/.travis.yml +0 -6
  10. data/data/ruby-advisory-db/CONTRIBUTING.md +34 -21
  11. data/data/ruby-advisory-db/CONTRIBUTORS.md +2 -0
  12. data/data/ruby-advisory-db/Gemfile +1 -1
  13. data/data/ruby-advisory-db/README.md +38 -21
  14. data/data/ruby-advisory-db/gems/RedCloth/{OSVDB-115941.yml → CVE-2012-6684.yml} +6 -1
  15. data/data/ruby-advisory-db/gems/actionpack/CVE-2015-7576.yml +102 -102
  16. data/data/ruby-advisory-db/gems/actionpack/CVE-2015-7581.yml +2 -2
  17. data/data/ruby-advisory-db/gems/actionpack/CVE-2016-0751.yml +45 -45
  18. data/data/ruby-advisory-db/gems/actionpack/CVE-2016-0752.yml +96 -0
  19. data/data/ruby-advisory-db/gems/actionpack/CVE-2016-2097.yml +90 -0
  20. data/data/ruby-advisory-db/gems/actionpack/CVE-2016-2098.yml +89 -0
  21. data/data/ruby-advisory-db/gems/actionpack/CVE-2016-6316.yml +57 -0
  22. data/data/ruby-advisory-db/gems/actionview/CVE-2016-0752.yml +80 -80
  23. data/data/ruby-advisory-db/gems/actionview/CVE-2016-2097.yml +89 -0
  24. data/data/ruby-advisory-db/gems/actionview/CVE-2016-6316.yml +56 -0
  25. data/data/ruby-advisory-db/gems/activemodel/CVE-2016-0753.yml +78 -78
  26. data/data/ruby-advisory-db/gems/activerecord/CVE-2015-7577.yml +91 -91
  27. data/data/ruby-advisory-db/gems/activerecord/CVE-2016-6317.yml +73 -0
  28. data/data/ruby-advisory-db/gems/administrate/CVE-2016-3098.yml +14 -0
  29. data/data/ruby-advisory-db/gems/aescrypt/CVE-2013-7463.yml +10 -0
  30. data/data/ruby-advisory-db/gems/archive-tar-minitar/CVE-2016-10173.yml +16 -0
  31. data/data/ruby-advisory-db/gems/colorscore/CVE-2015-7541.yml +2 -1
  32. data/data/ruby-advisory-db/gems/doorkeeper/CVE-2016-6582.yml +43 -0
  33. data/data/ruby-advisory-db/gems/espeak-ruby/CVE-2016-10193.yml +15 -0
  34. data/data/ruby-advisory-db/gems/festivaltts4r/CVE-2016-10194.yml +12 -0
  35. data/data/ruby-advisory-db/gems/git-fastclone/CVE-2015-8968.yml +21 -0
  36. data/data/ruby-advisory-db/gems/git-fastclone/CVE-2015-8969.yml +13 -0
  37. data/data/ruby-advisory-db/gems/mail/OSVDB-131677.yml +18 -11
  38. data/data/ruby-advisory-db/gems/minitar/CVE-2016-10173.yml +16 -0
  39. data/data/ruby-advisory-db/gems/nokogiri/CVE-2015-8806.yml +42 -0
  40. data/data/ruby-advisory-db/gems/nokogiri/CVE-2016-4658.yml +32 -0
  41. data/data/ruby-advisory-db/gems/nokogiri/CVE-2017-5029.yml +44 -0
  42. data/data/ruby-advisory-db/gems/passenger/CVE-2016-10345.yml +16 -0
  43. data/data/ruby-advisory-db/gems/rack-mini-profiler/CVE-2016-4442.yml +17 -0
  44. data/data/ruby-advisory-db/gems/ruby-saml/CVE-2016-5697.yml +17 -0
  45. data/data/ruby-advisory-db/gems/rubyzip/CVE-2017-5946.yml +14 -0
  46. data/data/ruby-advisory-db/gems/safemode/CVE-2016-3693.yml +13 -0
  47. data/data/ruby-advisory-db/gems/spina/CVE-2015-4619.yml +16 -0
  48. data/data/ruby-advisory-db/gems/twitter-bootstrap-rails/OSVDB-109206.yml +1 -1
  49. data/data/ruby-advisory-db/rubies/ruby/CVE-2015-1855.yml +17 -0
  50. data/data/ruby-advisory-db/rubies/ruby/CVE-2015-9096.yml +19 -0
  51. data/data/ruby-advisory-db/spec/advisory_example.rb +19 -4
  52. data/gemspec.yml +1 -1
  53. data/lib/bundler/audit/cli.rb +10 -5
  54. data/lib/bundler/audit/database.rb +13 -3
  55. data/lib/bundler/audit/version.rb +1 -1
  56. data/spec/bundle/secure/Gemfile +1 -1
  57. data/spec/cli_spec.rb +80 -25
  58. data/spec/database_spec.rb +5 -5
  59. data/spec/integration_spec.rb +2 -2
  60. metadata +35 -5
@@ -7,86 +7,86 @@ url: "https://groups.google.com/forum/#!topic/rubyonrails-security/335P1DcLG00"
7
7
 
8
8
  title: Possible Information Leak Vulnerability in Action View
9
9
  description: |
10
- There is a possible directory traversal and information leak vulnerability in
11
- Action View. This vulnerability has been assigned the CVE identifier
12
- CVE-2016-0752.
13
-
14
- Versions Affected: All.
15
- Not affected: None.
16
- Fixed Versions: 5.0.0.beta1.1, 4.2.5.1, 4.1.14.1, 3.2.22.1
17
-
18
- Impact
19
- ------
20
- Applications that pass unverified user input to the `render` method in a
21
- controller may be vulnerable to an information leak vulnerability.
22
-
23
- Impacted code will look something like this:
24
-
25
- ```ruby
26
- def index
27
- render params[:id]
28
- end
29
- ```
30
-
31
- Carefully crafted requests can cause the above code to render files from
32
- unexpected places like outside the application's view directory, and can
33
- possibly escalate this to a remote code execution attack.
34
-
35
- All users running an affected release should either upgrade or use one of the
36
- workarounds immediately.
37
-
38
- Releases
39
- --------
40
- The FIXED releases are available at the normal locations.
41
-
42
- Workarounds
43
- -----------
44
- A workaround to this issue is to not pass arbitrary user input to the `render`
45
- method. Instead, verify that data before passing it to the `render` method.
46
-
47
- For example, change this:
48
-
49
- ```ruby
50
- def index
51
- render params[:id]
52
- end
53
- ```
54
-
55
- To this:
56
-
57
- ```ruby
58
- def index
59
- render verify_template(params[:id])
60
- end
61
-
62
- private
63
- def verify_template(name)
64
- # add verification logic particular to your application here
65
- end
66
- ```
67
-
68
- Patches
69
- -------
70
- To aid users who aren't able to upgrade immediately we have provided patches for
71
- the two supported release series. They are in git-am format and consist of a
72
- single changeset.
73
-
74
- * 3-2-render_data_leak.patch - Patch for 3.2 series
75
- * 4-1-render_data_leak.patch - Patch for 4.1 series
76
- * 4-2-render_data_leak.patch - Patch for 4.2 series
77
- * 5-0-render_data_leak.patch - Patch for 5.0 series
78
-
79
- Please note that only the 4.1.x and 4.2.x series are supported at present. Users
80
- of earlier unsupported releases are advised to upgrade as soon as possible as we
81
- cannot guarantee the continued availability of security fixes for unsupported
82
- releases.
83
-
84
- Credits
85
- -------
10
+ There is a possible directory traversal and information leak vulnerability in
11
+ Action View. This vulnerability has been assigned the CVE identifier
12
+ CVE-2016-0752.
13
+
14
+ Versions Affected: All.
15
+ Not affected: None.
16
+ Fixed Versions: 5.0.0.beta1.1, 4.2.5.1, 4.1.14.1, 3.2.22.1
17
+
18
+ Impact
19
+ ------
20
+ Applications that pass unverified user input to the `render` method in a
21
+ controller may be vulnerable to an information leak vulnerability.
22
+
23
+ Impacted code will look something like this:
24
+
25
+ ```ruby
26
+ def index
27
+ render params[:id]
28
+ end
29
+ ```
30
+
31
+ Carefully crafted requests can cause the above code to render files from
32
+ unexpected places like outside the application's view directory, and can
33
+ possibly escalate this to a remote code execution attack.
34
+
35
+ All users running an affected release should either upgrade or use one of the
36
+ workarounds immediately.
37
+
38
+ Releases
39
+ --------
40
+ The FIXED releases are available at the normal locations.
41
+
42
+ Workarounds
43
+ -----------
44
+ A workaround to this issue is to not pass arbitrary user input to the `render`
45
+ method. Instead, verify that data before passing it to the `render` method.
46
+
47
+ For example, change this:
48
+
49
+ ```ruby
50
+ def index
51
+ render params[:id]
52
+ end
53
+ ```
54
+
55
+ To this:
56
+
57
+ ```ruby
58
+ def index
59
+ render verify_template(params[:id])
60
+ end
61
+
62
+ private
63
+ def verify_template(name)
64
+ # add verification logic particular to your application here
65
+ end
66
+ ```
67
+
68
+ Patches
69
+ -------
70
+ To aid users who aren't able to upgrade immediately we have provided patches for
71
+ the two supported release series. They are in git-am format and consist of a
72
+ single changeset.
73
+
74
+ * 3-2-render_data_leak.patch - Patch for 3.2 series
75
+ * 4-1-render_data_leak.patch - Patch for 4.1 series
76
+ * 4-2-render_data_leak.patch - Patch for 4.2 series
77
+ * 5-0-render_data_leak.patch - Patch for 5.0 series
78
+
79
+ Please note that only the 4.1.x and 4.2.x series are supported at present. Users
80
+ of earlier unsupported releases are advised to upgrade as soon as possible as we
81
+ cannot guarantee the continued availability of security fixes for unsupported
82
+ releases.
83
+
84
+ Credits
85
+ -------
86
86
  Thanks John Poulin for reporting this!
87
87
 
88
+ # "~> 3.2.22.1" is found in gems/actionpack/CVE-2016-0752.yml
88
89
  patched_versions:
89
- - "~> 5.0.0.beta1.1"
90
- - "~> 4.2.5.1"
91
- - "~> 4.1.14.1"
92
- - "~> 3.2.22.1"
90
+ - ">= 5.0.0.beta1.1"
91
+ - "~> 4.2.5, >= 4.2.5.1"
92
+ - "~> 4.1.14, >= 4.1.14.1"
@@ -0,0 +1,89 @@
1
+ ---
2
+ gem: actionview
3
+ framework: rails
4
+ cve: 2016-2097
5
+ date: 2016-02-29
6
+ url: "https://groups.google.com/forum/#!topic/rubyonrails-security/ddY6HgqB2z4"
7
+
8
+ title: Possible Information Leak Vulnerability in Action View
9
+
10
+ description: |
11
+
12
+ There is a possible directory traversal and information leak vulnerability
13
+ in Action View. This was meant to be fixed on CVE-2016-0752. However the 3.2
14
+ patch was not covering all the scenarios. This vulnerability has been
15
+ assigned the CVE identifier CVE-2016-2097.
16
+
17
+ Versions Affected: 3.2.x, 4.0.x, 4.1.x
18
+ Not affected: 4.2+
19
+ Fixed Versions: 3.2.22.2, 4.1.14.2
20
+
21
+ Impact
22
+ ------
23
+ Applications that pass unverified user input to the `render` method in a
24
+ controller may be vulnerable to an information leak vulnerability.
25
+
26
+ Impacted code will look something like this:
27
+
28
+ ```ruby
29
+ def index
30
+ render params[:id]
31
+ end
32
+ ```
33
+
34
+ Carefully crafted requests can cause the above code to render files from
35
+ unexpected places like outside the application's view directory, and can
36
+ possibly escalate this to a remote code execution attack.
37
+
38
+ All users running an affected release should either upgrade or use one of the
39
+ workarounds immediately.
40
+
41
+ Releases
42
+ --------
43
+ The FIXED releases are available at the normal locations.
44
+
45
+ Workarounds
46
+ -----------
47
+ A workaround to this issue is to not pass arbitrary user input to the `render`
48
+ method. Instead, verify that data before passing it to the `render` method.
49
+
50
+ For example, change this:
51
+
52
+ ```ruby
53
+ def index
54
+ render params[:id]
55
+ end
56
+ ```
57
+
58
+ To this:
59
+
60
+ ```ruby
61
+ def index
62
+ render verify_template(params[:id])
63
+ end
64
+
65
+ private
66
+ def verify_template(name)
67
+ # add verification logic particular to your application here
68
+ end
69
+ ```
70
+
71
+ Patches
72
+ -------
73
+ To aid users who aren't able to upgrade immediately we have provided patches
74
+ for it. It is in git-am format and consist of a single changeset.
75
+
76
+ * 3-2-render_data_leak_2.patch - Patch for 3.2 series
77
+ * 4-1-render_data_leak_2.patch - Patch for 4.1 series
78
+
79
+ Credits
80
+ -------
81
+ Thanks to both Jyoti Singh and Tobias Kraze from makandra for reporting this
82
+ and working with us in the patch!
83
+
84
+ unaffected_versions:
85
+ - ">= 4.2.0"
86
+
87
+ # "~> 3.2.22.2" is found in gems/actionpack/CVE-2016-2097.yml
88
+ patched_versions:
89
+ - "~> 4.1.14, >= 4.1.14.2"
@@ -0,0 +1,56 @@
1
+ ---
2
+ gem: actionview
3
+ framework: rails
4
+ cve: 2016-6316
5
+ date: 2016-08-11
6
+ url: https://groups.google.com/forum/#!topic/rubyonrails-security/I-VWr034ouk
7
+
8
+ title: Possible XSS Vulnerability in Action View
9
+
10
+ description: |
11
+ There is a possible XSS vulnerability in Action View. Text declared as "HTML
12
+ safe" will not have quotes escaped when used as attribute values in tag
13
+ helpers.
14
+
15
+ Impact
16
+ ------
17
+
18
+ Text declared as "HTML safe" when passed as an attribute value to a tag helper
19
+ will not have quotes escaped which can lead to an XSS attack. Impacted code
20
+ looks something like this:
21
+
22
+ ```ruby
23
+ content_tag(:div, "hi", title: user_input.html_safe)
24
+ ```
25
+
26
+ Some helpers like the `sanitize` helper will automatically mark strings as
27
+ "HTML safe", so impacted code could also look something like this:
28
+
29
+ ```ruby
30
+ content_tag(:div, "hi", title: sanitize(user_input))
31
+ ```
32
+
33
+ All users running an affected release should either upgrade or use one of the
34
+ workarounds immediately.
35
+
36
+ Workarounds
37
+ -----------
38
+ You can work around this issue by either *not* marking arbitrary user input as
39
+ safe, or by manually escaping quotes like this:
40
+
41
+ ```ruby
42
+ def escape_quotes(value)
43
+ value.gsub(/"/, '"'.freeze)
44
+ end
45
+
46
+ content_tag(:div, "hi", title: escape_quotes(sanitize(user_input)))
47
+ ```
48
+
49
+ unaffected_versions:
50
+ - "< 3.0.0"
51
+
52
+ # "~> 3.2.22.3" is found in gems/actionpack/CVE-2016-6316.yml
53
+ patched_versions:
54
+ - "~> 4.2.7.1"
55
+ - "~> 4.2.8"
56
+ - ">= 5.0.0.1"
@@ -5,88 +5,88 @@ cve: 2016-0753
5
5
  date: 2016-01-25
6
6
  url: "https://groups.google.com/forum/#!topic/rubyonrails-security/6jQVC1geukQ"
7
7
 
8
- title: Possible Input Validation Circumvention in Active Model
8
+ title: Possible Input Validation Circumvention in Active Model
9
9
 
10
10
  description: |
11
- There is a possible input validation circumvention vulnerability in Active
12
- Model. This vulnerability has been assigned the CVE identifier CVE-2016-0753.
13
-
14
- Versions Affected: 4.1.0 and newer
15
- Not affected: 4.0.13 and older
16
- Fixed Versions: 5.0.0.beta1.1, 4.2.5.1, 4.1.14.1
17
-
18
- Impact
19
- ------
20
- Code that uses Active Model based models (including Active Record models) and
21
- does not validate user input before passing it to the model can be subject to
22
- an attack where specially crafted input will cause the model to skip
23
- validations.
24
-
25
- Vulnerable code will look something like this:
26
-
27
- ```ruby
28
- SomeModel.new(unverified_user_input)
29
- ```
30
-
31
- Rails users using Strong Parameters are generally not impacted by this issue
32
- as they are encouraged to whitelist parameters and must specifically opt-out
33
- of input verification using the `permit!` method to allow mass assignment.
34
-
35
- For example, a vulnerable Rails application will have code that looks like
36
- this:
37
-
38
- ```ruby
39
- def create
40
- params.permit! # allow all parameters
41
- @user = User.new params[:users]
42
- end
43
- ```
44
-
45
- Active Model and Active Record objects are not equipped to handle arbitrary
46
- user input. It is up to the application to verify input before passing it to
47
- Active Model models. Rails users already have Strong Parameters in place to
48
- handle white listing, but applications using Active Model and Active Record
49
- outside of a Rails environment may be impacted.
50
-
51
- All users running an affected release should either upgrade or use one of the
52
- workarounds immediately.
53
-
54
- Releases
55
- --------
56
- The FIXED releases are available at the normal locations.
57
-
58
- Workarounds
59
- -----------
60
- There are several workarounds depending on the application. Inside a Rails
61
- application, stop using `permit!`. Outside a Rails application, either use
62
- Hash#slice to select the parameters you need, or integrate Strong Parameters
63
- with your application.
64
-
65
- Patches
66
- -------
67
- To aid users who aren't able to upgrade immediately we have provided patches for
68
- the two supported release series. They are in git-am format and consist of a
69
- single changeset.
70
-
71
- * 4-1-validation_skip.patch - Patch for 4.1 series
72
- * 4-2-validation_skip.patch - Patch for 4.2 series
73
- * 5-0-validation_skip.patch - Patch for 5.0 series
74
-
75
- Please note that only the 4.1.x and 4.2.x series are supported at present. Users
76
- of earlier unsupported releases are advised to upgrade as soon as possible as we
77
- cannot guarantee the continued availability of security fixes for unsupported
78
- releases.
79
-
80
- Credits
81
- -------
82
- Thanks to:
83
-
84
- [John Backus](https://github.com/backus) from BlockScore for reporting this!
11
+ There is a possible input validation circumvention vulnerability in Active
12
+ Model. This vulnerability has been assigned the CVE identifier CVE-2016-0753.
13
+
14
+ Versions Affected: 4.1.0 and newer
15
+ Not affected: 4.0.13 and older
16
+ Fixed Versions: 5.0.0.beta1.1, 4.2.5.1, 4.1.14.1
17
+
18
+ Impact
19
+ ------
20
+ Code that uses Active Model based models (including Active Record models) and
21
+ does not validate user input before passing it to the model can be subject to
22
+ an attack where specially crafted input will cause the model to skip
23
+ validations.
24
+
25
+ Vulnerable code will look something like this:
26
+
27
+ ```ruby
28
+ SomeModel.new(unverified_user_input)
29
+ ```
30
+
31
+ Rails users using Strong Parameters are generally not impacted by this issue
32
+ as they are encouraged to whitelist parameters and must specifically opt-out
33
+ of input verification using the `permit!` method to allow mass assignment.
34
+
35
+ For example, a vulnerable Rails application will have code that looks like
36
+ this:
37
+
38
+ ```ruby
39
+ def create
40
+ params.permit! # allow all parameters
41
+ @user = User.new params[:users]
42
+ end
43
+ ```
44
+
45
+ Active Model and Active Record objects are not equipped to handle arbitrary
46
+ user input. It is up to the application to verify input before passing it to
47
+ Active Model models. Rails users already have Strong Parameters in place to
48
+ handle white listing, but applications using Active Model and Active Record
49
+ outside of a Rails environment may be impacted.
50
+
51
+ All users running an affected release should either upgrade or use one of the
52
+ workarounds immediately.
53
+
54
+ Releases
55
+ --------
56
+ The FIXED releases are available at the normal locations.
57
+
58
+ Workarounds
59
+ -----------
60
+ There are several workarounds depending on the application. Inside a Rails
61
+ application, stop using `permit!`. Outside a Rails application, either use
62
+ Hash#slice to select the parameters you need, or integrate Strong Parameters
63
+ with your application.
64
+
65
+ Patches
66
+ -------
67
+ To aid users who aren't able to upgrade immediately we have provided patches for
68
+ the two supported release series. They are in git-am format and consist of a
69
+ single changeset.
70
+
71
+ * 4-1-validation_skip.patch - Patch for 4.1 series
72
+ * 4-2-validation_skip.patch - Patch for 4.2 series
73
+ * 5-0-validation_skip.patch - Patch for 5.0 series
74
+
75
+ Please note that only the 4.1.x and 4.2.x series are supported at present. Users
76
+ of earlier unsupported releases are advised to upgrade as soon as possible as we
77
+ cannot guarantee the continued availability of security fixes for unsupported
78
+ releases.
79
+
80
+ Credits
81
+ -------
82
+ Thanks to:
83
+
84
+ [John Backus](https://github.com/backus) from BlockScore for reporting this!
85
85
 
86
86
  unaffected_versions:
87
87
  - "<= 4.0.13"
88
88
 
89
89
  patched_versions:
90
- - "~> 5.0.0.beta1.1"
91
- - "~> 4.2.5.1"
92
- - "~> 4.1.14.1"
90
+ - ">= 5.0.0.beta1.1"
91
+ - "~> 4.2.5, >= 4.2.5.1"
92
+ - "~> 4.1.14, >= 4.1.14.1"