bundler-leak 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/ISSUE_TEMPLATE/bug_report.md +59 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +47 -0
- data/.github/workflows/test.yml +27 -0
- data/.gitignore +1 -2
- data/Gemfile +1 -1
- data/README.md +13 -4
- data/Rakefile +1 -14
- data/bundler-leak.gemspec +2 -1
- data/code-of-conduct.md +77 -0
- data/{bin → exe}/bundle-leak +0 -0
- data/{bin → exe}/bundler-leak +0 -0
- data/fastruby-logo.png +0 -0
- data/gemspec.yml +3 -0
- data/lib/bundler/plumber/advisory.rb +7 -1
- data/lib/bundler/plumber/cli.rb +1 -1
- data/lib/bundler/plumber/database.rb +1 -1
- data/lib/bundler/plumber/version.rb +1 -1
- data/pull_request_template.md +7 -0
- data/spec/advisory_spec.rb +1 -1
- data/spec/bundle/unpatched_gems/Gemfile +0 -35
- data/spec/bundle/unpatched_gems/Gemfile.lock +60 -0
- data/spec/cli_spec.rb +49 -33
- data/spec/database_spec.rb +2 -7
- data/spec/integration_spec.rb +2 -2
- data/spec/spec_helper.rb +1 -1
- metadata +29 -34
- data/.travis.yml +0 -13
- data/data/ruby-mem-advisory-db/.gitignore +0 -1
- data/data/ruby-mem-advisory-db/.rspec +0 -1
- data/data/ruby-mem-advisory-db/.travis.yml +0 -12
- data/data/ruby-mem-advisory-db/CONTRIBUTING.md +0 -69
- data/data/ruby-mem-advisory-db/CONTRIBUTORS.md +0 -40
- data/data/ruby-mem-advisory-db/Gemfile +0 -9
- data/data/ruby-mem-advisory-db/Gemfile.lock +0 -38
- data/data/ruby-mem-advisory-db/LICENSE.txt +0 -5
- data/data/ruby-mem-advisory-db/README.md +0 -72
- data/data/ruby-mem-advisory-db/Rakefile +0 -26
- data/data/ruby-mem-advisory-db/gems/celluloid/670.yml +0 -13
- data/data/ruby-mem-advisory-db/gems/grape/301.yml +0 -11
- data/data/ruby-mem-advisory-db/gems/oj/229.yml +0 -11
- data/data/ruby-mem-advisory-db/gems/redcarpet/516.yml +0 -14
- data/data/ruby-mem-advisory-db/gems/redis/612.yml +0 -12
- data/data/ruby-mem-advisory-db/gems/sidekiq/2598.yml +0 -11
- data/data/ruby-mem-advisory-db/gems/sidekiq-statistic/73.yml +0 -9
- data/data/ruby-mem-advisory-db/gems/therubyracer/336.yml +0 -13
- data/data/ruby-mem-advisory-db/gems/zipruby/PRE-SA-2012-02.yml +0 -9
- data/data/ruby-mem-advisory-db/scripts/post-advisories.sh +0 -18
- data/data/ruby-mem-advisory-db/spec/advisories_spec.rb +0 -23
- data/data/ruby-mem-advisory-db/spec/advisory_example.rb +0 -209
- data/data/ruby-mem-advisory-db/spec/gem_example.rb +0 -37
- data/data/ruby-mem-advisory-db/spec/library_example.rb +0 -21
- data/data/ruby-mem-advisory-db/spec/ruby_example.rb +0 -22
- data/data/ruby-mem-advisory-db/spec/spec_helper.rb +0 -1
data/spec/integration_spec.rb
CHANGED
@@ -4,7 +4,7 @@ describe "CLI" do
|
|
4
4
|
include Helpers
|
5
5
|
|
6
6
|
let(:command) do
|
7
|
-
File.expand_path(File.join(File.dirname(__FILE__),'..','
|
7
|
+
File.expand_path(File.join(File.dirname(__FILE__),'..','exe','bundler-leak'))
|
8
8
|
end
|
9
9
|
|
10
10
|
context "when auditing a bundle with unpatched gems" do
|
@@ -36,7 +36,7 @@ Solution: upgrade to (~>|>=) \d+\.\d+\.\d+(\.\d+)?(, (~>|>=) \d+\.\d+\.\d+(\.\d+
|
|
36
36
|
let(:directory) { File.join('spec','bundle', bundle) }
|
37
37
|
|
38
38
|
let(:command) do
|
39
|
-
File.expand_path(File.join(File.dirname(__FILE__),'..','
|
39
|
+
File.expand_path(File.join(File.dirname(__FILE__),'..','exe','bundler-leak -i celluloid-670'))
|
40
40
|
end
|
41
41
|
|
42
42
|
subject do
|
data/spec/spec_helper.rb
CHANGED
@@ -34,7 +34,7 @@ module Helpers
|
|
34
34
|
end
|
35
35
|
|
36
36
|
def expect_update_to_update_repo!(quiet: false)
|
37
|
-
with = 'git fetch --all; git reset --hard origin/
|
37
|
+
with = 'git fetch --all; git reset --hard origin/main'
|
38
38
|
with << " --quiet" if quiet
|
39
39
|
|
40
40
|
expect(Bundler::Plumber::Database).
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bundler-leak
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ombulabs
|
8
8
|
autorequire:
|
9
|
-
bindir:
|
9
|
+
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-03-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -50,60 +50,53 @@ dependencies:
|
|
50
50
|
- - "<"
|
51
51
|
- !ruby/object:Gem::Version
|
52
52
|
version: '3'
|
53
|
+
- !ruby/object:Gem::Dependency
|
54
|
+
name: byebug
|
55
|
+
requirement: !ruby/object:Gem::Requirement
|
56
|
+
requirements:
|
57
|
+
- - "~>"
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: '11.1'
|
60
|
+
type: :development
|
61
|
+
prerelease: false
|
62
|
+
version_requirements: !ruby/object:Gem::Requirement
|
63
|
+
requirements:
|
64
|
+
- - "~>"
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '11.1'
|
53
67
|
description: bundler-leak provides memory leak verification for Bundled apps.
|
54
68
|
email: hello@ombulabs.com
|
55
69
|
executables:
|
56
70
|
- bundle-leak
|
57
71
|
- bundler-leak
|
58
|
-
- setup
|
59
72
|
extensions: []
|
60
73
|
extra_rdoc_files:
|
61
74
|
- COPYING.txt
|
62
75
|
- ChangeLog.md
|
63
76
|
- README.md
|
77
|
+
- code-of-conduct.md
|
78
|
+
- pull_request_template.md
|
64
79
|
files:
|
65
80
|
- ".document"
|
81
|
+
- ".github/ISSUE_TEMPLATE/bug_report.md"
|
82
|
+
- ".github/ISSUE_TEMPLATE/feature_request.md"
|
83
|
+
- ".github/workflows/test.yml"
|
66
84
|
- ".gitignore"
|
67
85
|
- ".gitmodules"
|
68
86
|
- ".rspec"
|
69
|
-
- ".travis.yml"
|
70
87
|
- ".yardopts"
|
71
88
|
- COPYING.txt
|
72
89
|
- ChangeLog.md
|
73
90
|
- Gemfile
|
74
91
|
- README.md
|
75
92
|
- Rakefile
|
76
|
-
- bin/bundle-leak
|
77
|
-
- bin/bundler-leak
|
78
93
|
- bin/setup
|
79
94
|
- bundler-leak.gemspec
|
95
|
+
- code-of-conduct.md
|
80
96
|
- data/ruby-mem-advisory-db.ts
|
81
|
-
-
|
82
|
-
-
|
83
|
-
-
|
84
|
-
- data/ruby-mem-advisory-db/CONTRIBUTING.md
|
85
|
-
- data/ruby-mem-advisory-db/CONTRIBUTORS.md
|
86
|
-
- data/ruby-mem-advisory-db/Gemfile
|
87
|
-
- data/ruby-mem-advisory-db/Gemfile.lock
|
88
|
-
- data/ruby-mem-advisory-db/LICENSE.txt
|
89
|
-
- data/ruby-mem-advisory-db/README.md
|
90
|
-
- data/ruby-mem-advisory-db/Rakefile
|
91
|
-
- data/ruby-mem-advisory-db/gems/celluloid/670.yml
|
92
|
-
- data/ruby-mem-advisory-db/gems/grape/301.yml
|
93
|
-
- data/ruby-mem-advisory-db/gems/oj/229.yml
|
94
|
-
- data/ruby-mem-advisory-db/gems/redcarpet/516.yml
|
95
|
-
- data/ruby-mem-advisory-db/gems/redis/612.yml
|
96
|
-
- data/ruby-mem-advisory-db/gems/sidekiq-statistic/73.yml
|
97
|
-
- data/ruby-mem-advisory-db/gems/sidekiq/2598.yml
|
98
|
-
- data/ruby-mem-advisory-db/gems/therubyracer/336.yml
|
99
|
-
- data/ruby-mem-advisory-db/gems/zipruby/PRE-SA-2012-02.yml
|
100
|
-
- data/ruby-mem-advisory-db/scripts/post-advisories.sh
|
101
|
-
- data/ruby-mem-advisory-db/spec/advisories_spec.rb
|
102
|
-
- data/ruby-mem-advisory-db/spec/advisory_example.rb
|
103
|
-
- data/ruby-mem-advisory-db/spec/gem_example.rb
|
104
|
-
- data/ruby-mem-advisory-db/spec/library_example.rb
|
105
|
-
- data/ruby-mem-advisory-db/spec/ruby_example.rb
|
106
|
-
- data/ruby-mem-advisory-db/spec/spec_helper.rb
|
97
|
+
- exe/bundle-leak
|
98
|
+
- exe/bundler-leak
|
99
|
+
- fastruby-logo.png
|
107
100
|
- gemspec.yml
|
108
101
|
- lib/bundler/plumber.rb
|
109
102
|
- lib/bundler/plumber/advisory.rb
|
@@ -112,9 +105,11 @@ files:
|
|
112
105
|
- lib/bundler/plumber/scanner.rb
|
113
106
|
- lib/bundler/plumber/task.rb
|
114
107
|
- lib/bundler/plumber/version.rb
|
108
|
+
- pull_request_template.md
|
115
109
|
- spec/advisory_spec.rb
|
116
110
|
- spec/audit_spec.rb
|
117
111
|
- spec/bundle/unpatched_gems/Gemfile
|
112
|
+
- spec/bundle/unpatched_gems/Gemfile.lock
|
118
113
|
- spec/cli_spec.rb
|
119
114
|
- spec/database_spec.rb
|
120
115
|
- spec/fixtures/not_a_hash.yml
|
@@ -140,7 +135,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
140
135
|
- !ruby/object:Gem::Version
|
141
136
|
version: 1.8.0
|
142
137
|
requirements: []
|
143
|
-
rubygems_version: 3.0.
|
138
|
+
rubygems_version: 3.0.3
|
144
139
|
signing_key:
|
145
140
|
specification_version: 4
|
146
141
|
summary: Memory leaks verification for Bundler
|
data/.travis.yml
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
_site
|
@@ -1 +0,0 @@
|
|
1
|
-
--colour
|
@@ -1,12 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
|
3
|
-
sudo: false
|
4
|
-
|
5
|
-
cache: bundler
|
6
|
-
|
7
|
-
notifications:
|
8
|
-
irc: chat.freenode.net#rubysec
|
9
|
-
|
10
|
-
env:
|
11
|
-
global:
|
12
|
-
- secure: ZXwsZdbCej15IcIazEIjy12o5v5EI8/Hle/VP1EabfbHsA5Mw+lrliMAV80C8Iy+p4mI66WIO/3Ovm64L1nGDBGs3dKUjtDvNPCKHlK2xK7AhvkcJnzbjWTAzWZY17STJO45DUdr/vuVbvQZ8llLosSOBs+grGsszCSEIOibqjU=
|
@@ -1,69 +0,0 @@
|
|
1
|
-
# Contributing Guidelines
|
2
|
-
|
3
|
-
* All text must be within 80 columns.
|
4
|
-
* YAML must be indented by 2 spaces.
|
5
|
-
* Have any questions? Feel free to open an issue.
|
6
|
-
* Prior to submitting a pull request, run the tests:
|
7
|
-
|
8
|
-
```
|
9
|
-
bundle install
|
10
|
-
bundle exec rspec
|
11
|
-
```
|
12
|
-
|
13
|
-
* Follow the schema. Here is an example advisory:
|
14
|
-
|
15
|
-
```yaml
|
16
|
-
---
|
17
|
-
gem: examplegem
|
18
|
-
cve: 2013-0156
|
19
|
-
url: https://github.com/rubysec/ruby-advisory-db/issues/123456
|
20
|
-
title: |
|
21
|
-
Ruby on Rails params_parser.rb Action Pack Type Casting Parameter Parsing
|
22
|
-
Remote Code Execution
|
23
|
-
|
24
|
-
description: |
|
25
|
-
Ruby on Rails contains a flaw in params_parser.rb of the Action Pack.
|
26
|
-
The issue is triggered when a type casting error occurs during the parsing
|
27
|
-
of parameters. This may allow a remote attacker to potentially execute
|
28
|
-
arbitrary code.
|
29
|
-
|
30
|
-
cvss_v2: 10.0
|
31
|
-
|
32
|
-
patched_versions:
|
33
|
-
- ~> 2.3.15
|
34
|
-
- ~> 3.0.19
|
35
|
-
- ~> 3.1.10
|
36
|
-
- ">= 3.2.11"
|
37
|
-
unaffected_versions:
|
38
|
-
- ~> 2.4.3
|
39
|
-
|
40
|
-
related:
|
41
|
-
cve:
|
42
|
-
- 2013-1234567
|
43
|
-
- 2013-1234568
|
44
|
-
url:
|
45
|
-
- https://github.com/rubysec/ruby-advisory-db/issues/123457
|
46
|
-
|
47
|
-
```
|
48
|
-
### Schema
|
49
|
-
|
50
|
-
* `gem` \[String\]: Name of the affected gem.
|
51
|
-
* `framework` \[String\] (optional): Name of framework gem belongs to.
|
52
|
-
* `platform` \[String\] (optional): If this vulnerability is platform-specific, name of platform this vulnerability affects (e.g. JRuby)
|
53
|
-
* `cve` \[String\]: CVE id.
|
54
|
-
* `osvdb` \[Integer\]: OSVDB id.
|
55
|
-
* `url` \[String\]: The URL to the full advisory.
|
56
|
-
* `title` \[String\]: The title of the advisory.
|
57
|
-
* `date` \[Date\]: Disclosure date of the advisory.
|
58
|
-
* `description` \[String\]: Multi-paragraph description of the vulnerability.
|
59
|
-
* `cvss_v2` \[Float\]: The [CVSSv2] score for the vulnerability.
|
60
|
-
* `cvss_v3` \[Float\]: The [CVSSv3] score for the vulnerability.
|
61
|
-
* `unaffected_versions` \[Array\<String\>\] (optional): The version requirements for the
|
62
|
-
unaffected versions of the Ruby library.
|
63
|
-
* `patched_versions` \[Array\<String\>\]: The version requirements for the
|
64
|
-
patched versions of the Ruby library.
|
65
|
-
* `related` \[Hash\<Array\<String\>\>\]: Sometimes an advisory references many urls and cves. Supported keys: `cve` and `url`
|
66
|
-
|
67
|
-
|
68
|
-
[CVSSv2]: https://www.first.org/cvss/v2/guide
|
69
|
-
[CVSSv3]: https://www.first.org/cvss/user-guide
|
@@ -1,40 +0,0 @@
|
|
1
|
-
### Acknowledgements
|
2
|
-
|
3
|
-
This database would not be possible without volunteers willing to submit pull requests. In no particular order, we'd like to thank:
|
4
|
-
|
5
|
-
* [Postmodern](https://github.com/postmodern/)
|
6
|
-
* [Max Veytsman](https://twitter.com/mveytsman)
|
7
|
-
* [Pietro Monteiro](https://github.com/pietro)
|
8
|
-
* [Eric Hodel](https://github.com/drbrain)
|
9
|
-
* [Brendon Murphy](https://github.com/bemurphy)
|
10
|
-
* [Oliver Legg](https://github.com/olly)
|
11
|
-
* [Larry W. Cashdollar](http://vapid.dhs.org/)
|
12
|
-
* [Michael Grosser](https://github.com/grosser)
|
13
|
-
* [Sascha Korth](https://github.com/skorth)
|
14
|
-
* [David Radcliffe](https://github.com/dwradcliffe)
|
15
|
-
* [Jörg Schiller](https://github.com/joergschiller)
|
16
|
-
* [Derek Prior](https://github.com/derekprior)
|
17
|
-
* [Joel Chippindale](https://github.com/mocoso)
|
18
|
-
* [Josef Šimánek](https://github.com/simi)
|
19
|
-
* [Amiel Martin](https://github.com/amiel)
|
20
|
-
* [Jeremy Olliver](https://github.com/jeremyolliver)
|
21
|
-
* [Vasily Vasinov](https://github.com/vasinov)
|
22
|
-
* [Phill MV](https://twitter.com/phillmv)
|
23
|
-
* [Jon Kessler](https://github.com/jonkessler)
|
24
|
-
* [James Harton](https://github.com/jamesotron)
|
25
|
-
* [Justin Collins](https://github.com/presidentbeef)
|
26
|
-
* [Andy Brody](https://github.com/ab)
|
27
|
-
* [Alexey Zapparov](https://github.com/ixti)
|
28
|
-
* [Toni Reina](https://github.com/areina)
|
29
|
-
* [Bernard Lambeau](https://github.com/blambeau)
|
30
|
-
* [Don Morrison](https://github.com/elskwid)
|
31
|
-
* [John Poulin](https://github.com/forced-request)
|
32
|
-
* [Neal Harris](https://github.com/nealharris)
|
33
|
-
* [Justin Bull](https://github.com/f3ndot)
|
34
|
-
* [Andrew Selder](https://github.com/aselder)
|
35
|
-
* [Vanessa Henderson](https://github.com/VanessaHenderson)
|
36
|
-
* [Reed Loden](https://github.com/reedloden)
|
37
|
-
* [ecneladis](https://github.com/ecneladis)
|
38
|
-
* [Brendan Coles](https://github.com/bcoles)
|
39
|
-
|
40
|
-
The rubysec.com domain was graciously donated by [Jordi Massaguer](https://github.com/jordimassaguerpla).
|
@@ -1,38 +0,0 @@
|
|
1
|
-
GEM
|
2
|
-
remote: https://rubygems.org/
|
3
|
-
specs:
|
4
|
-
coderay (1.1.2)
|
5
|
-
diff-lcs (1.3)
|
6
|
-
method_source (0.9.0)
|
7
|
-
mini_portile2 (2.4.0)
|
8
|
-
nokogiri (1.10.3)
|
9
|
-
mini_portile2 (~> 2.4.0)
|
10
|
-
pry (0.11.3)
|
11
|
-
coderay (~> 1.1.0)
|
12
|
-
method_source (~> 0.9.0)
|
13
|
-
rake (12.3.1)
|
14
|
-
rspec (3.7.0)
|
15
|
-
rspec-core (~> 3.7.0)
|
16
|
-
rspec-expectations (~> 3.7.0)
|
17
|
-
rspec-mocks (~> 3.7.0)
|
18
|
-
rspec-core (3.7.1)
|
19
|
-
rspec-support (~> 3.7.0)
|
20
|
-
rspec-expectations (3.7.0)
|
21
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
22
|
-
rspec-support (~> 3.7.0)
|
23
|
-
rspec-mocks (3.7.0)
|
24
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
25
|
-
rspec-support (~> 3.7.0)
|
26
|
-
rspec-support (3.7.1)
|
27
|
-
|
28
|
-
PLATFORMS
|
29
|
-
ruby
|
30
|
-
|
31
|
-
DEPENDENCIES
|
32
|
-
nokogiri
|
33
|
-
pry
|
34
|
-
rake
|
35
|
-
rspec
|
36
|
-
|
37
|
-
BUNDLED WITH
|
38
|
-
1.17.1
|
@@ -1,5 +0,0 @@
|
|
1
|
-
If you submit code or data to the ruby-advisory-db that is copyrighted by yourself, upon submission you hereby agree to release it into the public domain.
|
2
|
-
|
3
|
-
However, not all of the ruby-advisory-db can be considered public domain. The ruby-advisory-db may contain some information copyrighted by the Open Source Vulnerability Database (http://osvdb.org). If you use ruby-advisory-db data to build a product or a service, it is your responsibility to familiarize yourself with the terms of their license: http://www.osvdb.org/osvdb_license
|
4
|
-
|
5
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
@@ -1,72 +0,0 @@
|
|
1
|
-
# Ruby Advisory Database
|
2
|
-
|
3
|
-
The Ruby Mem Database is a community effort to compile all memory leaks that are relevant to Ruby gems.
|
4
|
-
|
5
|
-
You can check your own Gemfile.locks against this database by using [bundler-leak](https://github.com/rubymem/bundler-leak).
|
6
|
-
|
7
|
-
## Support Ruby security!
|
8
|
-
|
9
|
-
Do you know about a memory leak that isn't listed in this database? Open an issue, submit a PR, or [use this form](https://rubymem.com/advisories/new) which will email the maintainers.
|
10
|
-
|
11
|
-
## Directory Structure
|
12
|
-
|
13
|
-
The database is a list of directories that match the names of Ruby libraries on
|
14
|
-
[rubygems.org]. Within each directory are one or more files
|
15
|
-
for the Ruby library. These files are named using
|
16
|
-
the advisories can be named however you want, in this example it is named after the PR number in github.
|
17
|
-
|
18
|
-
gems/:
|
19
|
-
celluloid/:
|
20
|
-
612.yml
|
21
|
-
|
22
|
-
|
23
|
-
## Format
|
24
|
-
|
25
|
-
Each file contains the information in [YAML] format:
|
26
|
-
|
27
|
-
---
|
28
|
-
gem: examplegem
|
29
|
-
url: https://github.com/celluloid/celluloid/issues/670
|
30
|
-
title: Memory Leak using Examplegem::Future
|
31
|
-
date: 2015-08-31
|
32
|
-
description: |
|
33
|
-
The ExampleGem::Group::Spawner appears to never clean up the completed Threads
|
34
|
-
that it creates.
|
35
|
-
leaky_versions:
|
36
|
-
- "> 0.16.0, < 0.17.2
|
37
|
-
patched_versions:
|
38
|
-
- "~> 0.17.3"
|
39
|
-
unaffected_versions:
|
40
|
-
- < 0.16.0
|
41
|
-
|
42
|
-
|
43
|
-
### Schema
|
44
|
-
|
45
|
-
* `gem` \[String\]: Name of the affected gem.
|
46
|
-
* `framework` \[String\] (optional): Name of the framework which the affected
|
47
|
-
gem belongs to.
|
48
|
-
* `platform` \[String\] (optional): If this vulnerability is platform-specific, name of platform this vulnerability affects (e.g. jruby)
|
49
|
-
* `url` \[String\]: The URL to the full advisory.
|
50
|
-
* `title` \[String\]: The title of the advisory or individual vulnerability.
|
51
|
-
* `date` \[Date\]: The public disclosure date of the advisory.
|
52
|
-
* `description` \[String\]: One or more paragraphs describing the vulnerability.
|
53
|
-
* `unaffected_versions` \[Array\<String\>\] (optional): The version requirements for the
|
54
|
-
unaffected versions of the Ruby library.
|
55
|
-
* `patched_versions` \[Array\<String\>\]: The version requirements for the
|
56
|
-
patched versions of the Ruby library.
|
57
|
-
|
58
|
-
### Tests
|
59
|
-
Prior to submitting a pull request, run the tests:
|
60
|
-
|
61
|
-
```
|
62
|
-
bundle install
|
63
|
-
bundle exec rspec
|
64
|
-
```
|
65
|
-
|
66
|
-
## Credits
|
67
|
-
|
68
|
-
Please see [CONTRIBUTORS.md].
|
69
|
-
|
70
|
-
[rubygems.org]: https://rubygems.org/
|
71
|
-
[YAML]: http://www.yaml.org/
|
72
|
-
[CONTRIBUTORS.md]: https://github.com/rubymem/ruby-mem-advisory-db/blob/master/CONTRIBUTORS.md
|
@@ -1,26 +0,0 @@
|
|
1
|
-
require 'yaml'
|
2
|
-
|
3
|
-
namespace :lint do
|
4
|
-
begin
|
5
|
-
require 'rspec/core/rake_task'
|
6
|
-
|
7
|
-
RSpec::Core::RakeTask.new(:yaml)
|
8
|
-
rescue LoadError => e
|
9
|
-
task :spec do
|
10
|
-
abort "Please run `gem install rspec` to install RSpec."
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
task :cve do
|
15
|
-
Dir.glob('{gems,libraries,rubies}/*/*.yml') do |path|
|
16
|
-
advisory = YAML.load_file(path)
|
17
|
-
|
18
|
-
unless advisory['cve']
|
19
|
-
puts "Missing CVE: #{path}"
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
task :lint => ['lint:yaml', 'lint:cve']
|
26
|
-
task :default => :lint
|
@@ -1,13 +0,0 @@
|
|
1
|
-
---
|
2
|
-
gem: celluloid
|
3
|
-
url: https://github.com/celluloid/celluloid/issues/670
|
4
|
-
title: Memory Leak using Celluloid::Future
|
5
|
-
date: 2015-08-31
|
6
|
-
description: |
|
7
|
-
The Celluloid::Group::Spawner appears to never clean up the completed Threads
|
8
|
-
that it creates.
|
9
|
-
leaky_versions:
|
10
|
-
- "> 0.16.0, < 0.17.2"
|
11
|
-
patched_versions:
|
12
|
-
- ">= 0.17.3"
|
13
|
-
|
@@ -1,11 +0,0 @@
|
|
1
|
-
---
|
2
|
-
gem: grape
|
3
|
-
url: https://github.com/ruby-grape/grape/issues/301
|
4
|
-
title: Memory leak in formatter middleware
|
5
|
-
date: 2012-12-27
|
6
|
-
description: |
|
7
|
-
The call for .to_sym will leak the symbol since those are never garbage collected. Malicious users can abuse.
|
8
|
-
leaky_versions:
|
9
|
-
- "< 0.2.5"
|
10
|
-
patched_versions:
|
11
|
-
- ">= 0.10"
|
@@ -1,14 +0,0 @@
|
|
1
|
-
---
|
2
|
-
gem: redcarpet
|
3
|
-
url: https://github.com/vmg/redcarpet/pull/516
|
4
|
-
title: Memory Leak in Redcarpet::Render::Base
|
5
|
-
date: 2015-09-11
|
6
|
-
description: |
|
7
|
-
rb_redcarpet_rbase_alloc used to allocate a struct rb_redcarpet_rndr instance
|
8
|
-
which was never freed.
|
9
|
-
|
10
|
-
This caused 312 leaked bytes (on a 64-bit machine) on every render call
|
11
|
-
leaky_versions:
|
12
|
-
- "< 3.3.3"
|
13
|
-
patched_versions:
|
14
|
-
- ">= 3.3"
|
@@ -1,12 +0,0 @@
|
|
1
|
-
---
|
2
|
-
gem: redis
|
3
|
-
url: https://github.com/redis/redis-rb/issues/612
|
4
|
-
title: Memory leak due to Timeout creating threads on each invocation.
|
5
|
-
date: 2016-04-25
|
6
|
-
description: |
|
7
|
-
write_timeout results in lots of short-lived threads created, since each timeout block creates a separate thread. Now every write to Redis requires the creation of a new Thread.
|
8
|
-
leaky_versions:
|
9
|
-
- "= 3.2.2"
|
10
|
-
- "= 3.3.0"
|
11
|
-
patched_versions:
|
12
|
-
- ">= 3.3.1"
|
@@ -1,11 +0,0 @@
|
|
1
|
-
---
|
2
|
-
gem: sidekiq
|
3
|
-
url: https://github.com/mperham/sidekiq/pull/2598
|
4
|
-
title: Memory Leak in Sidekiq::Manager#real_thread
|
5
|
-
date: 2015-10-09
|
6
|
-
description: |
|
7
|
-
Before starting to execute the task, Processor does an async call to Manager (real_thread method) to add processor's thread to @threads hash in Manager
|
8
|
-
leaky_versions:
|
9
|
-
- "< 3.5.1"
|
10
|
-
patched_versions:
|
11
|
-
- ">= 3.5.1"
|
@@ -1,9 +0,0 @@
|
|
1
|
-
---
|
2
|
-
gem: sidekiq-statistic
|
3
|
-
url: https://github.com/davydovanton/sidekiq-statistic/issues/73
|
4
|
-
title: Memory Leak since timeslist does not expire
|
5
|
-
date: 2015-09-15
|
6
|
-
description: |
|
7
|
-
The timeslist should be expired after some amount of time and the times aggregated into a much more compact form.
|
8
|
-
leaky_versions:
|
9
|
-
- "<= 1.2"
|
@@ -1,13 +0,0 @@
|
|
1
|
-
---
|
2
|
-
gem: therubyracer
|
3
|
-
url: https://github.com/cowboyd/therubyracer/pull/336
|
4
|
-
title: Memory leak in WeakValueMap
|
5
|
-
date: 2015-03-31
|
6
|
-
description: |
|
7
|
-
Entries were not being cleaned up correctly from the backing store.
|
8
|
-
leaky_versions:
|
9
|
-
- "< 0.12.2"
|
10
|
-
unaffected_versions:
|
11
|
-
- "~> 0.12.3"
|
12
|
-
patched_versions:
|
13
|
-
- "~> 0.12.3"
|
@@ -1,9 +0,0 @@
|
|
1
|
-
---
|
2
|
-
gem: zipruby
|
3
|
-
url: https://packetstormsecurity.com/files/111242/libzip-0.10-Heap-Overflow-Information-Leak.html
|
4
|
-
title: Heap overflow, information leak
|
5
|
-
date: 2012-03-21
|
6
|
-
description: |
|
7
|
-
libzip has two vulnerabilities that may lead to a heap overflow or an information leak via corrupted zip files.
|
8
|
-
leaky_versions:
|
9
|
-
- "<= 0.3.6"
|
@@ -1,18 +0,0 @@
|
|
1
|
-
#!/bin/bash
|
2
|
-
|
3
|
-
set -o errexit -o nounset
|
4
|
-
|
5
|
-
REPO="https://${GH_TOKEN}@github.com/rubysec/rubysec.github.io.git"
|
6
|
-
DIR="_site"
|
7
|
-
|
8
|
-
git clone $REPO $DIR
|
9
|
-
|
10
|
-
cd $DIR
|
11
|
-
|
12
|
-
git config user.name "RubySec CI"
|
13
|
-
git config user.email "ci@rubysec.com"
|
14
|
-
|
15
|
-
bundle install --jobs=3 --retry=3
|
16
|
-
bundle exec rake advisories
|
17
|
-
|
18
|
-
git push -q
|
@@ -1,23 +0,0 @@
|
|
1
|
-
load File.join(File.dirname(__FILE__), 'spec_helper.rb')
|
2
|
-
require 'gem_example'
|
3
|
-
require 'library_example'
|
4
|
-
require 'ruby_example'
|
5
|
-
|
6
|
-
describe "gems" do
|
7
|
-
Dir.glob(File.join(File.dirname(__FILE__), '../gems/*/*')) do |path|
|
8
|
-
include_examples 'Gem Advisory', path
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
describe "libraries" do
|
13
|
-
Dir.glob(File.join(File.dirname(__FILE__), '../libraries/*/*')) do |path|
|
14
|
-
include_examples 'Libraries Advisory', path
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
describe "rubies" do
|
19
|
-
Dir.glob(File.join(File.dirname(__FILE__), '../rubies/*/*')) do |path|
|
20
|
-
include_examples 'Rubies Advisory', path
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|