codesake-dawn 1.1.0.rc2 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b45bb6703fbdd7c1adc81a3b6289b44c02804ddc
4
- data.tar.gz: 8ba2c9dab525a8c1c1c036283d1d94ea115a76eb
3
+ metadata.gz: a6587e023ec76144d8c6a48e1b8130cee3a99b9d
4
+ data.tar.gz: 149559e865d2425e786fe587054d49a41d8fb69c
5
5
  SHA512:
6
- metadata.gz: 815e5aeef96ebbbc166cddba61e3495ed87c4293f035518be5aa7e69e2e1e14e40ca338c8f5ed06a003bd16b99ad2fd9c17fe023c04facfa2275d286c82d93ab
7
- data.tar.gz: 8aad05efc5b55b5a21fb094a28138bd7d586de4e332fbb6556767787fd08e27478e8535f5257b10e8af13013beeb2ef8c78b93e22fb04a98ecfcce08a94cb6ef
6
+ metadata.gz: cadec13f2cdc11c1d3934b1da01a8eec2d2c4cac14cb4cd0b638601af3a46a7a493884993e4706adccbf41f50c5f7e92aa65271c0f0bc0ad83d710d8a0f9d171
7
+ data.tar.gz: 5f75eba4b560ed3cff6139ba2b42b0d0428933257d4664657510575bbd44af746ea1afa2e831026fbda7d6e31b66213ba3f0dfa003c5cab39f5371809d5f02c3
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -5,9 +5,9 @@ It supports [Sinatra](http://www.sinatrarb.com),
5
5
  [Padrino](http://www.padrinorb.com) and [Ruby on Rails](http://rubyonrails.org)
6
6
  frameworks.
7
7
 
8
- _latest update: Sun Mar 23 23:06:38 CET 2014_
8
+ _latest update: Mon Mar 31 09:05:57 CEST 2014_
9
9
 
10
- ## Version 1.1.0 - codename: Lightning McQueen (2014-xx-xx)
10
+ ## Version 1.1.0 - codename: Lightning McQueen (2014-04-04)
11
11
 
12
12
  * Added a check for CVE-2011-5036
13
13
  * Added a check for CVE-2012-6109
@@ -24,6 +24,7 @@ _latest update: Sun Mar 23 23:06:38 CET 2014_
24
24
  * Added a check for CVE-2013-4593
25
25
  * Added a check for CVE-2013-5671
26
26
  * Added a check for CVE-2014-0080
27
+ * Added a check for CVE-2014-2525
27
28
  * Added remaining compliance checks against Owasp Ruby on Rails cheatsheet.
28
29
  Some other checks in the cheatsheet can't be turned into a Codesake::Dawn
29
30
  test, so all the cheatsheet content is covered since now.
@@ -80,6 +81,8 @@ _latest update: Sun Mar 23 23:06:38 CET 2014_
80
81
 
81
82
  ## Version 1.0.6 - codename: Lightning McQueen (2014-03-23)
82
83
 
84
+ ## Version 1.0.6 - codename: Lightning McQueen (2014-03-23)
85
+
83
86
  * Added a check for CVE-2014-2538
84
87
 
85
88
  ## Version 1.0.5 - codename: Lightning McQueen (2014-03-18)
@@ -1,37 +1,8 @@
1
1
  # Codesake::Dawn Knowledge base
2
2
 
3
- The knowledge base library for Codesake::Dawn version 1.0.5 contains 155 security checks.
3
+ The knowledge base library for Codesake::Dawn version 1.1.0 contains 171 security checks.
4
4
  ---
5
- * Not revised code: Analyzing comments, it seems your code is waiting from some review from you. Please consider take action before putting it in production.
6
- This check will analyze the source code looking for the following patterns: XXX, TO_CHECK, CHECKME, CHECK and FIXME
7
- * Owasp Ror CheatSheet: Command Injection: Ruby offers a function called "eval" which will dynamically build new Ruby code based on Strings. It also has a number of ways to call system commands. While the power of these commands is quite useful, extreme care should be taken when using them in a Rails based application. Usually, its just a bad idea. If need be, a whitelist of possible values should be used and any input should be validated as thoroughly as possible. The Ruby Security Reviewer's Guide has a section on injection and there are a number of OWASP references for it, starting at the top: Command Injection.
8
- * Owasp Ror CheatSheet: Cross Site Request Forgery: Ruby on Rails has specific, built in support for CSRF tokens. To enable it, or ensure that it is enabled, find the base ApplicationController and look for the protect_from_forgery directive. Note that by default Rails does not provide CSRF protection for any HTTP GET request.
9
- * Owasp Ror CheatSheet: Session management: By default, Ruby on Rails uses a Cookie based session store. What that means is that unless you change something, the session will not expire on the server. That means that some default applications may be vulnerable to replay attacks. It also means that sensitive information should never be put in the session.
10
- * Owasp Ror CheatSheet: Mass Assignement in model: Although the major issue with Mass Assignment has been fixed by default in base Rails specifically when generating new projects, it still applies to older and upgraded projects so it is important to understand the issue and to ensure that only attributes that are intended to be modifiable are exposed.
11
- * Owasp Ror CheatSheet: Security Related Headers: To set a header value, simply access the response.headers object as a hash inside your controller (often in a before/after_filter). Rails 4 provides the "default_headers" functionality that will automatically apply the values supplied. This works for most headers in almost all cases.
12
- * Owasp Ror CheatSheet: Check for safe redirect and forward: Web applications often require the ability to dynamically redirect users based
13
- on client-supplied data. To clarify, dynamic redirection usually entails the
14
- client including a URL in a parameter within a request to the application. Once
15
- received by the application, the user is redirected to the URL specified in the
16
- request.
17
-
18
- For example: http://www.example.com/redirect?url=http://www.example_commerce_site.com/checkout
19
-
20
- The above request would redirect the user to http://www.example.com/checkout.
21
-
22
- The security concern associated with this functionality is leveraging an
23
- organization's trusted brand to phish users and trick them into visiting a
24
- malicious site, in our example, "badhacker.com".
25
-
26
- Example: http://www.example.com/redirect?url=http://badhacker.com
27
-
28
- The most basic, but restrictive protection is to use the :only_path option.
29
- Setting this to true will essentially strip out any host information.
30
- * Owasp Ror CheatSheet: Sensitive Files: Many Ruby on Rails apps are open source and hosted on publicly available source code repositories. Whether that is the case or the code is committed to a corporate source control system, there are certain files that should be either excluded or carefully managed.
31
5
  * Simple Form XSS - 20131129: There is a XSS vulnerability on Simple Form's label, hint and error options. When Simple Form creates a label, hint or error message it marks the text as being HTML safe, even though it may contain HTML tags. In applications where the text of these helpers can be provided by the users, malicious values can be provided and Simple Form will mark it as safe.
32
- * Nokogiri - Denial of service - 20131217: There is a vulnerability in Nokogiri when using JRuby where the parser can enter an infinite loop and exhaust the process memory. Nokogiri users on JRuby using the native Java extension. Attackers can send XML documents with carefully crafted documents which can cause the XML processor to enter an infinite loop, causing the server to run out of memory and crash.
33
- * Nokogiri - Entity expasion denial of service - 20131217: There is an entity expansion vulnerability in Nokogiri when using JRuby. Nokogiri users on JRuby using the native Java extension. Attackers can send
34
- XML documents with carefully crafted entity expansion strings which can cause the server to run out of memory and crash.
35
6
  * [CVE-2004-0755](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2004-0755): The FileStore capability in CGI::Session for Ruby before 1.8.1, and possibly PStore, creates files with insecure permissions, which can allow local users to steal session information and hijack sessions.
36
7
  * [CVE-2004-0983](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2004-0983): The CGI module in Ruby 1.6 before 1.6.8, and 1.8 before 1.8.2, allows remote attackers to cause a denial of service (infinite loop and CPU consumption) via a certain HTTP request.
37
8
  * [CVE-2005-1992](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2005-1992): The XMLRPC server in utils.rb for the ruby library (libruby) 1.8 sets an invalid default value that prevents "security protection" using handlers, which allows remote attackers to execute arbitrary commands.
@@ -91,6 +62,7 @@ XML documents with carefully crafted entity expansion strings which can cause th
91
62
  * [CVE-2011-3187](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3187): The to_s method in actionpack/lib/action_dispatch/middleware/remote_ip.rb in Ruby on Rails 3.0.5 does not validate the X-Forwarded-For header in requests from IP addresses on a Class C network, which might allow remote attackers to inject arbitrary text into log files or bypass intended address parsing via a crafted header.
92
63
  * [CVE-2011-4319](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-4319): Cross-site scripting (XSS) vulnerability in the i18n translations helper method in Ruby on Rails 3.0.x before 3.0.11 and 3.1.x before 3.1.2, and the rails_xss plugin in Ruby on Rails 2.3.x, allows remote attackers to inject arbitrary web script or HTML via vectors related to a translations string whose name ends with an "html" substring.
93
64
  * [CVE-2011-4815](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-4815): Ruby (aka CRuby) before 1.8.7-p357 computes hash values without restricting the ability to trigger hash collisions predictably, which allows context-dependent attackers to cause a denial of service (CPU consumption) via crafted input to an application that maintains a hash table.
65
+ * [CVE-2011-5036](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-5036): Rack before 1.1.3, 1.2.x before 1.2.5, and 1.3.x before 1.3.6 computes hash values for form parameters without restricting the ability to trigger hash collisions predictably, which allows remote attackers to cause a denial of service (CPU consumption) by sending many crafted parameters.
94
66
  * [CVE-2012-1098](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-1098): Cross-site scripting (XSS) vulnerability in Ruby on Rails 3.0.x before 3.0.12, 3.1.x before 3.1.4, and 3.2.x before 3.2.2 allows remote attackers to inject arbitrary web script or HTML via vectors involving a SafeBuffer object that is manipulated through certain methods.
95
67
  * [CVE-2012-1099](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-1099): Cross-site scripting (XSS) vulnerability in actionpack/lib/action_view/helpers/form_options_helper.rb in the select helper in Ruby on Rails 3.0.x before 3.0.12, 3.1.x before 3.1.4, and 3.2.x before 3.2.2 allows remote attackers to inject arbitrary web script or HTML via vectors involving certain generation of OPTION elements within SELECT elements.
96
68
  * [CVE-2012-1241](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-1241): GRScript18.dll before 1.2.2.0 in ActiveScriptRuby (ASR) before 1.8.7 does not properly restrict interaction with an Internet Explorer ActiveX environment, which allows remote attackers to execute arbitrary Ruby code via a crafted HTML document.
@@ -112,6 +84,7 @@ XML documents with carefully crafted entity expansion strings which can cause th
112
84
  * [CVE-2012-5370](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-5370): JRuby computes hash values without properly restricting the ability to trigger hash collisions predictably, which allows context-dependent attackers to cause a denial of service (CPU consumption) via crafted input to an application that maintains a hash table, as demonstrated by a universal multicollision attack against the MurmurHash2 algorithm, a different vulnerability than CVE-2011-4838.
113
85
  * [CVE-2012-5371](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-5371): Ruby (aka CRuby) 1.9 before 1.9.3-p327 and 2.0 before r37575 computes hash values without properly restricting the ability to trigger hash collisions predictably, which allows context-dependent attackers to cause a denial of service (CPU consumption) via crafted input to an application that maintains a hash table, as demonstrated by a universal multicollision attack against a variant of the MurmurHash2 algorithm, a different vulnerability than CVE-2011-4815.
114
86
  * [CVE-2012-5380](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-5380): ** DISPUTED ** Untrusted search path vulnerability in the installation functionality in Ruby 1.9.3-p194, when installed in the top-level C: directory, might allow local users to gain privileges via a Trojan horse DLL in the C:Ruby193in directory, which may be added to the PATH system environment variable by an administrator, as demonstrated by a Trojan horse wlbsctrl.dll file used by the "IKE and AuthIP IPsec Keying Modules" system service in Windows Vista SP1, Windows Server 2008 SP2, Windows 7 SP1, and Windows 8 Release Preview. NOTE: CVE disputes this issue because the unsafe PATH is established only by a separate administrative action that is not a default part of the Ruby installation.
87
+ * [CVE-2012-6109](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-6109): lib/rack/multipart.rb in Rack before 1.1.4, 1.2.x before 1.2.6, 1.3.x before 1.3.7, and 1.4.x before 1.4.2 uses an incorrect regular expression, which allows remote attackers to cause a denial of service (infinite loop) via a crafted Content-Disposion header.
115
88
  * [CVE-2012-6134](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-6134): Cross-site request forgery (CSRF) vulnerability in the omniauth-oauth2 gem 1.1.1 and earlier for Ruby allows remote attackers to hijack the authentication of users for requests that modify session state.
116
89
  * [CVE-2012-6496](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-6496): SQL injection vulnerability in the Active Record component in Ruby on Rails before 3.0.18, 3.1.x before 3.1.9, and 3.2.x before 3.2.10 allows remote attackers to execute arbitrary SQL commands via a crafted request that leverages incorrect behavior of dynamic finders in applications that can use unexpected data types in certain find_by_ method calls.
117
90
  * [CVE-2012-6497](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-6497): The Authlogic gem for Ruby on Rails, when used with certain versions before 3.2.10, makes potentially unsafe find_by_id method calls, which might allow remote attackers to conduct CVE-2012-6496 SQL injection attacks via a crafted parameter in environments that have a known secret_token value, as demonstrated by a value contained in secret_token.rb in an open-source product.
@@ -119,8 +92,11 @@ XML documents with carefully crafted entity expansion strings which can cause th
119
92
  * [CVE-2013-0156](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0156): active_support/core_ext/hash/conversions.rb in Ruby on Rails before 2.3.15, 3.0.x before 3.0.19, 3.1.x before 3.1.10, and 3.2.x before 3.2.11 does not properly restrict casts of string values, which allows remote attackers to conduct object-injection attacks and execute arbitrary code, or cause a denial of service (memory and CPU consumption) involving nested XML entity references, by leveraging Action Pack support for (1) YAML type conversion or (2) Symbol type conversion.
120
93
  * [CVE-2013-0162](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0162): The diff_pp function in lib/gauntlet_rubyparser.rb in the ruby_parser gem 3.1.1 and earlier for Ruby allows local users to overwrite arbitrary files via a symlink attack on a temporary file with a predictable name in /tmp.
121
94
  * [CVE-2013-0175](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0175): multi_xml gem 0.5.2 for Ruby, as used in Grape before 0.2.6 and possibly other products, does not properly restrict casts of string values, which allows remote attackers to conduct object-injection attacks and execute arbitrary code, or cause a denial of service (memory and CPU consumption) involving nested XML entity references, by leveraging support for (1) YAML type conversion or (2) Symbol type conversion, a similar vulnerability to CVE-2013-0156.
95
+ * [CVE-2013-0183](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0183): multipart/parser.rb in Rack 1.3.x before 1.3.8 and 1.4.x before 1.4.3 allows remote attackers to cause a denial of service (memory consumption and out-of-memory error) via a long string in a Multipart HTTP packet.
96
+ * [CVE-2013-0184](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0184): Unspecified vulnerability in Rack::Auth::AbstractRequest in Rack 1.1.x before 1.1.5, 1.2.x before 1.2.7, 1.3.x before 1.3.9, and 1.4.x before 1.4.4 allows remote attackers to cause a denial of service via unknown vectors related to "symbolized arbitrary strings."
122
97
  * [CVE-2013-0233](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0233): Devise gem 2.2.x before 2.2.3, 2.1.x before 2.1.3, 2.0.x before 2.0.5, and 1.5.x before 1.5.4 for Ruby, when using certain databases, does not properly perform type conversion when performing database queries, which might allow remote attackers to cause incorrect results to be returned and bypass security checks via unknown vectors, as demonstrated by resetting passwords of arbitrary accounts.
123
98
  * [CVE-2013-0256](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0256): darkfish.js in RDoc 2.3.0 through 3.12 and 4.x before 4.0.0.preview2.1, as used in Ruby, does not properly generate documents, which allows remote attackers to conduct cross-site scripting (XSS) attacks via a crafted URL.
99
+ * [CVE-2013-0262](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0262): rack/file.rb (Rack::File) in Rack 1.5.x before 1.5.2 and 1.4.x before 1.4.5 allows attackers to access arbitrary files outside the intended root directory via a crafted PATH_INFO environment variable, probably a directory traversal vulnerability that is remotely exploitable, aka "symlink path traversals."
124
100
  * [CVE-2013-0263](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0263): Rack::Session::Cookie in Rack 1.5.x before 1.5.2, 1.4.x before 1.4.5, 1.3.x before 1.3.10, 1.2.x before 1.2.8, and 1.1.x before 1.1.6 allows remote attackers to guess the session cookie, gain privileges, and execute arbitrary code via a timing attack involving an HMAC comparison function that does not run in constant time.
125
101
  * [CVE-2013-0269](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0269): The JSON gem before 1.5.5, 1.6.x before 1.6.8, and 1.7.x before 1.7.7 for Ruby allows remote attackers to cause a denial of service (resource consumption) or bypass the mass assignment protection mechanism via a crafted JSON document that triggers the creation of arbitrary Ruby symbols or certain internal objects, as demonstrated by conducting a SQL injection attack against Ruby on Rails, aka "Unsafe Object Creation Vulnerability."
126
102
  * [CVE-2013-0276](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0276): ActiveRecord in Ruby on Rails before 2.3.17, 3.1.x before 3.1.11, and 3.2.x before 3.2.12 allows remote attackers to bypass the attr_protected protection mechanism and modify protected model attributes via a crafted request.
@@ -128,6 +104,7 @@ XML documents with carefully crafted entity expansion strings which can cause th
128
104
  * [CVE-2013-0284](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0284): Ruby agent 3.2.0 through 3.5.2 serializes sensitive data when communicating with servers operated by New Relic, which allows remote attackers to obtain sensitive information (database credentials and SQL statements) by sniffing the network and deserializing the data.
129
105
  * [CVE-2013-0285](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0285): The nori gem 2.0.x before 2.0.2, 1.1.x before 1.1.4, and 1.0.x before 1.0.3 for Ruby does not properly restrict casts of string values, which allows remote attackers to conduct object-injection attacks and execute arbitrary code, or cause a denial of service (memory and CPU consumption) involving nested XML entity references, by leveraging Action Pack support for (1) YAML type conversion or (2) Symbol type conversion, a similar vulnerability to CVE-2013-0156.
130
106
  * [CVE-2013-0333](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0333): lib/active_support/json/backends/yaml.rb in Ruby on Rails 2.3.x before 2.3.16 and 3.0.x before 3.0.20 does not properly convert JSON data to YAML data for processing by a YAML parser, which allows remote attackers to execute arbitrary code, conduct SQL injection attacks, or bypass authentication via crafted data that triggers unsafe decoding, a different vulnerability than CVE-2013-0156.
107
+ * [CVE-2013-1607](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1607): PDFKit Gem for Ruby contains a flaw that is due to the program failing to properly validate input during the handling of parameters when generating PDF files. This may allow a remote attacker to potentially execute arbitrary code via the pdfkit generation options.
131
108
  * [CVE-2013-1655](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1655): Puppet 2.7.x before 2.7.21 and 3.1.x before 3.1.1, when
132
109
  running Ruby 1.9.3 or later, allows remote attackers to execute
133
110
  arbitrary code via vectors related to "serialized attributes."
@@ -151,33 +128,72 @@ XML documents with carefully crafted entity expansion strings which can cause th
151
128
  * [CVE-2013-2065](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-2065): Native functions exposed to Ruby with DL or Fiddle do not check the taint values set on the objects passed in. This can result in tainted objects being accepted as input when a SecurityError exception should be raised.
152
129
  * [CVE-2013-2090](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-2090): Ruby Gem Creme Fraiche version 0.6 suffers from a remote command injection vulnerability due to unsanitized input.
153
130
  * [CVE-2013-2119](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-2119): Phusion Passenger gem before 3.0.21 and 4.0.x before 4.0.5 for Ruby allows local users to cause a denial of service (prevent application start) or gain privileges by pre-creating a temporary "config" file in a directory with a predictable name in /tmp/ before it is used by the gem.
131
+ * [CVE-2013-2512](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-2512): ftpd Gem for Ruby contains a flaw that is triggered when handling a specially crafted option or filename that contains a shell character. This may allow a remote attacker to inject arbitrary commands
132
+ * [CVE-2013-2513](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-2513): flash_tool Gem for Ruby contains a flaw that is triggered during the handling of downloaded files that contain shell characters. With a specially crafted file, a context-dependent attacker can execute arbitrary commands.
133
+ * [CVE-2013-2516](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-2516): fileutils Gem for Ruby contains a flaw in file_utils.rb. The issue is triggered when handling a specially crafted URL containing a command after a delimiter (;). This may allow a remote attacker to potentially execute arbitrary commands.
154
134
  * [CVE-2013-2615](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-2615): lib/entry_controller.rb in the fastreader Gem 1.0.8 for Ruby allows remote attackers to execute arbitrary commands via shell metacharacters in a URL.
155
135
  * [CVE-2013-2616](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-2616): lib/mini_magick.rb in the MiniMagick Gem 1.3.1 for Ruby allows remote attackers to execute arbitrary commands via shell metacharacters in a URL.
156
136
  * [CVE-2013-2617](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-2617): lib/curl.rb in the Curl Gem for Ruby allows remote attackers to execute arbitrary commands via shell metacharacters in a URL.
157
137
  * [CVE-2013-3221](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-3221): The Active Record component in Ruby on Rails 2.3.x, 3.0.x, 3.1.x, and 3.2.x does not ensure that the declared data type of a database column is used during comparisons of input values to stored values in that column, which makes it easier for remote attackers to conduct data-type injection attacks against Ruby on Rails applications via a crafted value, as demonstrated by unintended interaction between the "typed XML" feature and a MySQL database.
158
138
  * [CVE-2013-4164](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4164): Any time a string is converted to a floating point value, a specially crafted string can cause a heap overflow. This can lead to a denial of service attack via segmentation faults and possibly arbitrary code execution. Any program that converts input of unknown origin to floating point values (especially common when accepting JSON) are vulnerable.
139
+ * [CVE-2013-4203](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4203): The self.run_gpg function in lib/rgpg/gpg_helper.rb in the rgpg gem before 0.2.3 for Ruby allows remote attackers to execute arbitrary commands via shell metacharacters in unspecified vectors.
159
140
  * [CVE-2013-4389](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4389): Multiple format string vulnerabilities in log_subscriber.rb files in the log subscriber component in Action Mailer in Ruby on Rails 3.x before 3.2.15 allow remote attackers to cause a denial of service via a crafted e-mail address that is improperly handled during construction of a log message.
141
+ * [CVE-2013-4413](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4413): Wicked Gem for Ruby contains a flaw that is due to the program failing to properly sanitize input passed via the 'the_step' parameter upon submission to the render_redirect.rb script. This may allow a remote attacker to gain access to arbitrary files.
160
142
  * [CVE-2013-4457](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4457): The Cocaine gem 0.4.0 through 0.5.2 for Ruby allows context-dependent attackers to execute arbitrary commands via a crafted has object, related to recursive variable interpolation.
161
143
  * [CVE-2013-4478](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4478): Sup before 0.13.2.1 and 0.14.x before 0.14.1.1 allows remote attackers to execute arbitrary commands via shell metacharacters in the filename of an email attachment.
162
144
  * [CVE-2013-4479](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4479): lib/sup/message_chunks.rb in Sup before 0.13.2.1 and 0.14.x before 0.14.1.1 allows remote attackers to execute arbitrary commands via shell metacharacters in the content_type of an email attachment.
145
+ * [CVE-2013-4489](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4489): There is a remote code execution vulnerability in the code search feature of GitLab provided by the grit gem.
163
146
  * [CVE-2013-4491](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4491): Cross-site scripting (XSS) vulnerability in actionpack/lib/action_view/helpers/translation_helper.rb in the internationalization component in Ruby on Rails 3.x before 3.2.16 and 4.x before 4.0.2 allows remote attackers to inject arbitrary web script or HTML via a crafted string that triggers generation of a fallback string by the i18n gem.
164
147
  * [CVE-2013-4492](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4492): Cross-site scripting (XSS) vulnerability in exceptions.rb in the i18n gem before 0.6.6 for Ruby allows remote attackers to inject arbitrary web script or HTML via a crafted I18n::MissingTranslationData.new call.
165
148
  * [CVE-2013-4562](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4562): Because of the way that omniauth-facebook supports setting a per-request state parameter by storing it in the session, it is possible to circumvent the automatic CSRF protection. Therefore the CSRF added in 1.4.1 should be considered broken. If you are currently providing a custom state, you will need to store and retrieve this yourself (for example, by using the session store) to use 1.5.0.
149
+ * [CVE-2013-4593](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4593): omniauth-facebook Gem for Ruby contains a flaw that is due to the application supporting passing the access token via the URL. This may allow a remote attacker to bypass authentication and authenticate as another user.
166
150
  * [CVE-2013-5647](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-5647): lib/sounder/sound.rb in the sounder gem 1.0.1 for Ruby allows remote attackers to execute arbitrary commands via shell metacharacters in a filename.
151
+ * [CVE-2013-5671](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-5671): fog-dragonfly Gem for Ruby contains a flaw that is due to the program failing to properly sanitize input passed via the imagemagickutils.rb script. This may allow a remote attacker to execute arbitrary commands.
167
152
  * [CVE-2013-6414](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6414): actionpack/lib/action_view/lookup_context.rb in Action View in Ruby on Rails 3.x before 3.2.16 and 4.x before 4.0.2 allows remote attackers to cause a denial of service (memory consumption) via a header containing an invalid MIME type that leads to excessive caching.
168
153
  * [CVE-2013-6415](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6415): Cross-site scripting (XSS) vulnerability in the number_to_currency helper in actionpack/lib/action_view/helpers/number_helper.rb in Ruby on Rails before 3.2.16 and 4.x before 4.0.2 allows remote attackers to inject arbitrary web script or HTML via the unit parameter.
169
154
  * [CVE-2013-6416](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6416): Cross-site scripting (XSS) vulnerability in the simple_format helper in actionpack/lib/action_view/helpers/text_helper.rb in Ruby on Rails 4.x before 4.0.2 allows remote attackers to inject arbitrary web script or HTML via a crafted HTML attribute.
170
155
  * [CVE-2013-6417](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6417): actionpack/lib/action_dispatch/http/request.rb in Ruby on Rails before 3.2.16 and 4.x before 4.0.2 does not properly consider differences in parameter handling between the Active Record component and the JSON implementation, which allows remote attackers to bypass intended database-query restrictions and perform NULL checks or trigger missing WHERE clauses via a crafted request that leverages (1) third-party Rack middleware or (2) custom Rack middleware. NOTE: this vulnerability exists because of an incomplete fix for CVE-2013-0155.
171
156
  * [CVE-2013-6421](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6421): The unpack_zip function in archive_unpacker.rb in the sprout gem 0.7.246 for Ruby allows context-dependent attackers to execute arbitrary commands via shell metacharacters in a (1) filename or (2) path.
172
157
  * [CVE-2013-6459](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6459): Cross-site scripting (XSS) vulnerability in the will_paginate gem before 3.0.5 for Ruby allows remote attackers to inject arbitrary web script or HTML via vectors involving generated pagination links.
158
+ * [CVE-2013-6460](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6460): There is a vulnerability in Nokogiri when using JRuby where the parser can enter an infinite loop and exhaust the process memory. Nokogiri users on JRuby using the native Java extension. Attackers can send XML documents with carefully crafted documents which can cause the XML processor to enter an infinite loop, causing the server to run out of memory and crash.
159
+ * [CVE-2013-6461](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6461): There is an entity expansion vulnerability in Nokogiri when using JRuby. Nokogiri users on JRuby using the native Java extension. Attackers can send
160
+ XML documents with carefully crafted entity expansion strings which can cause the server to run out of memory and crash.
173
161
  * [CVE-2013-7086](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-7086): The message function in lib/webbynode/notify.rb in the Webbynode gem 1.0.5.3 and earlier for Ruby allows context-dependent attackers to execute arbitrary commands via shell metacharacters in a growlnotify message.
174
162
  * [CVE-2014-0036](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0036): 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.
163
+ * [CVE-2014-0080](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0080): SQL injection vulnerability in activerecord/lib/active_record/connection_adapters/postgresql/cast.rb in Active Record in Ruby on Rails 4.0.x before 4.0.3, and 4.1.0.beta1, when PostgreSQL is used, allows remote attackers to execute "add data" SQL commands via vectors involving (backslash) characters that are not properly handled in operations on array columns.
175
164
  * [CVE-2014-0081](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0081): Multiple cross-site scripting (XSS) vulnerabilities in actionview/lib/action_view/helpers/number_helper.rb in Ruby on Rails before 3.2.17, 4.0.x before 4.0.3, and 4.1.x before 4.1.0.beta2 allow remote attackers to inject arbitrary web script or HTML via the (1) format, (2) negative_format, or (3) units parameter to the (a) number_to_currency, (b) number_to_percentage, or (c) number_to_human helper.
176
165
  * [CVE-2014-0082](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0082): actionpack/lib/action_view/template/text.rb in Action View in Ruby on Rails 3.x before 3.2.17 converts MIME type strings to symbols during use of the :text option to the render method, which allows remote attackers to cause a denial of service (memory consumption) by including these strings in headers.
177
166
  * [CVE-2014-1233](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-1233): The paratrooper-pingdom gem 1.0.0 for Ruby allows local users to obtain the App-Key, username, and password values by listing the curl process.
178
167
  * [CVE-2014-1234](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-1234): The paratrooper-newrelic gem 1.0.1 for Ruby allows local users to obtain the X-Api-Key value by listing the curl process.
179
168
  * [CVE-2014-2322](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-2322): 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.
169
+ * [CVE-2014-2525](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-2525):
180
170
  * [CVE-2014-2538](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-2538): rack-ssl Gem for Ruby contains a flaw that allows a reflected cross-site scripting (XSS) attack. This flaw exists because the program does not validate input passed via error messages before returning it to users. This may allow a context-dependent attacker to create a specially crafted request that would execute arbitrary script code in a user's browser session within the trust relationship between their browser and the server.
171
+ * Owasp Ror CheatSheet: Command Injection: Ruby offers a function called "eval" which will dynamically build new Ruby code based on Strings. It also has a number of ways to call system commands. While the power of these commands is quite useful, extreme care should be taken when using them in a Rails based application. Usually, its just a bad idea. If need be, a whitelist of possible values should be used and any input should be validated as thoroughly as possible. The Ruby Security Reviewer's Guide has a section on injection and there are a number of OWASP references for it, starting at the top: Command Injection.
172
+ * Owasp Ror CheatSheet: Cross Site Request Forgery: Ruby on Rails has specific, built in support for CSRF tokens. To enable it, or ensure that it is enabled, find the base ApplicationController and look for the protect_from_forgery directive. Note that by default Rails does not provide CSRF protection for any HTTP GET request.
173
+ * Owasp Ror CheatSheet: Session management: By default, Ruby on Rails uses a Cookie based session store. What that means is that unless you change something, the session will not expire on the server. That means that some default applications may be vulnerable to replay attacks. It also means that sensitive information should never be put in the session.
174
+ * Owasp Ror CheatSheet: Mass Assignement in model: Although the major issue with Mass Assignment has been fixed by default in base Rails specifically when generating new projects, it still applies to older and upgraded projects so it is important to understand the issue and to ensure that only attributes that are intended to be modifiable are exposed.
175
+ * Owasp Ror CheatSheet: Security Related Headers: To set a header value, simply access the response.headers object as a hash inside your controller (often in a before/after_filter). Rails 4 provides the "default_headers" functionality that will automatically apply the values supplied. This works for most headers in almost all cases.
176
+ * Owasp Ror CheatSheet: Check for safe redirect and forward: Web applications often require the ability to dynamically redirect users based
177
+ on client-supplied data. To clarify, dynamic redirection usually entails the
178
+ client including a URL in a parameter within a request to the application. Once
179
+ received by the application, the user is redirected to the URL specified in the
180
+ request.
181
+
182
+ For example: http://www.example.com/redirect?url=http://www.example_commerce_site.com/checkout
183
+
184
+ The above request would redirect the user to http://www.example.com/checkout.
185
+
186
+ The security concern associated with this functionality is leveraging an
187
+ organization's trusted brand to phish users and trick them into visiting a
188
+ malicious site, in our example, "badhacker.com".
189
+
190
+ Example: http://www.example.com/redirect?url=http://badhacker.com
191
+
192
+ The most basic, but restrictive protection is to use the :only_path option.
193
+ Setting this to true will essentially strip out any host information.
194
+ * Owasp Ror CheatSheet: Sensitive Files: Many Ruby on Rails apps are open source and hosted on publicly available source code repositories. Whether that is the case or the code is committed to a corporate source control system, there are certain files that should be either excluded or carefully managed.
195
+ * Not revised code: Analyzing comments, it seems your code is waiting from some review from you. Please consider take action before putting it in production.
196
+ This check will analyze the source code looking for the following patterns: XXX, TO_CHECK, CHECKME, CHECK and FIXME
181
197
 
182
198
 
183
- _Last updated: Sun 23 Mar 22:44:00 CET 2014_
199
+ _Last updated: Tue 01 Apr 08:13:46 CEST 2014_
data/README.md CHANGED
@@ -17,10 +17,11 @@ MVC (Model View Controller) frameworks, like:
17
17
  [![Build Status](https://travis-ci.org/codesake/codesake-dawn.png?branch=master)](https://travis-ci.org/codesake/codesake-dawn)
18
18
  [![Dependency Status](https://gemnasium.com/codesake/codesake-dawn.png)](https://gemnasium.com/codesake/codesake-dawn)
19
19
  [![Coverage Status](https://coveralls.io/repos/codesake/codesake-dawn/badge.png)](https://coveralls.io/r/codesake/codesake-dawn)
20
+ [![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/codesake/codesake-dawn/trend.png)](https://bitdeli.com/free "Bitdeli Badge")
20
21
 
21
22
  ---
22
23
 
23
- Codesake::Dawn version 1.1 has 169 security checks loaded in its knowledge
24
+ Codesake::Dawn version 1.1 has 171 security checks loaded in its knowledge
24
25
  base. Most of them are CVE bulletins applying to gems or the ruby interpreter
25
26
  itself. There are also some check coming from Owasp Ruby on Rails cheatsheet.
26
27
 
@@ -84,8 +85,9 @@ And then upgrade your bundle
84
85
 
85
86
  You may want to build it from source, so you have to check it out from github first:
86
87
 
87
- $ git clone https://github.com/codesake/codesake-dawn/codesake-dawn.git
88
+ $ git clone https://github.com/codesake/codesake-dawn.git
88
89
  $ cd codesake-dawn
90
+ $ bundle install
89
91
  $ rake install
90
92
 
91
93
  And the codesake-dawn gem will be built in a pkg directory and then installed
@@ -273,7 +275,7 @@ The list of knowledge base content: [http://dawn.codesake.com/knowledge-base](ht
273
275
 
274
276
  Mailing list: [https://groups.google.com/forum/#!forum/codesake-dawn](https://groups.google.com/forum/#!forum/codesake-dawn)
275
277
 
276
- ## Supporters
278
+ ## Support us
277
279
 
278
280
  Feedbacks are great and we really love to hear your voice.
279
281
 
@@ -346,3 +348,6 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
346
348
  OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
347
349
  WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
348
350
 
351
+
352
+
353
+
data/Rakefile CHANGED
@@ -36,7 +36,7 @@ task :cve, :name do |t,args|
36
36
  SRC_DIR = "./lib/codesake/dawn/kb/"
37
37
  SPEC_DIR = "./spec/lib/kb/"
38
38
 
39
- raise "### It seems that #{name} is already in Dawn knowledge base" unless Codesake::Dawn::KnowledgeBase.new.find(nil, name).nil?
39
+ raise "### It seems that #{name} is already in Dawn knowledge base" unless Codesake::Dawn::KnowledgeBase.find(nil, name).nil?
40
40
  raise "### Invalid CVE title: #{name}" if name.nil? or name.empty? or /CVE-\d{4}-\d{4}/.match(name).nil?
41
41
  raise "### No target directory: #{SRC_DIR}" unless Dir.exists?(SRC_DIR)
42
42
  raise "### No rspec directory: #{SPEC_DIR}" unless Dir.exists?(SPEC_DIR)
data/Roadmap.md CHANGED
@@ -3,94 +3,57 @@
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
8
  This is an ongoing roadmap for the Codesake::Dawn source code review tool.
9
9
 
10
- _latest update: Thu Jan 30 08:39:13 CET 2014_
11
-
12
- ## Version 1.1.0
13
-
14
- * CVE-2014-1234
15
- * CVE-2014-1233
16
- * CVE-2013-5671
17
- * CVE-2013-4593
18
- * CVE-2013-4489
19
- * CVE-2013-4413
20
- * CVE-2013-2516
21
- * CVE-2013-2513
22
- * CVE-2013-2512
23
- * CVE-2013-1607
24
- * CVE-2013-0262
25
- * CVE-2013-0184
26
- * CVE-2013-0183
27
- * CVE-2012-6109
28
- * CVE-2011-5036
29
- * CVE-2007-6183
30
- * adding test for RoRCheatSheet\_2
31
- * adding test for RoRCheatSheet\_3
32
- * adding test for RoRCheatSheet\_5
33
- * adding test for RoRCheatSheet\_6
34
- * adding test for RoRCheatSheet\_9
35
- * adding test for RoRCheatSheet\_10
36
- * adding test for RoRCheatSheet\_11
37
- * adding test for RoRCheatSheet\_12
38
- * adding test for RoRCheatSheet\_13
39
- * adding test for RoRCheatSheet\_14
40
- * adding test for RoRCheatSheet\_15
41
- * adding test for RoRCheatSheet\_16
42
- * add a check against deprecated ruby / gems version. I will handle MVC gems
43
- right now.
44
- * Better bin/dawn script output formatting using some library like PrettyPrint
45
- (this can involve a change in codesake-commons package). We will use tables
46
- to create ascii organized reports.
47
- * Create a digital signature as described [here](http://rubygems.rubyforge.org/rubygems-update/Gem/Security.html)
48
- * bin/dawn refactoring using the new Reporting class to produce json, csv, html output
49
- * add config file with setting (css directory, report options, ...)
10
+ _latest update: Mon Mar 31 13:01:21 CEST 2014_
50
11
 
51
12
  ## Version 1.2.0
52
13
 
53
- * move is\_vulnerable\_version? and is\_vulnerable\_patchlevel? to an adhoc
54
- class handling version comparison
55
- * add @rubysec vulnerability database integration using rake
56
14
  * create a task to check for new CVE in NVD website
15
+ * SQLite3 integration for saving data. Each project will have its own SQLite
16
+ database containing reviews, findings and all. A table with Codesake::Dawn version it
17
+ created the database will be inserted as well
57
18
  * add a language check. It will handle a ruby script as input and a
58
19
  ruby\_parser line as unsafe pattern. It will compile the ruby and look for
59
20
  the unsafe pattern
60
21
  * Add preliminary Cross Site Scripting detection for Ruby on Rails.
61
- * Issue #40: Support for string version modifiers
62
22
  * Issue #7: Improving HTML output and let the user the capability to provide a
63
23
  basic layout to customize report
64
- * Add a --github option to Codesake::Dawn to clone a remote repository, perform
65
- a bundle install and do a code review.
66
- * Add support for github hooks
67
24
  * Add a ruby deprecation check, accordingly to
68
25
  https://bugs.ruby-lang.org/projects/ruby/wiki/ReleaseEngineering
69
- * Add a severity attribute to basic check. It must be calculated automatically
70
- on the cvss_score or it may be overriden upon check creation.
71
26
 
72
27
  ## Version 1.3.0
73
28
 
74
- * Add support for ERB for in detect\_views
29
+ * Add support for ERB for in detect\_views
75
30
  * Add preliminary javascript support
76
- * adding test for CVE-2011-4969 XSS in jquery < 1.6.2
31
+ * adding test for CVE-2011-4969 XSS in jquery < 1.6.2
77
32
  * add support for pure Rack applications
78
33
  * Cross Site Scripting detection: it must be done for all MVC frameworks
79
34
  (including Rack) and it must cover either reflected than stored attack
80
35
  patterns
36
+ * Add a --github option to Codesake::Dawn to clone a remote repository, perform
37
+ a bundle install and do a code review.
38
+ * Add support for github hooks
81
39
  * Add premilinary SQL injection detection for Ruby on Rails
82
40
 
83
41
  ## Version 1.5.0
84
42
 
85
43
  * Add insecure direct object reference detection for all MVC frameworks (including Rack)
86
44
  * SQL Injection detection: it must be done for all MVC frameworks (including Rack)
87
- * Add automatic mitigation patch generation
88
- * SQLite3 integration for saving data. Each project will have its own SQLite
89
- database containing reviews, findings and all. A table with Codesake::Dawn version it
90
- created the database will be inserted as well
45
+ * Add automatic mitigation patch generation
91
46
  * Add support for Javascript
92
47
 
93
- ## Version 2.0.0
48
+ # Spinoff projects
49
+
50
+ Codesake::Dawn is a security scanner for ruby code. Modern web applications
51
+ however are wrote in a plenty of great technologies deserving a good tool for
52
+ security scan.
53
+
54
+ Node.js and Go are very promising programming languages and a tool similiar to
55
+ Codesake::Dawn can be wrote also to support them:
94
56
 
95
- * Add support for node.js
96
- * Add support for Go
57
+ Initially they were in the Codesake::Dawn roadmap for a 2.0.0 version. However
58
+ we decide to drop this in the name of being focused on ruby programming
59
+ language.
@@ -0,0 +1 @@
1
+ 57977e5c9f5349f28858053a5a6663b21a003fae1ad9bd099f70cdbc4595a299b5e0de7d01a6d4954e8393815a288d5d861e3e165f037da6c605918ae2a28ccd
@@ -0,0 +1,67 @@
1
+ ## Press announcement
2
+
3
+ The April 4th 2013, the first Codesake::Dawn import in Github happened. After
4
+ 1 year and three months later than the first major released, I'm happy to
5
+ annonunce Codesake::Dawn 1.1.0, codename Lightning McQueen
6
+
7
+ Codesake::Dawn is a source code scanner designed to review your code for
8
+ security issues.
9
+
10
+ Codesake::Dawn is able to scan your ruby standalone programs but its main usage
11
+ is to deal with web applications. It supports applications written using majors
12
+ MVC (Model View Controller) frameworks, like:
13
+
14
+ * [Ruby on Rails](http://rubyonrails.org)
15
+ * [Sinatra](http://www.sinatrarb.com)
16
+ * [Padrino](http://www.padrinorb.com)
17
+
18
+ Codesake::Dawn version 1.1 has 171 security checks loaded in its knowledge
19
+ base. Most of them are CVE bulletins applying to gems or the ruby interpreter
20
+ itself. There are also some check coming from Owasp Ruby on Rails cheatsheet.
21
+
22
+ Writing safe code it's important, but sometimes security issues are introduced
23
+ by third party code your application relies on. As example, consider a SQL
24
+ Injection vulnerability introduced by Ruby on Rails framework.
25
+
26
+ Despite the effort you spend in sanitizing inputs, your web application
27
+ inherits the vulnerability suffering as well. An attacker can easily exploit it
28
+ and break into your database unless you upgrade the offended gem.
29
+
30
+ There is a comprehensive set of command line flags you can read more by issuing
31
+ ```dawn --list-knowledge-base``` flag or by reading [project
32
+ README](https://github.com/codesake/codesake-dawn/raw/master/README.md) file.
33
+
34
+ The list of security checks included in version 1.1.0 can be found online at:
35
+ [http://dawn.codesake.com/knowledge-base](http://dawn.codesake.com/knowledge-base).
36
+
37
+ You can use [facilities provided by
38
+ github](https://github.com/codesake/codesake-dawn/issues) to submit bug
39
+ reports, product enhancements, new security checks you want to me to add in
40
+ future releases and even success stories.
41
+
42
+ Now it's time for you to install Codesake::Dawn version 1.1.0 with the
43
+ following command and start reviewing your code for security issues:
44
+
45
+ ```
46
+ $ gem install codesake-dawn
47
+ ```
48
+
49
+ You can find the announcement on the web here: [http://dawn.codesake.com/blog/announce-codesake-dawn-v1-1-0-released/](http://dawn.codesake.com/blog/announce-codesake-dawn-v1-1-0-released/)
50
+ Enjoy it!
51
+ Paolo - paolo@codesake.com
52
+
53
+ ## Twitter announcement
54
+
55
+ ### version 1.1.0
56
+ @dawnscanner version 1.1.0 is out. 171 security checks. Improved output and more. Read the announcement: http://dawn.codesake.com/blog/announce-codesake-dawn-v1-1-0-released/ #ruby #rails #sinatra #padrina #security #scanner
57
+
58
+ ## Linkedin announcement
59
+
60
+ ### version 1.0.0
61
+ @dawnscanner version 1.1.0 is out. Read the announcement online. Codesake::Dawn makes security code review fun for ruby developers, it scans 171 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 frameworks out of the box.
62
+
63
+ $ gem install codesake-dawn
64
+ $ have fun
65
+
66
+ ## HN Link
67
+ ## Reddit
@@ -0,0 +1,61 @@
1
+ module Codesake
2
+ module Dawn
3
+ module Kb
4
+ class CVE_2014_2525_a
5
+ include BasicCheck
6
+
7
+ def initialize
8
+ message = "When relying on system wide libyaml, this must be > 0.1.5"
9
+ super({
10
+ :name=>"CVE-2014-2525-a",
11
+ :kind=>Codesake::Dawn::KnowledgeBase::CUSTOM_CHECK,
12
+ })
13
+ end
14
+ def vuln?
15
+ require 'yaml'
16
+ lyv = Psych.libyaml_version.join(".")
17
+ c = Codesake::Dawn::Kb::VersionCheck.new
18
+ return c.is_vulnerable_version?('0.1.6', lyv)
19
+ end
20
+ end
21
+ class CVE_2014_2525_b
22
+ include DependencyCheck
23
+
24
+ def initialize
25
+ message = "When non relying on system wide libyaml, psych gem must be > 2.0.5"
26
+ super({
27
+ :name=>"CVE-2014-2525-b",
28
+ :kind=>Codesake::Dawn::KnowledgeBase::DEPENDENCY_CHECK,
29
+ })
30
+ self.safe_dependencies = [{:name=>"psych", :version=>['2.0.5']}]
31
+ end
32
+
33
+ end
34
+
35
+ # Automatically created with rake on 2014-03-31
36
+ class CVE_2014_2525
37
+ include ComboCheck
38
+
39
+ def initialize
40
+ message = ""
41
+
42
+ super({
43
+ :name=>"CVE-2014-2525",
44
+ :cvss=>"",
45
+ :release_date => Date.new(2014, 3, 28),
46
+ :cwe=>"",
47
+ :owasp=>"A9",
48
+ :applies=>["rails", "sinatra", "padrino"],
49
+ :kind=>Codesake::Dawn::KnowledgeBase::COMBO_CHECK,
50
+ :message=>message,
51
+ :mitigation=>"Please upgrade your system libyaml or upgrade psych gem to version 2.0.5 or higher that is linked with a safe libyaml version.",
52
+ :aux_links=>["https://www.ruby-lang.org/en/news/2014/03/29/heap-overflow-in-yaml-uri-escape-parsing-cve-2014-2525"],
53
+ :severity=>:high,
54
+ :prority=>:high,
55
+ :checks=>[CVE_2014_2525_a.new, CVE_2014_2525_b.new]
56
+ })
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -9,18 +9,18 @@ module Codesake
9
9
  message = "rack-ssl Gem for Ruby contains a flaw that allows a reflected cross-site scripting (XSS) attack. This flaw exists because the program does not validate input passed via error messages before returning it to users. This may allow a context-dependent attacker to create a specially crafted request that would execute arbitrary script code in a user's browser session within the trust relationship between their browser and the server."
10
10
  super({
11
11
  :name=>"CVE-2014-2538",
12
- :cvss=>"",
13
- :release_date => Date.new(2013, 7, 9),
12
+ :cvss=>"AV:N/AC:M/Au:N/C:N/I:P/A:N",
13
+ :release_date => Date.new(2014, 3, 25),
14
14
  :cwe=>"79",
15
15
  :owasp=>"A3",
16
16
  :applies=>["rails"],
17
17
  :kind=>Codesake::Dawn::KnowledgeBase::DEPENDENCY_CHECK,
18
18
  :message=>message,
19
- :mitigation=>"A new version for rack-ssl version it has been released. Pleas upgrade at least to version 1.4.1 or higher.",
19
+ :mitigation=>"A new version for rack-ssl version it has been released. Pleas upgrade at least to version 1.4.0 or higher.",
20
20
  :aux_links=>["http://seclists.org/oss-sec/2014/q1/594"]
21
21
  })
22
22
 
23
- self.safe_dependencies = [{:name=>"rack-ssl", :version=>['1.4.1']}]
23
+ self.safe_dependencies = [{:name=>"rack-ssl", :version=>['1.4.0']}]
24
24
  end
25
25
  end
26
26
  end
@@ -25,7 +25,7 @@ module Codesake
25
25
  :mitigation=>"Use ActiveRecord or the ORM you love most to handle your code session_store. Add \"Application.config.session_store :active_record_store\" to your session_store.rb file."
26
26
  })
27
27
  # @debug = true
28
- end
28
+ end
29
29
  end
30
30
  end
31
31
  end
@@ -1,4 +1,4 @@
1
- # Core KB
1
+ # Core KB
2
2
  require "codesake/dawn/kb/basic_check"
3
3
  require "codesake/dawn/kb/pattern_match_check"
4
4
  require "codesake/dawn/kb/dependency_check"
@@ -27,7 +27,7 @@ require 'codesake/dawn/kb/owasp_ror_cheatsheet/sensitive_files'
27
27
 
28
28
  # A XSS issue on Simple Form gem reported by Rafael Mendonça França on
29
29
  # November, 29 2013
30
- #
30
+ #
31
31
  # https://groups.google.com/forum/#!topic/ruby-security-ann/flHbLMb07tE
32
32
  require "codesake/dawn/kb/simpleform_xss_20131129"
33
33
 
@@ -58,7 +58,7 @@ require "codesake/dawn/kb/cve_2007_5770"
58
58
  require "codesake/dawn/kb/cve_2007_6077"
59
59
  require "codesake/dawn/kb/cve_2007_6612"
60
60
 
61
- # CVE - 2008
61
+ # CVE - 2008
62
62
 
63
63
  require "codesake/dawn/kb/cve_2008_1145"
64
64
  require "codesake/dawn/kb/cve_2008_1891"
@@ -214,6 +214,7 @@ require "codesake/dawn/kb/cve_2014_0082"
214
214
  require "codesake/dawn/kb/cve_2014_1233"
215
215
  require "codesake/dawn/kb/cve_2014_1234"
216
216
  require "codesake/dawn/kb/cve_2014_2322"
217
+ require "codesake/dawn/kb/cve_2014_2525"
217
218
  require "codesake/dawn/kb/cve_2014_2538"
218
219
 
219
220
  module Codesake
@@ -228,6 +229,7 @@ module Codesake
228
229
  RUBY_VERSION_CHECK = :ruby_version_check
229
230
  OS_CHECK = :os_check
230
231
  COMBO_CHECK = :combo_check
232
+ CUSTOM_CHECK = :custom_check
231
233
 
232
234
  def initialize(options={})
233
235
  @enabled_checks = Codesake::Dawn::Kb::BasicCheck::ALLOWED_FAMILIES
@@ -260,7 +262,7 @@ module Codesake
260
262
  # MVC name should be passed as constructor option, so the all_by_mvc can
261
263
  #
262
264
  # be called without parameter, having a nice-to-read code.
263
- # @checks = Codesake::Dawn::KnowledgeBase.new({:enabled_checks=>@enabled_checks}).all_by_mvc(@name)
265
+ # @checks = Codesake::Dawn::KnowledgeBase.new({:enabled_checks=>@enabled_checks}).all_by_mvc(@name)
264
266
  def all_by_mvc(mvc)
265
267
  ret = []
266
268
  @security_checks.each do |sc|
@@ -332,48 +334,48 @@ module Codesake
332
334
  Codesake::Dawn::Kb::CVE_2010_3933.new,
333
335
  Codesake::Dawn::Kb::CVE_2011_0188.new,
334
336
  Codesake::Dawn::Kb::CVE_2011_0446.new,
335
- Codesake::Dawn::Kb::CVE_2011_0447.new,
336
- Codesake::Dawn::Kb::CVE_2011_0739.new,
337
- Codesake::Dawn::Kb::CVE_2011_0995.new,
338
- Codesake::Dawn::Kb::CVE_2011_1004.new,
339
- Codesake::Dawn::Kb::CVE_2011_1005.new,
340
- Codesake::Dawn::Kb::CVE_2011_2197.new,
341
- Codesake::Dawn::Kb::CVE_2011_2686.new,
342
- Codesake::Dawn::Kb::CVE_2011_2705.new,
343
- Codesake::Dawn::Kb::CVE_2011_2929.new,
344
- Codesake::Dawn::Kb::CVE_2011_2930.new,
345
- Codesake::Dawn::Kb::CVE_2011_2931.new,
346
- Codesake::Dawn::Kb::CVE_2011_2932.new,
347
- Codesake::Dawn::Kb::CVE_2011_3009.new,
348
- Codesake::Dawn::Kb::CVE_2011_3186.new,
349
- Codesake::Dawn::Kb::CVE_2011_3187.new,
350
- Codesake::Dawn::Kb::CVE_2011_4319.new,
351
- Codesake::Dawn::Kb::CVE_2011_4815.new,
352
- Codesake::Dawn::Kb::CVE_2011_5036.new,
353
- Codesake::Dawn::Kb::CVE_2012_1098.new,
354
- Codesake::Dawn::Kb::CVE_2012_1099.new,
355
- Codesake::Dawn::Kb::CVE_2012_1241.new,
356
- Codesake::Dawn::Kb::CVE_2012_2139.new,
357
- Codesake::Dawn::Kb::CVE_2012_2140.new,
358
- Codesake::Dawn::Kb::CVE_2012_2660.new,
359
- Codesake::Dawn::Kb::CVE_2012_2661.new,
360
- Codesake::Dawn::Kb::CVE_2012_2671.new,
361
- Codesake::Dawn::Kb::CVE_2012_2694.new,
362
- Codesake::Dawn::Kb::CVE_2012_2695.new,
363
- Codesake::Dawn::Kb::CVE_2012_3424.new,
364
- Codesake::Dawn::Kb::CVE_2012_3463.new,
365
- Codesake::Dawn::Kb::CVE_2012_3464.new,
366
- Codesake::Dawn::Kb::CVE_2012_3465.new,
367
- Codesake::Dawn::Kb::CVE_2012_4464.new,
368
- Codesake::Dawn::Kb::CVE_2012_4466.new,
369
- Codesake::Dawn::Kb::CVE_2012_4481.new,
370
- Codesake::Dawn::Kb::CVE_2012_4522.new,
371
- Codesake::Dawn::Kb::CVE_2012_5370.new,
372
- Codesake::Dawn::Kb::CVE_2012_5371.new,
373
- Codesake::Dawn::Kb::CVE_2012_5380.new,
374
- Codesake::Dawn::Kb::CVE_2012_6109.new,
375
- Codesake::Dawn::Kb::CVE_2012_6134.new,
376
- Codesake::Dawn::Kb::CVE_2012_6496.new,
337
+ Codesake::Dawn::Kb::CVE_2011_0447.new,
338
+ Codesake::Dawn::Kb::CVE_2011_0739.new,
339
+ Codesake::Dawn::Kb::CVE_2011_0995.new,
340
+ Codesake::Dawn::Kb::CVE_2011_1004.new,
341
+ Codesake::Dawn::Kb::CVE_2011_1005.new,
342
+ Codesake::Dawn::Kb::CVE_2011_2197.new,
343
+ Codesake::Dawn::Kb::CVE_2011_2686.new,
344
+ Codesake::Dawn::Kb::CVE_2011_2705.new,
345
+ Codesake::Dawn::Kb::CVE_2011_2929.new,
346
+ Codesake::Dawn::Kb::CVE_2011_2930.new,
347
+ Codesake::Dawn::Kb::CVE_2011_2931.new,
348
+ Codesake::Dawn::Kb::CVE_2011_2932.new,
349
+ Codesake::Dawn::Kb::CVE_2011_3009.new,
350
+ Codesake::Dawn::Kb::CVE_2011_3186.new,
351
+ Codesake::Dawn::Kb::CVE_2011_3187.new,
352
+ Codesake::Dawn::Kb::CVE_2011_4319.new,
353
+ Codesake::Dawn::Kb::CVE_2011_4815.new,
354
+ Codesake::Dawn::Kb::CVE_2011_5036.new,
355
+ Codesake::Dawn::Kb::CVE_2012_1098.new,
356
+ Codesake::Dawn::Kb::CVE_2012_1099.new,
357
+ Codesake::Dawn::Kb::CVE_2012_1241.new,
358
+ Codesake::Dawn::Kb::CVE_2012_2139.new,
359
+ Codesake::Dawn::Kb::CVE_2012_2140.new,
360
+ Codesake::Dawn::Kb::CVE_2012_2660.new,
361
+ Codesake::Dawn::Kb::CVE_2012_2661.new,
362
+ Codesake::Dawn::Kb::CVE_2012_2671.new,
363
+ Codesake::Dawn::Kb::CVE_2012_2694.new,
364
+ Codesake::Dawn::Kb::CVE_2012_2695.new,
365
+ Codesake::Dawn::Kb::CVE_2012_3424.new,
366
+ Codesake::Dawn::Kb::CVE_2012_3463.new,
367
+ Codesake::Dawn::Kb::CVE_2012_3464.new,
368
+ Codesake::Dawn::Kb::CVE_2012_3465.new,
369
+ Codesake::Dawn::Kb::CVE_2012_4464.new,
370
+ Codesake::Dawn::Kb::CVE_2012_4466.new,
371
+ Codesake::Dawn::Kb::CVE_2012_4481.new,
372
+ Codesake::Dawn::Kb::CVE_2012_4522.new,
373
+ Codesake::Dawn::Kb::CVE_2012_5370.new,
374
+ Codesake::Dawn::Kb::CVE_2012_5371.new,
375
+ Codesake::Dawn::Kb::CVE_2012_5380.new,
376
+ Codesake::Dawn::Kb::CVE_2012_6109.new,
377
+ Codesake::Dawn::Kb::CVE_2012_6134.new,
378
+ Codesake::Dawn::Kb::CVE_2012_6496.new,
377
379
  Codesake::Dawn::Kb::CVE_2012_6497.new,
378
380
  Codesake::Dawn::Kb::CVE_2013_0155.new,
379
381
  Codesake::Dawn::Kb::CVE_2013_0156.new,
@@ -400,29 +402,29 @@ module Codesake
400
402
  Codesake::Dawn::Kb::CVE_2013_1802.new,
401
403
  Codesake::Dawn::Kb::CVE_2013_1812.new,
402
404
  Codesake::Dawn::Kb::CVE_2013_1821.new,
403
- Codesake::Dawn::Kb::CVE_2013_1854.new,
404
- Codesake::Dawn::Kb::CVE_2013_1855.new,
405
- Codesake::Dawn::Kb::CVE_2013_1856.new,
406
- Codesake::Dawn::Kb::CVE_2013_1857.new,
407
- Codesake::Dawn::Kb::CVE_2013_1875.new,
408
- Codesake::Dawn::Kb::CVE_2013_1898.new,
409
- Codesake::Dawn::Kb::CVE_2013_1911.new,
410
- Codesake::Dawn::Kb::CVE_2013_1933.new,
411
- Codesake::Dawn::Kb::CVE_2013_1947.new,
412
- Codesake::Dawn::Kb::CVE_2013_1948.new,
413
- Codesake::Dawn::Kb::CVE_2013_2065.new,
414
- Codesake::Dawn::Kb::CVE_2013_2090.new,
415
- Codesake::Dawn::Kb::CVE_2013_2119.new,
416
- Codesake::Dawn::Kb::CVE_2013_2512.new,
417
- Codesake::Dawn::Kb::CVE_2013_2513.new,
418
- Codesake::Dawn::Kb::CVE_2013_2516.new,
419
- Codesake::Dawn::Kb::CVE_2013_2615.new,
420
- Codesake::Dawn::Kb::CVE_2013_2616.new,
421
- Codesake::Dawn::Kb::CVE_2013_2617.new,
422
- Codesake::Dawn::Kb::CVE_2013_3221.new,
423
- Codesake::Dawn::Kb::CVE_2013_4164.new,
424
- Codesake::Dawn::Kb::CVE_2013_4203.new,
425
- Codesake::Dawn::Kb::CVE_2013_4389.new,
405
+ Codesake::Dawn::Kb::CVE_2013_1854.new,
406
+ Codesake::Dawn::Kb::CVE_2013_1855.new,
407
+ Codesake::Dawn::Kb::CVE_2013_1856.new,
408
+ Codesake::Dawn::Kb::CVE_2013_1857.new,
409
+ Codesake::Dawn::Kb::CVE_2013_1875.new,
410
+ Codesake::Dawn::Kb::CVE_2013_1898.new,
411
+ Codesake::Dawn::Kb::CVE_2013_1911.new,
412
+ Codesake::Dawn::Kb::CVE_2013_1933.new,
413
+ Codesake::Dawn::Kb::CVE_2013_1947.new,
414
+ Codesake::Dawn::Kb::CVE_2013_1948.new,
415
+ Codesake::Dawn::Kb::CVE_2013_2065.new,
416
+ Codesake::Dawn::Kb::CVE_2013_2090.new,
417
+ Codesake::Dawn::Kb::CVE_2013_2119.new,
418
+ Codesake::Dawn::Kb::CVE_2013_2512.new,
419
+ Codesake::Dawn::Kb::CVE_2013_2513.new,
420
+ Codesake::Dawn::Kb::CVE_2013_2516.new,
421
+ Codesake::Dawn::Kb::CVE_2013_2615.new,
422
+ Codesake::Dawn::Kb::CVE_2013_2616.new,
423
+ Codesake::Dawn::Kb::CVE_2013_2617.new,
424
+ Codesake::Dawn::Kb::CVE_2013_3221.new,
425
+ Codesake::Dawn::Kb::CVE_2013_4164.new,
426
+ Codesake::Dawn::Kb::CVE_2013_4203.new,
427
+ Codesake::Dawn::Kb::CVE_2013_4389.new,
426
428
  Codesake::Dawn::Kb::CVE_2013_4413.new,
427
429
  Codesake::Dawn::Kb::CVE_2013_4457.new,
428
430
  Codesake::Dawn::Kb::CVE_2013_4478.new,
@@ -430,26 +432,27 @@ module Codesake
430
432
  Codesake::Dawn::Kb::CVE_2013_4489.new,
431
433
  Codesake::Dawn::Kb::CVE_2013_4491.new,
432
434
  Codesake::Dawn::Kb::CVE_2013_4492.new,
433
- Codesake::Dawn::Kb::CVE_2013_4562.new,
434
- Codesake::Dawn::Kb::CVE_2013_4593.new,
435
- Codesake::Dawn::Kb::CVE_2013_5647.new,
436
- Codesake::Dawn::Kb::CVE_2013_5671.new,
437
- Codesake::Dawn::Kb::CVE_2013_6414.new,
438
- Codesake::Dawn::Kb::CVE_2013_6415.new,
439
- Codesake::Dawn::Kb::CVE_2013_6416.new,
440
- Codesake::Dawn::Kb::CVE_2013_6417.new,
441
- Codesake::Dawn::Kb::CVE_2013_6421.new,
442
- Codesake::Dawn::Kb::CVE_2013_6459.new,
435
+ Codesake::Dawn::Kb::CVE_2013_4562.new,
436
+ Codesake::Dawn::Kb::CVE_2013_4593.new,
437
+ Codesake::Dawn::Kb::CVE_2013_5647.new,
438
+ Codesake::Dawn::Kb::CVE_2013_5671.new,
439
+ Codesake::Dawn::Kb::CVE_2013_6414.new,
440
+ Codesake::Dawn::Kb::CVE_2013_6415.new,
441
+ Codesake::Dawn::Kb::CVE_2013_6416.new,
442
+ Codesake::Dawn::Kb::CVE_2013_6417.new,
443
+ Codesake::Dawn::Kb::CVE_2013_6421.new,
444
+ Codesake::Dawn::Kb::CVE_2013_6459.new,
443
445
  Codesake::Dawn::Kb::CVE_2013_6460.new,
444
446
  Codesake::Dawn::Kb::CVE_2013_6461.new,
445
- Codesake::Dawn::Kb::CVE_2013_7086.new,
446
- Codesake::Dawn::Kb::CVE_2014_0036.new,
447
- Codesake::Dawn::Kb::CVE_2014_0080.new,
448
- Codesake::Dawn::Kb::CVE_2014_0081.new,
449
- Codesake::Dawn::Kb::CVE_2014_0082.new,
447
+ Codesake::Dawn::Kb::CVE_2013_7086.new,
448
+ Codesake::Dawn::Kb::CVE_2014_0036.new,
449
+ Codesake::Dawn::Kb::CVE_2014_0080.new,
450
+ Codesake::Dawn::Kb::CVE_2014_0081.new,
451
+ Codesake::Dawn::Kb::CVE_2014_0082.new,
450
452
  Codesake::Dawn::Kb::CVE_2014_1233.new,
451
453
  Codesake::Dawn::Kb::CVE_2014_1234.new,
452
454
  Codesake::Dawn::Kb::CVE_2014_2322.new,
455
+ Codesake::Dawn::Kb::CVE_2014_2525.new,
453
456
  Codesake::Dawn::Kb::CVE_2014_2538.new,
454
457
  ]
455
458
  # END @cve_security_checks array
@@ -458,8 +461,8 @@ module Codesake
458
461
  Codesake::Dawn::Kb::OwaspRorCheatSheet::CommandInjection.new,
459
462
  Codesake::Dawn::Kb::OwaspRorCheatSheet::Csrf.new,
460
463
  Codesake::Dawn::Kb::OwaspRorCheatSheet::SessionStoredInDatabase.new,
461
- Codesake::Dawn::Kb::OwaspRorCheatSheet::MassAssignmentInModel.new,
462
- Codesake::Dawn::Kb::OwaspRorCheatSheet::SecurityRelatedHeaders.new,
464
+ Codesake::Dawn::Kb::OwaspRorCheatSheet::MassAssignmentInModel.new,
465
+ Codesake::Dawn::Kb::OwaspRorCheatSheet::SecurityRelatedHeaders.new,
463
466
  Codesake::Dawn::Kb::OwaspRorCheatSheet::CheckForSafeRedirectAndForward.new,
464
467
  Codesake::Dawn::Kb::OwaspRorCheatSheet::SensitiveFiles.new,
465
468
  ]
@@ -19,10 +19,10 @@ module Codesake
19
19
  # | "Luigi" | 7.0.0 |
20
20
  # | "Doc Hudson" | 8.0.0 |
21
21
 
22
- VERSION = "1.1.0.rc2"
22
+ VERSION = "1.1.0"
23
23
  CODENAME = "Lightning McQueen"
24
24
  #RELEASE = "(development)"
25
- RELEASE = "20140328"
25
+ RELEASE = "20140404"
26
26
 
27
27
  end
28
28
  end
@@ -882,4 +882,9 @@ end
882
882
  sc.should_not be_nil
883
883
  sc.class.should == Codesake::Dawn::Kb::CVE_2013_4203
884
884
  end
885
+ it "must have test for CVE-2014-2525" do
886
+ sc = kb.find("CVE-2014-2525")
887
+ sc.should_not be_nil
888
+ sc.class.should == Codesake::Dawn::Kb::CVE_2014_2525
889
+ end
885
890
  end
@@ -4,13 +4,12 @@ describe "The CVE-2014-2538 vulnerability" do
4
4
  @check = Codesake::Dawn::Kb::CVE_2014_2538.new
5
5
  # @check.debug = true
6
6
  end
7
- it "is reported when rack-ssl vulnerable version it has been found (1.4.0)" do
8
- @check.dependencies = [{:name=>'rack-ssl', :version=>'1.4.0'}]
7
+ it "is reported when rack-ssl vulnerable version it has been found (1.3.9)" do
8
+ @check.dependencies = [{:name=>'rack-ssl', :version=>'1.3.9'}]
9
9
  @check.vuln?.should be_true
10
10
  end
11
- it "is reported when rack-ssl not vulnerable version it has been found (1.5.0)" do
12
- @check.dependencies = [{:name=>'rack-ssl', :version=>'1.5.0'}]
11
+ it "is reported when rack-ssl not vulnerable version it has been found (1.4.0)" do
12
+ @check.dependencies = [{:name=>'rack-ssl', :version=>'1.4.0'}]
13
13
  @check.vuln?.should be_false
14
14
  end
15
- it "must be filled with CVSS information"
16
15
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: codesake-dawn
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0.rc2
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paolo Perego
@@ -30,7 +30,7 @@ cert_chain:
30
30
  Fh7BfxFDBZdj1mI2V+I+IYYMPKIouvwX3r7NTZgZ4TYuKVpOk9VSCxzhrPhnl4kb
31
31
  1LyVQIFlhF6nL0casp0ixer8N60=
32
32
  -----END CERTIFICATE-----
33
- date: 2014-03-28 00:00:00.000000000 Z
33
+ date: 2014-04-04 00:00:00.000000000 Z
34
34
  dependencies:
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: codesake-commons
@@ -282,10 +282,12 @@ files:
282
282
  - bin/dawn
283
283
  - certs/paolo_at_codesake_dot_com.pem
284
284
  - checksum/.placeholder
285
+ - checksum/codesake-dawn-1.1.0.gem.sha512
285
286
  - checksum/codesake-dawn-1.1.0.rc1.gem.sha512
286
287
  - codesake-dawn.gemspec
287
288
  - doc/codesake-dawn.yaml.sample
288
289
  - doc/dawn_1_0_announcement.md
290
+ - doc/dawn_1_1_announcement.md
289
291
  - features/dawn_complains_about_an_incorrect_command_line.feature.disabled
290
292
  - features/dawn_scan_a_secure_sinatra_app.feature.disabled
291
293
  - features/dawn_scan_a_vulnerable_sinatra_app.feature.disabled
@@ -457,6 +459,7 @@ files:
457
459
  - lib/codesake/dawn/kb/cve_2014_1233.rb
458
460
  - lib/codesake/dawn/kb/cve_2014_1234.rb
459
461
  - lib/codesake/dawn/kb/cve_2014_2322.rb
462
+ - lib/codesake/dawn/kb/cve_2014_2525.rb
460
463
  - lib/codesake/dawn/kb/cve_2014_2538.rb
461
464
  - lib/codesake/dawn/kb/dependency_check.rb
462
465
  - lib/codesake/dawn/kb/deprecation_check.rb
@@ -557,9 +560,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
557
560
  version: 1.9.2
558
561
  required_rubygems_version: !ruby/object:Gem::Requirement
559
562
  requirements:
560
- - - '>'
563
+ - - '>='
561
564
  - !ruby/object:Gem::Version
562
- version: 1.3.1
565
+ version: '0'
563
566
  requirements: []
564
567
  rubyforge_project:
565
568
  rubygems_version: 2.1.11
metadata.gz.sig CHANGED
Binary file