Skip to main content
← All vulnerabilities
CVE-2023-40175GHSA-68XG-GQQM-VGJ8

Inconsistent Interpretation of HTTP Requests in puma

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.6.7, 6.3.1
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: yes
  • Technical impact: partial

Summary

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. Severity of this issue is highly dependent on the nature of the web site using puma is. This could be caused by either incorrect parsing of trailing fields in chunked transfer encoding bodies or by parsing of blank/zero-length Content-Length headers. Both issues have been addressed and this vulnerability has been fixed in versions 6.3.1 and 5.6.7. Users are advised to upgrade. There are no known workarounds for this vulnerability.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: yes · Technical impact: partial

  3. Record last updated

Affected versions

  • puma puma

    fixed in 5.6.7; From 6.0.0 · fixed in 6.3.1

  • pumaRubyGems

    fixed in 5.6.7

  • pumaRubyGems

    From 6.0.0 · fixed in 6.3.1

References 2

GitHub · puma/puma