CVE-2021-29509 in Puma
Riassunto
di VulDB • 23/06/2026
Puma è un server HTTP 1.1 concorrente per applicazioni Ruby/Rack. La correzione per CVE-2019-16770 era incompleta. La correzione originale proteggeva solo le connessioni esistenti che erano già state accettate dall'essere private delle richieste (request starvation) a causa di persistent connections "greedy" che saturavano tutti i thread nello stesso processo. Tuttavia, nuove connessioni possono ancora essere private delle richieste da persistent connections "greedy" che saturano tutti i thread in tutti i processi del cluster. Un server `puma` che riceveva più connessioni `keep-alive` concorrenti rispetto ai thread disponibili nel suo threadpool avrebbe servito solo un sottoinsieme di connessioni, negando il servizio alle connessioni non servite. Questo problema è stato risolto in `puma` 4.3.8 e 5.3.1. Impostare `queue_requests false` risolve inoltre il problema. Ciò non è consigliato quando si utilizza `puma` senza un reverse proxy, come `nginx` o `apache`, poiché ci si esporrebbe ad attacchi di client lenti (ad esempio slowloris). La correzione è molto piccola ed è disponibile una patch git per coloro che utilizzano versioni non supportate di Puma.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.