sqreen 1.6.3-java → 1.6.4-java

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: fb1277e9fe14768daa5419ca6d0e42ab07e95e67
4
- data.tar.gz: c8c556e20ad621bd7f18414a4bbc8ee80a56820c
3
+ metadata.gz: 16272b9166ff785fd074fa26c4f9d4d57d9a4999
4
+ data.tar.gz: 2a8e6688467b84113424e9888053f7ee16a8c979
5
5
  SHA512:
6
- metadata.gz: 8caed917d587a1f571c00281d7135e5c5828be9539567ec13ddce6c2052c26111b67a50022243557baa17d2085a208f29e454ef41c6e6a1492008cdbff6f0e2f
7
- data.tar.gz: 9b22ce8731b3487d65820bb3f2696c91e89b1c4ab5d93866cec5ca495ecdc839bc531d9826144f7d8dbb058d6ab1ade434e816f2abba0426ce2c33e7572663a6
6
+ metadata.gz: a81ca9d97fef431d8a3ec8d3de8755c04ab8b252ba8b88080cce05699ca9e18eb52facec8e4cbbb76c4835a17095eb24b6d7fa978bb927233bc75a263ca9a106
7
+ data.tar.gz: 44dfd38d40d3e6d2824c4892d110636620af9a71675f96ab06c052aaf7cc1c42c7ff326ec5ba7fd6b413b778426ceb239bfe737822516d87317de5aa2249bfaf
@@ -53,7 +53,6 @@ module Sqreen
53
53
 
54
54
  advise_action(nil)
55
55
  end
56
-
57
56
  end
58
57
  # look for reflected XSS with haml template engine
59
58
  # hook function arguments of
@@ -85,10 +84,12 @@ module Sqreen
85
84
  class Haml4ParserScriptHookCB < RuleCB
86
85
  def pre(_inst, *args, &_block)
87
86
  return unless args.size > 1
88
- return unless Haml::VERSION < "5"
87
+ return unless Haml::VERSION < '5'
89
88
  text = args[0]
90
89
  escape_html = args[1]
91
- if escape_html == false && !text.include?('html_escape')
90
+ if escape_html == false &&
91
+ text.respond_to?(:include?) &&
92
+ !text.include?('html_escape')
92
93
  args[0].replace("Sqreen.escape_haml(#{args[0]})")
93
94
  end
94
95
  nil
@@ -98,9 +99,10 @@ module Sqreen
98
99
  # Hook into haml4 tag parser
99
100
  class Haml4ParserTagHookCB < RuleCB
100
101
  def post(ret, _inst, *_args, &_block)
101
- return unless Haml::VERSION < "5"
102
+ return unless Haml::VERSION < '5'
102
103
  tag = ret
103
104
  if tag.value[:escape_html] == false &&
105
+ tag.value[:value].respond_to?(:include?) &&
104
106
  !tag.value[:value].include?('html_escape')
105
107
  tag.value[:value] = "Sqreen.escape_haml(#{tag.value[:value]})"
106
108
  return { :status => :override, :new_return_value => tag }
@@ -134,7 +136,7 @@ module Sqreen
134
136
  # Hook build attributes
135
137
  class Haml4CompilerBuildAttributeCB < XSSCB
136
138
  def pre(inst, *args, &_block)
137
- return unless Haml::VERSION < "5"
139
+ return unless Haml::VERSION < '5'
138
140
  attrs = args[-1]
139
141
  new_attrs, found_xss = Haml4CompilerBuildAttributeCB.clean_hash_key(attrs) do |key|
140
142
  if !key.nil? && key.is_a?(String) && framework.full_params_include?(key)
@@ -148,11 +150,12 @@ module Sqreen
148
150
 
149
151
  return if !found_xss || !block
150
152
  # potential XSS! let's escape
151
- if !framework || !find_whitelisted_path(framework.request_path.to_s)
152
- args[-1] = new_attrs
153
- r = inst.send(method, *args)
154
- return { :status => :skip, :new_return_value => r }
153
+ if framework && find_whitelisted_path(framework.request_path.to_s)
154
+ return nil
155
155
  end
156
+ args[-1] = new_attrs
157
+ r = inst.send(method, *args)
158
+ { :status => :skip, :new_return_value => r }
156
159
  end
157
160
 
158
161
  def self.clean_hash_key(hash, limit = 10, seen = [], &block)
@@ -186,7 +189,6 @@ module Sqreen
186
189
  end
187
190
  end
188
191
 
189
-
190
192
  # Hook into temple template rendering
191
193
  class TempleEscapableHookCB < RuleCB
192
194
  def post(ret, _inst, *_args, &_block)
@@ -195,7 +197,6 @@ module Sqreen
195
197
  end
196
198
  end
197
199
 
198
-
199
200
  # Hook into temple template rendering
200
201
  class SlimSplatBuilderCB < XSSCB
201
202
  def pre(inst, *args, &_block)
@@ -1,5 +1,5 @@
1
1
  # Copyright (c) 2015 Sqreen. All Rights Reserved.
2
2
  # Please refer to our terms for more information: https://www.sqreen.io/terms.html
3
3
  module Sqreen
4
- VERSION = '1.6.3'.freeze
4
+ VERSION = '1.6.4'.freeze
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sqreen
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.3
4
+ version: 1.6.4
5
5
  platform: java
6
6
  authors:
7
7
  - Sqreen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-22 00:00:00.000000000 Z
11
+ date: 2017-05-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: execjs