Amazon Linux 2022 : rubygem-puma (ALAS2022-2022-051)

high Nessus Plugin ID 164760

Synopsis

The remote Amazon Linux 2022 host is missing a security update.

Description

It is, therefore, affected by multiple vulnerabilities as referenced in the ALAS2022-2022-051 advisory.

A flaw was found in rubygem-puma. The fix for CVE-2019-16770 was incomplete. The original fix only protected existing connections that had already been accepted from having their requests starved by greedy persistent-connections saturating all threads in the same process. However, new connections may still be starved by greedy persistent-connections saturating all threads in all processes in the cluster. A `puma` server which received more concurrent `keep-alive` connections than the server had threads in its threadpool would service only a subset of connections, denying service to the unserved connections.
(CVE-2021-29509)

An HTTP Request Smuggling vulnerability was found in puma. When using puma with a proxy, which forwards LF characters as line endings, an attacker could use this flaw to smuggle a request through a proxy, causing the proxy to send a response back to another unknown client. (CVE-2021-41136)

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` implementation to work correctly. The combination of these two behaviors (Puma not closing the body + Rails' Executor implementation) causes information leakage. This problem is fixed in Puma versions 5.6.2 and 4.3.11. This problem is fixed in Rails versions 7.02.2, 6.1.4.6, 6.0.4.6, and 5.2.6.2. Upgrading to a patched Rails _or_ Puma version fixes the vulnerability. (CVE-2022-23634)

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 on where a request starts and ends. This would allow requests to be smuggled via the front-end proxy to Puma. The vulnerability has been fixed in 5.6.4 and 4.3.12. Users are advised to upgrade as soon as possible. Workaround: when deploying a proxy in front of Puma, turning on any and all functionality to make sure that the request matches the RFC7230 standard.
(CVE-2022-24790)

Tenable has extracted the preceding description block directly from the tested product security advisory.

Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version number.

Solution

Run 'dnf update --releasever=2022.0.20220419 rubygem-puma' to update your system.

See Also

https://alas.aws.amazon.com/AL2022/ALAS-2022-051.html

https://alas.aws.amazon.com/cve/html/CVE-2021-29509.html

https://alas.aws.amazon.com/cve/html/CVE-2021-41136.html

https://alas.aws.amazon.com/cve/html/CVE-2022-23634.html

https://alas.aws.amazon.com/cve/html/CVE-2022-24790.html

Plugin Details

Severity: High

ID: 164760

File Name: al2022_ALAS2022-2022-051.nasl

Version: 1.3

Type: local

Agent: unix

Published: 9/6/2022

Updated: 12/11/2024

Supported Sensors: Agentless Assessment, Continuous Assessment, Frictionless Assessment Agent, Frictionless Assessment AWS, Nessus Agent, Nessus

Risk Information

VPR

Risk Factor: Low

Score: 3.6

CVSS v2

Risk Factor: Medium

Base Score: 5

Temporal Score: 3.7

Vector: CVSS2#AV:N/AC:L/Au:N/C:N/I:P/A:N

CVSS Score Source: CVE-2022-24790

CVSS v3

Risk Factor: High

Base Score: 7.5

Temporal Score: 6.5

Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N

Temporal Vector: CVSS:3.0/E:U/RL:O/RC:C

Vulnerability Information

CPE: p-cpe:/a:amazon:linux:rubygem-puma, p-cpe:/a:amazon:linux:rubygem-puma-debugsource, cpe:/o:amazon:linux:2022, p-cpe:/a:amazon:linux:rubygem-puma-debuginfo, p-cpe:/a:amazon:linux:rubygem-puma-doc

Required KB Items: Host/local_checks_enabled, Host/AmazonLinux/release, Host/AmazonLinux/rpm-list

Exploit Ease: No known exploits are available

Patch Publication Date: 4/19/2022

Vulnerability Publication Date: 5/11/2021

Reference Information

CVE: CVE-2021-29509, CVE-2021-41136, CVE-2022-23634, CVE-2022-24790