sqreen 1.6.3-java → 1.6.4-java

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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