Vulnerabilidad en las aplicaciones Ruby/Rack en Puma (CVE-2021-29509)
Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-400
Consumo de recursos no controlado (Agotamiento de recursos)
Fecha de publicación:
11/05/2021
Última modificación:
27/10/2022
Descripción
Puma es un servidor HTTP versión 1.1 concurrente para aplicaciones Ruby/Rack. La solución para CVE-2019-16770 estaba incompleta. La corrección original solo protegía las conexiones existentes que ya habían sido aceptadas para evitar que sus peticiones se vieran muertas por conexiones persistentes codiciosas que saturaban todos los hilos en el mismo proceso. Sin embargo, es posible que las conexiones persistentes codiciosas sigan privando a las nuevas conexiones que saturan todos los subprocesos en todos los procesos del clúster. Un servidor "puma" que recibiera más conexiones "keep-alive" simultáneas de las que el servidor tenía subprocesos en su grupo de subprocesos daría servicio sólo a un subconjunto de conexiones, negando el servicio a las conexiones no atendidas. Este problema se ha solucionado en "puma" versiones 4.3.8 y 5.3.1. La configuración de "queue_requests false" también soluciona el problema. Esto no se recomienda cuando se usa "puma" sin un proxy inverso, como "nginx" o "apache", porque te expondrás a ataques lentos de clientes (por ejemplo, slowloris). La solución es muy pequeña y hay un parche de git disponible para aquellos que usan versiones no compatibles de Puma
Impacto
Puntuación base 3.x
7.50
Gravedad 3.x
ALTA
Puntuación base 2.0
5.00
Gravedad 2.0
MEDIA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:a:puma:puma:*:*:*:*:*:ruby:*:* | 4.3.8 (excluyendo) | |
| cpe:2.3:a:puma:puma:*:*:*:*:*:ruby:*:* | 5.0.0 (incluyendo) | 5.3.1 (excluyendo) |
| cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:* |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://gist.github.com/nateberkopec/4b3ea5676c0d70cbb37c82d54be25837
- https://github.com/puma/puma/security/advisories/GHSA-q28m-8xjw-8vr5
- https://github.com/puma/puma/security/policy
- https://lists.debian.org/debian-lts-announce/2022/08/msg00015.html
- https://rubygems.org/gems/puma
- https://security.gentoo.org/glsa/202208-28



