sinatra 0.9.5

4 security vulnerabilities found in version 0.9.5

Sinatra vulnerable to Reflected File Download attack

high severity CVE-2022-45442
high severity CVE-2022-45442
Patched versions: ~> 2.2.3, >= 3.0.4

An issue was discovered in Sinatra 2.0 before 2.2.3 and 3.0 before 3.0.4. An application is vulnerable to a reflected file download (RFD) attack that sets the Content-Disposition header of a response when the filename is derived from user-supplied input.

sinatra does not validate expanded path matches

high severity CVE-2022-29970
high severity CVE-2022-29970
Patched versions: >= 2.2.0

Sinatra before 2.2.0 does not validate that the expanded path matches public_dir when serving static files.

Sinatra vulnerable to Reliance on Untrusted Inputs in a Security Decision

medium severity CVE-2024-21510
medium severity CVE-2024-21510
Patched versions: >= 4.1.0

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.

Sinatra is vulnerable to ReDoS through ETag header value generation

low severity CVE-2025-61921
low severity CVE-2025-61921
Patched versions: >= 4.2.0

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

No officially reported memory leakage issues detected.


This gem version does not have any officially reported memory leaked issues.

Gem version without a license.


Unless a license that specifies otherwise is included, nobody can use, copy, distribute, or modify this library without being at risk of take-downs, shake-downs, or litigation.

This gem version is available.


This gem version has not been yanked and is still available for usage.