rswag-api 2.8.0 → 2.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rswag/api/middleware.rb +6 -1
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ac303e9be803ba8c77f74c86f9f573574460c493ca72d6457cf25bdfc3e56ec4
4
- data.tar.gz: 3853fab4dbc94c89fd9354880e5f30947521e913f38d2cd8f455b1f7f274e038
3
+ metadata.gz: 24a46129ae1192485e1d09b1c2930afd78c229007981af3e4ac14d2087f9bd37
4
+ data.tar.gz: 86aa96d20b65e8a7d4f739dc6eaad415e6b75bc57ca197ac402344949922bd5e
5
5
  SHA512:
6
- metadata.gz: 158d1365fec6dca902d5fce80ac5c5f9edecffc653cf9bf719a6d38d98227b39229f8065835db1b329f20848595a00c76fd5b2bd944164540e0a62731bfa824c
7
- data.tar.gz: 39a063a529c5c10a5c3157c7c732438f1cc41ca7a68ae30683333fcc52b439185ac1fa09c7273eebbbb513df37b5ffc4d0d7ea30a4acbc686fef829ae0f8cd45
6
+ metadata.gz: a7a8332ce317746707b505bd660e6c6a078e1f07170656324fa764cd436d565256f627e47a9ce7a8608f7d0bb8ba1a8e7c5a5da2066d439fc2db6ed96934d474
7
+ data.tar.gz: 9c94264f402db5fd0f936975b85dfd3e3a43aa1e47ab744d960a7f26d37f657ae09b3e9e2d30edcdf2542bbee01de347af07aa56367b5c252bbc7e689fd33ecc
@@ -13,7 +13,12 @@ module Rswag
13
13
 
14
14
  def call(env)
15
15
  path = env['PATH_INFO']
16
- filename = "#{@config.resolve_swagger_root(env)}/#{path}"
16
+ # Sanitize the filename for directory traversal by expanding, and ensuring
17
+ # its starts with the root directory.
18
+ filename = File.expand_path(path, @config.resolve_swagger_root(env))
19
+ unless filename.start_with? @config.resolve_swagger_root(env)
20
+ return @app.call(env)
21
+ end
17
22
 
18
23
  if env['REQUEST_METHOD'] == 'GET' && File.file?(filename)
19
24
  swagger = parse_file(filename)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rswag-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.8.0
4
+ version: 2.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richie Morris
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2022-11-16 00:00:00.000000000 Z
13
+ date: 2023-07-13 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: railties