Skip to content

sinatra-contrib-2.1.0.gem: 11 vulnerabilities (highest severity is: 7.5) #113

@mend-for-github-com

Description

@mend-for-github-com
Vulnerable Library - sinatra-contrib-2.1.0.gem

Path to dependency file: /Gemfile.lock

Path to vulnerable library: /vendor/cache/rack-2.2.21.gem

Vulnerabilities

Vulnerability Severity CVSS Exploit Maturity EPSS Dependency Type Fixed in (sinatra-contrib version) Remediation Possible** Reachability
CVE-2026-34829 High 7.5 Not Defined rack-2.2.21.gem Transitive N/A*
CVE-2026-34785 High 7.5 Not Defined rack-2.2.21.gem Transitive N/A*
CVE-2026-22860 High 7.5 Not Defined 0.1% rack-2.2.21.gem Transitive N/A*
CVE-2026-34830 Medium 5.9 Not Defined rack-2.2.21.gem Transitive N/A*
CVE-2026-25500 Medium 5.4 Not Defined 0.0% rack-2.2.21.gem Transitive N/A*
CVE-2026-34826 Medium 5.3 Not Defined rack-2.2.21.gem Transitive N/A*
CVE-2026-34786 Medium 5.3 Not Defined rack-2.2.21.gem Transitive N/A*
CVE-2026-34763 Medium 5.3 Not Defined rack-2.2.21.gem Transitive N/A*
CVE-2026-34230 Medium 5.3 Not Defined rack-2.2.21.gem Transitive N/A*
CVE-2026-34831 Medium 4.8 Not Defined rack-2.2.21.gem Transitive N/A*
CVE-2026-26961 Low 3.7 Not Defined rack-2.2.21.gem Transitive N/A*

*For some transitive vulnerabilities, there is no version of direct dependency with a fix. Check the "Details" section below to see if there is a version of transitive dependency where vulnerability is fixed.

**In some cases, Remediation PR cannot be created automatically for a vulnerability despite the availability of remediation

Details

CVE-2026-34829

Vulnerable Library - rack-2.2.21.gem

Rack provides a minimal, modular and adaptable interface for developing web applications in Ruby. By wrapping HTTP requests and responses in the simplest way possible, it unifies and distills the API for web servers, web frameworks, and software in between (the so-called middleware) into a single method call.

Library home page: https://rubygems.org/gems/rack-2.2.21.gem

Path to dependency file: /Gemfile.lock

Path to vulnerable library: /vendor/cache/rack-2.2.21.gem

Dependency Hierarchy:

  • sinatra-contrib-2.1.0.gem (Root Library)
    • rack-protection-2.1.0.gem
      • rack-2.2.21.gem (Vulnerable Library)

Found in base branch: master

Vulnerability Details

Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Multipart::Parser only wraps the request body in a BoundedIO when CONTENT_LENGTH is present. When a multipart/form-data request is sent without a Content-Length header, such as with HTTP chunked transfer encoding, multipart parsing continues until end-of-stream with no total size limit. For file parts, the uploaded body is written directly to a temporary file on disk rather than being constrained by the buffered in-memory upload limit. An unauthenticated attacker can therefore stream an arbitrarily large multipart file upload and consume unbounded disk space. This results in a denial of service condition for Rack applications that accept multipart form data. This issue has been patched in versions 2.2.23, 3.1.21, and 3.2.6.

Publish Date: 2026-04-02

URL: CVE-2026-34829

Threat Assessment

Exploit Maturity: Not Defined

EPSS:

CVSS 3 Score Details (7.5)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: Low
    • Privileges Required: None
    • User Interaction: None
    • Scope: Unchanged
  • Impact Metrics:
    • Confidentiality Impact: None
    • Integrity Impact: None
    • Availability Impact: High

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: GHSA-8vqr-qjwx-82mw

Release Date: 2026-04-02

Fix Resolution: rack - 3.1.21,rack - 3.2.6,rack - 2.2.23

CVE-2026-34785

Vulnerable Library - rack-2.2.21.gem

Rack provides a minimal, modular and adaptable interface for developing web applications in Ruby. By wrapping HTTP requests and responses in the simplest way possible, it unifies and distills the API for web servers, web frameworks, and software in between (the so-called middleware) into a single method call.

Library home page: https://rubygems.org/gems/rack-2.2.21.gem

Path to dependency file: /Gemfile.lock

Path to vulnerable library: /vendor/cache/rack-2.2.21.gem

Dependency Hierarchy:

  • sinatra-contrib-2.1.0.gem (Root Library)
    • rack-protection-2.1.0.gem
      • rack-2.2.21.gem (Vulnerable Library)

Found in base branch: master

Vulnerability Details

Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Static determines whether a request should be served as a static file using a simple string prefix check. When configured with URL prefixes such as "/css", it matches any request path that begins with that string, including unrelated paths such as "/css-config.env" or "/css-backup.sql". As a result, files under the static root whose names merely share the configured prefix may be served unintentionally, leading to information disclosure. This issue has been patched in versions 2.2.23, 3.1.21, and 3.2.6.

Publish Date: 2026-04-02

URL: CVE-2026-34785

Threat Assessment

Exploit Maturity: Not Defined

EPSS:

CVSS 3 Score Details (7.5)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: Low
    • Privileges Required: None
    • User Interaction: None
    • Scope: Unchanged
  • Impact Metrics:
    • Confidentiality Impact: High
    • Integrity Impact: None
    • Availability Impact: None

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: GHSA-h2jq-g4cq-5ppq

Release Date: 2026-04-02

Fix Resolution: rack - 3.1.21,rack - 2.2.23,rack - 3.2.6

CVE-2026-22860

Vulnerable Library - rack-2.2.21.gem

Rack provides a minimal, modular and adaptable interface for developing web applications in Ruby. By wrapping HTTP requests and responses in the simplest way possible, it unifies and distills the API for web servers, web frameworks, and software in between (the so-called middleware) into a single method call.

Library home page: https://rubygems.org/gems/rack-2.2.21.gem

Path to dependency file: /Gemfile.lock

Path to vulnerable library: /vendor/cache/rack-2.2.21.gem

Dependency Hierarchy:

  • sinatra-contrib-2.1.0.gem (Root Library)
    • rack-protection-2.1.0.gem
      • rack-2.2.21.gem (Vulnerable Library)

Found in base branch: master

Vulnerability Details

Rack is a modular Ruby web server interface. Prior to versions 2.2.22, 3.1.20, and 3.2.5, "Rack::Directory"’s path check used a string prefix match on the expanded path. A request like "/../root_example/" can escape the configured root if the target path starts with the root string, allowing directory listing outside the intended root. Versions 2.2.22, 3.1.20, and 3.2.5 fix the issue.

Publish Date: 2026-02-18

URL: CVE-2026-22860

Threat Assessment

Exploit Maturity: Not Defined

EPSS: 0.1%

CVSS 3 Score Details (7.5)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: Low
    • Privileges Required: None
    • User Interaction: None
    • Scope: Unchanged
  • Impact Metrics:
    • Confidentiality Impact: High
    • Integrity Impact: None
    • Availability Impact: None

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Release Date: 2026-02-17

Fix Resolution: https://github.com/rack/rack.git - v3.2.5,https://github.com/rack/rack.git - v3.1.20,https://github.com/rack/rack.git - v2.2.22

CVE-2026-34830

Vulnerable Library - rack-2.2.21.gem

Rack provides a minimal, modular and adaptable interface for developing web applications in Ruby. By wrapping HTTP requests and responses in the simplest way possible, it unifies and distills the API for web servers, web frameworks, and software in between (the so-called middleware) into a single method call.

Library home page: https://rubygems.org/gems/rack-2.2.21.gem

Path to dependency file: /Gemfile.lock

Path to vulnerable library: /vendor/cache/rack-2.2.21.gem

Dependency Hierarchy:

  • sinatra-contrib-2.1.0.gem (Root Library)
    • rack-protection-2.1.0.gem
      • rack-2.2.21.gem (Vulnerable Library)

Found in base branch: master

Vulnerability Details

Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Sendfile#map_accel_path interpolates the value of the X-Accel-Mapping request header directly into a regular expression when rewriting file paths for X-Accel-Redirect. Because the header value is not escaped, an attacker who can supply X-Accel-Mapping to the backend can inject regex metacharacters and control the generated X-Accel-Redirect response header. In deployments using Rack::Sendfile with x-accel-redirect, this can allow an attacker to cause nginx to serve unintended files from configured internal locations. This issue has been patched in versions 2.2.23, 3.1.21, and 3.2.6.

Publish Date: 2026-04-02

URL: CVE-2026-34830

Threat Assessment

Exploit Maturity: Not Defined

EPSS:

CVSS 3 Score Details (5.9)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: High
    • Privileges Required: None
    • User Interaction: None
    • Scope: Unchanged
  • Impact Metrics:
    • Confidentiality Impact: High
    • Integrity Impact: None
    • Availability Impact: None

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: GHSA-qv7j-4883-hwh7

Release Date: 2026-04-02

Fix Resolution: rack - 3.2.6,rack - 2.2.23,rack - 3.1.21

CVE-2026-25500

Vulnerable Library - rack-2.2.21.gem

Rack provides a minimal, modular and adaptable interface for developing web applications in Ruby. By wrapping HTTP requests and responses in the simplest way possible, it unifies and distills the API for web servers, web frameworks, and software in between (the so-called middleware) into a single method call.

Library home page: https://rubygems.org/gems/rack-2.2.21.gem

Path to dependency file: /Gemfile.lock

Path to vulnerable library: /vendor/cache/rack-2.2.21.gem

Dependency Hierarchy:

  • sinatra-contrib-2.1.0.gem (Root Library)
    • rack-protection-2.1.0.gem
      • rack-2.2.21.gem (Vulnerable Library)

Found in base branch: master

Vulnerability Details

Rack is a modular Ruby web server interface. Prior to versions 2.2.22, 3.1.20, and 3.2.5, "Rack::Directory" generates an HTML directory index where each file entry is rendered as a clickable link. If a file exists on disk whose basename starts with the "javascript:" scheme (e.g. "javascript:alert(1)"), the generated index contains an anchor whose "href" is exactly "javascript:alert(1)". Clicking the entry executes JavaScript in the browser (demonstrated with "alert(1)"). Versions 2.2.22, 3.1.20, and 3.2.5 fix the issue.

Publish Date: 2026-02-18

URL: CVE-2026-25500

Threat Assessment

Exploit Maturity: Not Defined

EPSS: 0.0%

CVSS 3 Score Details (5.4)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: Low
    • Privileges Required: Low
    • User Interaction: Required
    • Scope: Changed
  • Impact Metrics:
    • Confidentiality Impact: Low
    • Integrity Impact: Low
    • Availability Impact: None

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Release Date: 2026-02-17

Fix Resolution: https://github.com/rack/rack.git - v2.2.22,https://github.com/rack/rack.git - v3.2.5,https://github.com/rack/rack.git - v3.1.20

CVE-2026-34826

Vulnerable Library - rack-2.2.21.gem

Rack provides a minimal, modular and adaptable interface for developing web applications in Ruby. By wrapping HTTP requests and responses in the simplest way possible, it unifies and distills the API for web servers, web frameworks, and software in between (the so-called middleware) into a single method call.

Library home page: https://rubygems.org/gems/rack-2.2.21.gem

Path to dependency file: /Gemfile.lock

Path to vulnerable library: /vendor/cache/rack-2.2.21.gem

Dependency Hierarchy:

  • sinatra-contrib-2.1.0.gem (Root Library)
    • rack-protection-2.1.0.gem
      • rack-2.2.21.gem (Vulnerable Library)

Found in base branch: master

Vulnerability Details

Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Utils.get_byte_ranges parses the HTTP Range header without limiting the number of individual byte ranges. Although the existing fix for CVE-2024-26141 rejects ranges whose total byte coverage exceeds the file size, it does not restrict the count of ranges. An attacker can supply many small overlapping ranges such as 0-0,0-0,0-0,... to trigger disproportionate CPU, memory, I/O, and bandwidth consumption per request. This results in a denial of service condition in Rack file-serving paths that process multipart byte range responses. This issue has been patched in versions 2.2.23, 3.1.21, and 3.2.6.

Publish Date: 2026-04-02

URL: CVE-2026-34826

Threat Assessment

Exploit Maturity: Not Defined

EPSS:

CVSS 3 Score Details (5.3)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: Low
    • Privileges Required: None
    • User Interaction: None
    • Scope: Unchanged
  • Impact Metrics:
    • Confidentiality Impact: None
    • Integrity Impact: None
    • Availability Impact: Low

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: GHSA-x8cg-fq8g-mxfx

Release Date: 2026-04-02

Fix Resolution: rack - 3.2.6,rack - 2.2.23,rack - 3.1.21

CVE-2026-34786

Vulnerable Library - rack-2.2.21.gem

Rack provides a minimal, modular and adaptable interface for developing web applications in Ruby. By wrapping HTTP requests and responses in the simplest way possible, it unifies and distills the API for web servers, web frameworks, and software in between (the so-called middleware) into a single method call.

Library home page: https://rubygems.org/gems/rack-2.2.21.gem

Path to dependency file: /Gemfile.lock

Path to vulnerable library: /vendor/cache/rack-2.2.21.gem

Dependency Hierarchy:

  • sinatra-contrib-2.1.0.gem (Root Library)
    • rack-protection-2.1.0.gem
      • rack-2.2.21.gem (Vulnerable Library)

Found in base branch: master

Vulnerability Details

Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Static#applicable_rules evaluates several header_rules types against the raw URL-encoded PATH_INFO, while the underlying file-serving path is decoded before the file is served. As a result, a request for a URL-encoded variant of a static path can serve the same file without the headers that header_rules were intended to apply. In deployments that rely on Rack::Static to attach security-relevant response headers to static content, this can allow an attacker to bypass those headers by requesting an encoded form of the path. This issue has been patched in versions 2.2.23, 3.1.21, and 3.2.6.

Publish Date: 2026-04-02

URL: CVE-2026-34786

Threat Assessment

Exploit Maturity: Not Defined

EPSS:

CVSS 3 Score Details (5.3)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: Low
    • Privileges Required: None
    • User Interaction: None
    • Scope: Unchanged
  • Impact Metrics:
    • Confidentiality Impact: None
    • Integrity Impact: Low
    • Availability Impact: None

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: GHSA-q4qf-9j86-f5mh

Release Date: 2026-04-02

Fix Resolution: rack - 3.1.21,rack - 3.2.6,rack - 2.2.23

CVE-2026-34763

Vulnerable Library - rack-2.2.21.gem

Rack provides a minimal, modular and adaptable interface for developing web applications in Ruby. By wrapping HTTP requests and responses in the simplest way possible, it unifies and distills the API for web servers, web frameworks, and software in between (the so-called middleware) into a single method call.

Library home page: https://rubygems.org/gems/rack-2.2.21.gem

Path to dependency file: /Gemfile.lock

Path to vulnerable library: /vendor/cache/rack-2.2.21.gem

Dependency Hierarchy:

  • sinatra-contrib-2.1.0.gem (Root Library)
    • rack-protection-2.1.0.gem
      • rack-2.2.21.gem (Vulnerable Library)

Found in base branch: master

Vulnerability Details

Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Directory interpolates the configured root path directly into a regular expression when deriving the displayed directory path. If root contains regex metacharacters such as +, *, or ., the prefix stripping can fail and the generated directory listing may expose the full filesystem path in the HTML output. This issue has been patched in versions 2.2.23, 3.1.21, and 3.2.6.

Publish Date: 2026-04-02

URL: CVE-2026-34763

Threat Assessment

Exploit Maturity: Not Defined

EPSS:

CVSS 3 Score Details (5.3)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: Low
    • Privileges Required: None
    • User Interaction: None
    • Scope: Unchanged
  • Impact Metrics:
    • Confidentiality Impact: Low
    • Integrity Impact: None
    • Availability Impact: None

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: GHSA-7mqq-6cf9-v2qp

Release Date: 2026-04-02

Fix Resolution: rack - 3.2.6,rack - 2.2.23,rack - 3.1.21

CVE-2026-34230

Vulnerable Library - rack-2.2.21.gem

Rack provides a minimal, modular and adaptable interface for developing web applications in Ruby. By wrapping HTTP requests and responses in the simplest way possible, it unifies and distills the API for web servers, web frameworks, and software in between (the so-called middleware) into a single method call.

Library home page: https://rubygems.org/gems/rack-2.2.21.gem

Path to dependency file: /Gemfile.lock

Path to vulnerable library: /vendor/cache/rack-2.2.21.gem

Dependency Hierarchy:

  • sinatra-contrib-2.1.0.gem (Root Library)
    • rack-protection-2.1.0.gem
      • rack-2.2.21.gem (Vulnerable Library)

Found in base branch: master

Vulnerability Details

Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Utils.select_best_encoding processes Accept-Encoding values with quadratic time complexity when the header contains many wildcard (*) entries. Because this method is used by Rack::Deflater to choose a response encoding, an unauthenticated attacker can send a single request with a crafted Accept-Encoding header and cause disproportionate CPU consumption on the compression middleware path. This results in a denial of service condition for applications using Rack::Deflater. This issue has been patched in versions 2.2.23, 3.1.21, and 3.2.6.

Publish Date: 2026-04-02

URL: CVE-2026-34230

Threat Assessment

Exploit Maturity: Not Defined

EPSS:

CVSS 3 Score Details (5.3)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: Low
    • Privileges Required: None
    • User Interaction: None
    • Scope: Unchanged
  • Impact Metrics:
    • Confidentiality Impact: None
    • Integrity Impact: None
    • Availability Impact: Low

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: GHSA-v569-hp3g-36wr

Release Date: 2026-04-02

Fix Resolution: rack - 3.1.21,rack - 3.2.6,rack - 2.2.23

CVE-2026-34831

Vulnerable Library - rack-2.2.21.gem

Rack provides a minimal, modular and adaptable interface for developing web applications in Ruby. By wrapping HTTP requests and responses in the simplest way possible, it unifies and distills the API for web servers, web frameworks, and software in between (the so-called middleware) into a single method call.

Library home page: https://rubygems.org/gems/rack-2.2.21.gem

Path to dependency file: /Gemfile.lock

Path to vulnerable library: /vendor/cache/rack-2.2.21.gem

Dependency Hierarchy:

  • sinatra-contrib-2.1.0.gem (Root Library)
    • rack-protection-2.1.0.gem
      • rack-2.2.21.gem (Vulnerable Library)

Found in base branch: master

Vulnerability Details

Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Files#fail sets the Content-Length response header using String#size instead of String#bytesize. When the response body contains multibyte UTF-8 characters, the declared Content-Length is smaller than the number of bytes actually sent on the wire. Because Rack::Files reflects the requested path in 404 responses, an attacker can trigger this mismatch by requesting a non-existent path containing percent-encoded UTF-8 characters. This results in incorrect HTTP response framing and may cause response desynchronization in deployments that rely on the incorrect Content-Length value. This issue has been patched in versions 2.2.23, 3.1.21, and 3.2.6.

Publish Date: 2026-04-02

URL: CVE-2026-34831

Threat Assessment

Exploit Maturity: Not Defined

EPSS:

CVSS 3 Score Details (4.8)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: High
    • Privileges Required: None
    • User Interaction: None
    • Scope: Unchanged
  • Impact Metrics:
    • Confidentiality Impact: Low
    • Integrity Impact: Low
    • Availability Impact: None

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: GHSA-q2ww-5357-x388

Release Date: 2026-04-02

Fix Resolution: rack - 3.2.6,rack - 3.1.21,rack - 2.2.23

CVE-2026-26961

Vulnerable Library - rack-2.2.21.gem

Rack provides a minimal, modular and adaptable interface for developing web applications in Ruby. By wrapping HTTP requests and responses in the simplest way possible, it unifies and distills the API for web servers, web frameworks, and software in between (the so-called middleware) into a single method call.

Library home page: https://rubygems.org/gems/rack-2.2.21.gem

Path to dependency file: /Gemfile.lock

Path to vulnerable library: /vendor/cache/rack-2.2.21.gem

Dependency Hierarchy:

  • sinatra-contrib-2.1.0.gem (Root Library)
    • rack-protection-2.1.0.gem
      • rack-2.2.21.gem (Vulnerable Library)

Found in base branch: master

Vulnerability Details

Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Multipart::Parser extracts the boundary parameter from multipart/form-data using a greedy regular expression. When a Content-Type header contains multiple boundary parameters, Rack selects the last one rather than the first. In deployments where an upstream proxy, WAF, or intermediary interprets the first boundary parameter, this mismatch can allow an attacker to smuggle multipart content past upstream inspection and have Rack parse a different body structure than the intermediary validated. This issue has been patched in versions 2.2.23, 3.1.21, and 3.2.6.

Publish Date: 2026-04-02

URL: CVE-2026-26961

Threat Assessment

Exploit Maturity: Not Defined

EPSS:

CVSS 3 Score Details (3.7)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: High
    • Privileges Required: None
    • User Interaction: None
    • Scope: Unchanged
  • Impact Metrics:
    • Confidentiality Impact: None
    • Integrity Impact: Low
    • Availability Impact: None

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: GHSA-vgpv-f759-9wx3

Release Date: 2026-04-02

Fix Resolution: rack - 2.2.23,rack - 3.2.6,rack - 3.1.21

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions