codesake-dawn 1.0.4 → 1.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Changelog.md +7 -2
- data/doc/dawn_1_0_announcement.md +38 -0
- data/lib/codesake/dawn/kb/cve_2014_0036.rb +29 -0
- data/lib/codesake/dawn/kb/cve_2014_2322.rb +30 -0
- data/lib/codesake/dawn/kb/owasp_ror_cheatsheet/check_for_safe_redirect_and_forward.rb +20 -8
- data/lib/codesake/dawn/knowledge_base.rb +6 -2
- data/lib/codesake/dawn/version.rb +2 -2
- data/spec/lib/dawn/codesake_knowledgebase_spec.rb +11 -0
- data/spec/lib/kb/cve_2014_0036_spec.rb +16 -0
- data/spec/lib/kb/cve_2014_2322_spec.rb +16 -0
- metadata +8 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a3cfd7dcde00df1e924802c9a980ca4df702a01e
|
4
|
+
data.tar.gz: d4b4a80895d4ac4067beb45d0f1bab10314c9c6f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 69fc2f353ffa35c92268c36bf12863df8fd9b248dd0706c505d4d240f9a923b433fe9daa120e5b9bd9898d3bdcfa5dab6944aa6f5390a02c962d2bce9ef99d24
|
7
|
+
data.tar.gz: 1058acec0fe728506c2d2014938061f316617aefab6b2f43a2f491997a5a1a3cd8a3085dd248650c72708060838f4ef527cb1bd942feb907a810635edc6bb8dc
|
data/Changelog.md
CHANGED
@@ -3,9 +3,14 @@
|
|
3
3
|
Codesake::Dawn is a static analysis security scanner for ruby written web applications.
|
4
4
|
It supports [Sinatra](http://www.sinatrarb.com),
|
5
5
|
[Padrino](http://www.padrinorb.com) and [Ruby on Rails](http://rubyonrails.org)
|
6
|
-
frameworks.
|
6
|
+
frameworks.
|
7
7
|
|
8
|
-
_latest update:
|
8
|
+
_latest update: Tue Mar 18 15:57:42 CET 2014_
|
9
|
+
|
10
|
+
## Version 1.0.5 - codename: Lightning McQueen (2014-03-18)
|
11
|
+
|
12
|
+
* Added a check for CVE-2014-2322
|
13
|
+
* Added a check for CVE-2014-0036
|
9
14
|
|
10
15
|
## Version 1.0.4 - codename: Lightning McQueen (2014-03-14)
|
11
16
|
|
@@ -43,6 +43,18 @@ Paolo - paolo@codesake.com
|
|
43
43
|
|
44
44
|
## Twitter announcement
|
45
45
|
|
46
|
+
### version 1.0.5
|
47
|
+
|
48
|
+
@dawnscanner version 1.0.5 is out. 2 new security checks: CVE-2014-2322 and CVE-2014-0036 #ruby #security #rails #sinatra #padrino
|
49
|
+
|
50
|
+
### version 1.0.4
|
51
|
+
|
52
|
+
@dawnscanner version 1.0.4 is out. 10 security checks actually in development were backported to master release. https://twitter.com/rubygems/status/444389931851718656 #ruby #security #rails
|
53
|
+
|
54
|
+
### version 1.0.3
|
55
|
+
|
56
|
+
@dawnscanner version 1.0.3 is out. It fixes the rake task that it wasn't available. https://github.com/codesake/codesake-dawn/issues/37 #sinatra #padrino #rails
|
57
|
+
|
46
58
|
### version 1.0.2
|
47
59
|
|
48
60
|
@dawnscanner version 1.0.2 is out. It fixes an annoying bug whit rainbow gem 2.0.0 #sinatra #padrino #rubyonrails #security #scanner
|
@@ -57,6 +69,32 @@ Paolo - paolo@codesake.com
|
|
57
69
|
|
58
70
|
## Linkedin announcement
|
59
71
|
|
72
|
+
### version 1.0.5
|
73
|
+
|
74
|
+
@dawnscanner version 1.0.r54 is out. You can read the announcement here: http://dawn.codesake.com/blog/announce-codesake-dawn-v1-0-5-released/
|
75
|
+
Codesake::Dawn v1.0.5 introduces 2 newly released CVE bullettins: CVE-2014-006 and CVE-2014-2322 about a MitM Spoofing Weakness in rbovirt gem and command injection in arabic prawn gem. Codesake::Dawk supports Sinatra, Padrino and Ruby on Rails MVC frameworks out of the box.
|
76
|
+
|
77
|
+
$ gem install codesake-dawn
|
78
|
+
$ have fun
|
79
|
+
|
80
|
+
### version 1.0.4
|
81
|
+
|
82
|
+
@dawnscanner version 1.0.4 is out. You can read the announcement here: http://dawn.codesake.com/blog/announce-codesake-dawn-v1-0-4-released/
|
83
|
+
Codesake::Dawn v1.0.4 introduces 10 security checks backported from upcoming version 1.1.x and released in the latest months. Now the knowledge base has 152 security checks. Codesake::Dawk supports Sinatra, Padrino and Ruby on Rails MVC frameworks out of the box.
|
84
|
+
|
85
|
+
$ gem install codesake-dawn
|
86
|
+
$ have fun
|
87
|
+
|
88
|
+
### version 1.0.3
|
89
|
+
@dawnscanner version 1.0.3 is out. Read the announcement online. Codesake::Dawn makes security code review fun for ruby developers, it scans 142 CVE bulletins and future release will be able to scan custom ruby code for XSS, SQL Injections and business logic flaws. It supports Sinatra, Padrino and Ruby on Rails MVC framework out of the box.
|
90
|
+
|
91
|
+
Now you can add the ```require 'codesake/dawn/tasks'``` line in your Rakefile taking advantages from the rake ```dawn:run``` task
|
92
|
+
|
93
|
+
https://twitter.com/rubygems/status/433913686659702784
|
94
|
+
|
95
|
+
$ gem install codesake-dawn
|
96
|
+
$ have fun
|
97
|
+
|
60
98
|
### version 1.0.2
|
61
99
|
@dawnscanner version 1.0.2 is out. Read the announcement online. Codesake::Dawn makes security code review fun for ruby developers, it scans 142 CVE bulletins and future release will be able to scan custom ruby code for XSS, SQL Injections and business logic flaws. It supports Sinatra, Padrino and Ruby on Rails MVC framework out of the box.
|
62
100
|
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module Codesake
|
2
|
+
module Dawn
|
3
|
+
module Kb
|
4
|
+
# Automatically created with rake on 2014-03-14
|
5
|
+
class CVE_2014_0036
|
6
|
+
include DependencyCheck
|
7
|
+
|
8
|
+
def initialize
|
9
|
+
message = "rbovirt Gem for Ruby contains a flaw related to certificate validation. The issue is due to the program failing to validate SSL certificates. This may allow an attacker with access to network traffic (e.g. MiTM, DNS cache poisoning) to spoof the SSL server via an arbitrary certificate that appears valid. Such an attack would allow for the interception of sensitive traffic, and potentially allow for the injection of content into the SSL stream."
|
10
|
+
|
11
|
+
super({
|
12
|
+
:name=>"CVE-2014-0036",
|
13
|
+
:cvss=>"",
|
14
|
+
:release_date => Date.new(2014, 3, 5),
|
15
|
+
:cwe=>"20",
|
16
|
+
:owasp=>"A9",
|
17
|
+
:applies=>["sinatra", "padrino", "rails"],
|
18
|
+
:kind=>Codesake::Dawn::KnowledgeBase::DEPENDENCY_CHECK,
|
19
|
+
:message=>message,
|
20
|
+
:mitigation=>"Please upgrade rbovirt version at least to 0.0.24. As a general rule, using the latest version is recommended.",
|
21
|
+
:aux_links=>["http://www.securityfocus.com/bid/66006"]
|
22
|
+
})
|
23
|
+
|
24
|
+
self.safe_dependencies = [{:name=>"rbovirt", :version=>['0.0.24']}]
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Codesake
|
2
|
+
module Dawn
|
3
|
+
module Kb
|
4
|
+
# Automatically created with rake on 2014-03-14
|
5
|
+
class CVE_2014_2322
|
6
|
+
# Include the testing skeleton for this CVE
|
7
|
+
include DependencyCheck
|
8
|
+
|
9
|
+
def initialize
|
10
|
+
message = "Arabic Prawn Gem for Ruby contains a flaw in the ib/string_utf_support.rb file. The issue is due to the program failing to sanitize user input. This may allow a remote attacker to inject arbitrary commands."
|
11
|
+
|
12
|
+
super({
|
13
|
+
:name=>"CVE-2014-2322",
|
14
|
+
:cvss=>"",
|
15
|
+
:release_date => Date.new(2014, 3, 10),
|
16
|
+
:cwe=>"",
|
17
|
+
:owasp=>"A9",
|
18
|
+
:applies=>["sinatra", "padrino", "rails"],
|
19
|
+
:kind=>Codesake::Dawn::KnowledgeBase::DEPENDENCY_CHECK,
|
20
|
+
:message=>message,
|
21
|
+
:mitigation=>"At March, 14 2014 a fixed Arabic-Prawn release is not available. Please sanitize your input before passing it to this gem and upgrade to higher versions as soon as possible",
|
22
|
+
:aux_links=>["http://packetstormsecurity.com/files/125679/Ruby-Gem-Arabic-Prawn-0.0.1-Command-Injection.html"]
|
23
|
+
})
|
24
|
+
|
25
|
+
self.safe_dependencies = [{:name=>"Arabic-Prawn", :version=>['0.0.2']}]
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -7,14 +7,26 @@ module Codesake
|
|
7
7
|
include PatternMatchCheck
|
8
8
|
|
9
9
|
def initialize
|
10
|
-
message =
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
10
|
+
message = <<-EOT
|
11
|
+
Web applications often require the ability to dynamically redirect users based
|
12
|
+
on client-supplied data. To clarify, dynamic redirection usually entails the
|
13
|
+
client including a URL in a parameter within a request to the application. Once
|
14
|
+
received by the application, the user is redirected to the URL specified in the
|
15
|
+
request.
|
16
|
+
|
17
|
+
For example: http://www.example.com/redirect?url=http://www.example_commerce_site.com/checkout
|
18
|
+
|
19
|
+
The above request would redirect the user to http://www.example.com/checkout.
|
20
|
+
|
21
|
+
The security concern associated with this functionality is leveraging an
|
22
|
+
organization's trusted brand to phish users and trick them into visiting a
|
23
|
+
malicious site, in our example, "badhacker.com".
|
24
|
+
|
25
|
+
Example: http://www.example.com/redirect?url=http://badhacker.com
|
26
|
+
|
27
|
+
The most basic, but restrictive protection is to use the :only_path option.
|
28
|
+
Setting this to true will essentially strip out any host information.
|
29
|
+
EOT
|
18
30
|
|
19
31
|
super({
|
20
32
|
:name=>"Owasp Ror CheatSheet: Check for safe redirect and forward",
|
@@ -196,10 +196,12 @@ require "codesake/dawn/kb/cve_2013_7086"
|
|
196
196
|
|
197
197
|
# CVE - 2014
|
198
198
|
|
199
|
+
require "codesake/dawn/kb/cve_2014_0036"
|
199
200
|
require "codesake/dawn/kb/cve_2014_0081"
|
200
201
|
require "codesake/dawn/kb/cve_2014_0082"
|
201
202
|
require "codesake/dawn/kb/cve_2014_1233"
|
202
203
|
require "codesake/dawn/kb/cve_2014_1234"
|
204
|
+
require "codesake/dawn/kb/cve_2014_2322"
|
203
205
|
|
204
206
|
module Codesake
|
205
207
|
module Dawn
|
@@ -410,10 +412,12 @@ module Codesake
|
|
410
412
|
Codesake::Dawn::Kb::CVE_2013_6421.new,
|
411
413
|
Codesake::Dawn::Kb::CVE_2013_6459.new,
|
412
414
|
Codesake::Dawn::Kb::CVE_2013_7086.new,
|
413
|
-
Codesake::Dawn::Kb::
|
414
|
-
Codesake::Dawn::Kb::CVE_2014_1234.new,
|
415
|
+
Codesake::Dawn::Kb::CVE_2014_0036.new,
|
415
416
|
Codesake::Dawn::Kb::CVE_2014_0081.new,
|
416
417
|
Codesake::Dawn::Kb::CVE_2014_0082.new,
|
418
|
+
Codesake::Dawn::Kb::CVE_2014_1233.new,
|
419
|
+
Codesake::Dawn::Kb::CVE_2014_1234.new,
|
420
|
+
Codesake::Dawn::Kb::CVE_2014_2322.new,
|
417
421
|
|
418
422
|
]
|
419
423
|
end
|
@@ -768,4 +768,15 @@ end
|
|
768
768
|
sc.should_not be_nil
|
769
769
|
sc.class.should == Codesake::Dawn::Kb::CVE_2013_1756
|
770
770
|
end
|
771
|
+
it "must have test for CVE-2014-2322" do
|
772
|
+
sc = kb.find("CVE-2014-2322")
|
773
|
+
sc.should_not be_nil
|
774
|
+
sc.class.should == Codesake::Dawn::Kb::CVE_2014_2322
|
775
|
+
end
|
776
|
+
|
777
|
+
it "must have test for CVE-2014-0036" do
|
778
|
+
sc = kb.find("CVE-2014-0036")
|
779
|
+
sc.should_not be_nil
|
780
|
+
sc.class.should == Codesake::Dawn::Kb::CVE_2014_0036
|
781
|
+
end
|
771
782
|
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
describe "The CVE-2014-0036 vulnerability" do
|
3
|
+
before(:all) do
|
4
|
+
@check = Codesake::Dawn::Kb::CVE_2014_0036.new
|
5
|
+
# @check.debug = true
|
6
|
+
end
|
7
|
+
it "must be filled with CVSS information"
|
8
|
+
it "is reported when a vulnerable rbovirt gem version is detected (0.0.23)" do
|
9
|
+
@check.dependencies = [{:name=>"rbovirt", :version=>'0.0.23'}]
|
10
|
+
@check.vuln?.should be_true
|
11
|
+
end
|
12
|
+
it "is not reported when a sage rbovirt gem version is detected (0.0.24)" do
|
13
|
+
@check.dependencies = [{:name=>"rbovirt", :version=>'0.0.24'}]
|
14
|
+
@check.vuln?.should be_false
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
describe "The CVE-2014-2322 vulnerability" do
|
3
|
+
before(:all) do
|
4
|
+
@check = Codesake::Dawn::Kb::CVE_2014_2322.new
|
5
|
+
# @check.debug = true
|
6
|
+
end
|
7
|
+
it "must be filled with CVSS information"
|
8
|
+
it "is reported when a vulnerable arabic prawn gem version is found (0.0.1)" do
|
9
|
+
@check.dependencies = [{:name=>"Arabic-Prawn", :version=>'0.0.1'}]
|
10
|
+
@check.vuln?.should be_true
|
11
|
+
end
|
12
|
+
it "is not reported when a sage vulnerable arabic prawn gem version is found (0.0.2)" do
|
13
|
+
@check.dependencies = [{:name=>"Arabic-Prawn", :version=>'0.0.2'}]
|
14
|
+
@check.vuln?.should be_false
|
15
|
+
end
|
16
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: codesake-dawn
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Paolo Perego
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-03-
|
11
|
+
date: 2014-03-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: codesake-commons
|
@@ -379,10 +379,12 @@ files:
|
|
379
379
|
- lib/codesake/dawn/kb/cve_2013_6421.rb
|
380
380
|
- lib/codesake/dawn/kb/cve_2013_6459.rb
|
381
381
|
- lib/codesake/dawn/kb/cve_2013_7086.rb
|
382
|
+
- lib/codesake/dawn/kb/cve_2014_0036.rb
|
382
383
|
- lib/codesake/dawn/kb/cve_2014_0081.rb
|
383
384
|
- lib/codesake/dawn/kb/cve_2014_0082.rb
|
384
385
|
- lib/codesake/dawn/kb/cve_2014_1233.rb
|
385
386
|
- lib/codesake/dawn/kb/cve_2014_1234.rb
|
387
|
+
- lib/codesake/dawn/kb/cve_2014_2322.rb
|
386
388
|
- lib/codesake/dawn/kb/dependency_check.rb
|
387
389
|
- lib/codesake/dawn/kb/nokogiri_dos_20131217.rb
|
388
390
|
- lib/codesake/dawn/kb/nokogiri_entityexpansion_dos_20131217.rb
|
@@ -436,10 +438,12 @@ files:
|
|
436
438
|
- spec/lib/kb/cve_2013_5647_spec.rb
|
437
439
|
- spec/lib/kb/cve_2013_6459_spec.rb
|
438
440
|
- spec/lib/kb/cve_2013_7086_spec.rb
|
441
|
+
- spec/lib/kb/cve_2014_0036_spec.rb
|
439
442
|
- spec/lib/kb/cve_2014_0081_spec.rb
|
440
443
|
- spec/lib/kb/cve_2014_0082_spec.rb
|
441
444
|
- spec/lib/kb/cve_2014_1233_spec.rb
|
442
445
|
- spec/lib/kb/cve_2014_1234_spec.rb
|
446
|
+
- spec/lib/kb/cve_2014_2322_spec.rb
|
443
447
|
- spec/lib/kb/owasp_ror_cheatsheet_disabled.rb
|
444
448
|
- spec/spec_helper.rb
|
445
449
|
homepage: http://dawn.codesake.com
|
@@ -499,9 +503,11 @@ test_files:
|
|
499
503
|
- spec/lib/kb/cve_2013_5647_spec.rb
|
500
504
|
- spec/lib/kb/cve_2013_6459_spec.rb
|
501
505
|
- spec/lib/kb/cve_2013_7086_spec.rb
|
506
|
+
- spec/lib/kb/cve_2014_0036_spec.rb
|
502
507
|
- spec/lib/kb/cve_2014_0081_spec.rb
|
503
508
|
- spec/lib/kb/cve_2014_0082_spec.rb
|
504
509
|
- spec/lib/kb/cve_2014_1233_spec.rb
|
505
510
|
- spec/lib/kb/cve_2014_1234_spec.rb
|
511
|
+
- spec/lib/kb/cve_2014_2322_spec.rb
|
506
512
|
- spec/lib/kb/owasp_ror_cheatsheet_disabled.rb
|
507
513
|
- spec/spec_helper.rb
|