Skip to content

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Nov 19, 2024

This PR contains the following updates:

Package Change Age Confidence
sinatra (source, changelog) 3.1.0 -> 4.2.0 age confidence

GitHub Vulnerability Alerts

CVE-2024-21510

Versions of the package sinatra from 0.0.0 are vulnerable to Reliance on Untrusted Inputs in a Security Decision via the X-Forwarded-Host (XFH) header. When making a request to a method with redirect applied, it is possible to trigger an Open Redirect Attack by inserting an arbitrary address into this header. If used for caching purposes, such as with servers like Nginx, or as a reverse proxy, without handling the X-Forwarded-Host header, attackers can potentially exploit Cache Poisoning or Routing-based SSRF.

CVE-2025-61921

Summary

There is a denial of service vulnerability in the If-Match and If-None-Match header parsing component of Sinatra, if the etag method is used when constructing the response and you are using Ruby < 3.2.

Details

Carefully crafted input can cause If-Match and If-None-Match header parsing in Sinatra to take an unexpected amount of time, possibly resulting in a denial of service attack vector. This header is typically involved in generating the ETag header value. Any applications that use the etag method when generating a response are impacted if they are using Ruby below version 3.2.

Resources


Release Notes

sinatra/sinatra (sinatra)

v4.2.0

Compare Source

  • New: Add :static_headers setting for custom headers in static file responses (#​2089)
  • Fix: Fix regex in etag_matches? to prevent ReDoS (#​2121)
  • Fix: PATH_INFO can never be empty (#​2114)
  • Fix: Fix malformed Content-Type headers (#​2081)
  • Fix: Avoid crash for integer values in content_type parameters (#​2078)

v4.1.1

Compare Source

  • Fix: Restore WEBrick support (#​2067)

v4.1.0

Compare Source

  • New: Add host_authorization setting (#​2053)
    • Defaults to .localhost, .test and any IP address in development mode.
    • Security: addresses CVE-2024-21510.
  • Fix: Return an instance of Sinatra::IndifferentHash when calling #except (#​2044)
  • Fix: Address warning from URI for Ruby 3.4 (#​2060)
  • Fix: rackup no longer depends on WEBrick, recommend Puma instead (4a558503)
  • Fix: Zeitwerk 2.7.0+ compatibility (#​2050)
  • Fix: Address warning about Hash construction for Ruby 3.4 (#​2028)
  • Fix: Declare missing dependencies for Ruby 3.5 (#​2032)
  • Fix: Compatibility with --enable-frozen-string-literal (#​2033)
  • Fix: Rack 3.1 compatibility (#​2035)
    • Don't depend on Rack::Logger
    • Don't delete content-length header when Rack::Files is used

v4.0.1

Compare Source

  • Rack 3.1 compatibility (#​2035)

  • Fix malformed Content-Type headers (#​2081)

  • Avoid crash for integer values in content_type parameters (#​2078)

  • Fix compatibility with --enable-frozen-string-literal (#​2033)

  • Declare missing dependencies for Ruby 3.5 (#​2032)

  • Fix warning about Hash construction. (#​2028)

  • Support Zeitwerk 2.7.0+ (#​2050)

  • Address URI depreciation (#​2060)

v4.0.0

Compare Source

  • New: Add support for Rack 3 (#​1857)

  • Require Ruby 2.7.8 as minimum Ruby version (#​1993)

  • Breaking change: Drop support for Rack 2 (#​1857)

    • Note: when using Sinatra to start the web server, you now need the rackup gem installed
  • Breaking change: Remove the IndifferentHash initializer (#​1982)

  • Breaking change: Disable session_hijacking protection by default (#​1984)

  • Breaking change: Remove Rack::Protection::EncryptedCookie (#​1989)

v3.2.0

Compare Source

  • New: Add #except method to Sinatra::IndifferentHash (#​1940)

  • New: Use Exception#detailed_message to show backtrace (#​1952)

  • New: Add Sinatra::HamlHelpers to sinatra-contrib (#​1960)

  • Fix: Add base64 to rack-protection runtime dependencies (#​1946)

  • Fix: Avoid open-ended dependencies for sinatra-contrib and rack-protection (#​1949)

  • Fix: Helpful message when Sinatra::Runner times out (#​1975)

  • Fix: Ruby 3.3 + Bundler 2.5 compatibility (#​1975)


Configuration

📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/rubygems-sinatra-vulnerability branch from d064f9c to e4bbde1 Compare August 14, 2025 20:04
@renovate renovate bot force-pushed the renovate/rubygems-sinatra-vulnerability branch from e4bbde1 to 16feba7 Compare September 26, 2025 07:50
@renovate renovate bot force-pushed the renovate/rubygems-sinatra-vulnerability branch from 16feba7 to 8a4cc65 Compare October 11, 2025 00:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants