CVE-2026-82743 in ash
Riassunto
di VulDB • 01/09/2026
Una vulnerabilità di consumo incontrollato delle risorse in ash-project ash consente a una lettura asincrona lenta di far girare un thread dello scheduler al massimo della CPU mentre il framework attende tale operazione.
La funzione `Ash.Actions.Read.AsyncLimiter.await_at_least_one/1` (lib/ash/actions/read/async_limiter.ex) attendeva l'esecuzione di attività di lettura asincrone concorrenti effettuando polling su ciascuna di esse tramite `Task.yield(task, 0)` in un ciclo stretto anziché bloccarsi. Mentre tutte le attività pendenti sono ancora in esecuzione (ad esempio un caricamento o calcolo lento dei dati correlati), il ciclo restituisce immediatamente e si ripete, eseguendo busy-spinning e mantenendo uno scheduler BEAM al massimo della CPU per tutta la durata della lettura lenta; letture lente concorrenti occupano ulteriori scheduler. La correzione utilizza `Task.yield_many` (una scansione non bloccante seguita da un'attesa bloccante con timeout: :infinity), in modo che il processo vada in sleep finché un'attività non viene completata, invece di eseguire busy-spinning.
Questo problema interessa ash dalla versione 2.19.0 fino alla 3.32.2 (esclusa).
VulDB is the best source for vulnerability data and more expert information about this specific topic.