Skip to content
OpenAdvisories
Critical USN-6682-1 6 CVEs

puma vulnerabilities

Published Mar 7, 2024 · Updated Apr 27, 2026

Summary

ZeddYu Lu discovered that Puma incorrectly handled parsing certain headers.
A remote attacker could possibly use this issue to perform an HTTP Request
Smuggling attack. This issue only affected Ubuntu 20.04 LTS.
(CVE-2020-11076)

It was discovered that Puma incorrectly handled parsing certain headers.
A remote attacker could possibly use this issue to perform an HTTP Request
Smuggling attack. This issue only affected Ubuntu 20.04 LTS.
(CVE-2020-11077)

Jean Boussier discovered that Puma might not always release resources
properly after handling HTTP requests. A remote attacker could possibly
use this issue to read sensitive information. (CVE-2022-23634)

It was discovered that Puma incorrectly handled certain malformed headers.
A remote attacker could use this issue to perform an HTTP Request Smuggling
attack. (CVE-2022-24790)

Ben Kallus discovered that Puma incorrectly handled parsing certain headers.
A remote attacker could use this issue to perform an HTTP Request Smuggling
attack. (CVE-2023-40175)

Bartek Nowotarski discovered that Puma incorrectly handled parsing certain
encoded content. A remote attacker could possibly use this to cause a
denial of service. (CVE-2024-21647)

Fixed packages 2

ReleasePackageFixed in
Ubuntu · Pro 20.04 LTS Pro:20.04:LTS puma 3.12.4-1ubuntu2+esm1
Ubuntu · Pro 22.04 LTS Pro:22.04:LTS puma 5.5.2-2ubuntu2+esm1

Vulnerabilities 6

  • Critical 9.1

    HTTP Request Smuggling in puma

    Puma is a simple, fast, multi-threaded, parallel HTTP 1.1 server for Ruby/Rack applications. When using Puma behind a proxy that does not properly validate that the incoming HTTP request matches the RFC7230 standard, Puma and the frontend proxy may disagree o…

  • High 8.0

    Information Exposure when using Puma with Rails

    Puma is a Ruby/Rack web server built for parallelism. Prior to `puma` version `5.6.2`, `puma` may not always call `close` on the response body. Rails, prior to version `7.0.2.2`, depended on the response body being closed in order for its `CurrentAttributes` …

  • High 7.5
    CVE-2020-11076 Public exploit

    HTTP Smuggling via Transfer-Encoding Header in Puma

    In Puma (RubyGem) before 4.3.4 and 3.12.5, an attacker could smuggle an HTTP response, by using an invalid transfer-encoding header. The problem has been fixed in Puma 3.12.5 and Puma 4.3.4.

  • High 7.3

    Inconsistent Interpretation of HTTP Requests in puma

    Puma is a Ruby/Rack web server built for parallelism. Prior to versions 6.3.1 and 5.6.7, puma exhibited incorrect behavior when parsing chunked transfer encoding bodies and zero-length Content-Length headers in a way that allowed HTTP request smuggling. Sever…

  • Medium 6.8

    HTTP Smuggling via Transfer-Encoding Header in Puma

    In Puma (RubyGem) before 4.3.5 and 3.12.6, a client could smuggle a request through a proxy, causing the proxy to send a response back to another unknown client. If the proxy uses persistent connections and the client adds another request in via HTTP pipelini…

  • Medium 5.9

    HTTP Request/Response Smuggling in puma

    Puma is a web server for Ruby/Rack applications built for parallelism. Prior to version 6.4.2, puma exhibited incorrect behavior when parsing chunked transfer encoding bodies in a way that allowed HTTP request smuggling. Fixed versions limits the size of chun…

References

  • report
    https://ubuntu.com/security/CVE-2020-11076
  • report
    https://ubuntu.com/security/CVE-2020-11077
  • report
    https://ubuntu.com/security/CVE-2022-23634
  • report
    https://ubuntu.com/security/CVE-2022-24790
  • report
    https://ubuntu.com/security/CVE-2023-40175
  • report
    https://ubuntu.com/security/CVE-2024-21647