apache / apache/cloudstack

[Hardening] F-14: Fail to Ensure Request Limits and/or Throttling by Default.

Aperta
#13,342 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
hardening
Lingua principale
Java
Stelle
3.1k
Fork
1.4k
Merge medio
6g 19h
PR unite (30g)
32

Descrizione

### The required feature described as a wish

Image

**Description:** By Default, CloudStack does not enforce rate limiting or request throttling on its API endpoints. Any client with network access to the management plane can issue an unlimited number of API requests without restriction, delay, or penalty.

**Affected Components:** Management API

**Impact:** An attacker or malfunctioning client can flood the API with requests, exhausting server-side resources (e.g., DB) and causing a denial of service. The absence of throttling also enables unlimited automated authentication attempts, which compounds the risk previously described in other reports.

**Steps to Reproduce:**
- Using a custom script or a fuzzing tool, send a high volume of requests in rapid succession to any API endpoint.
- Observe that all requests are processed without any throttling, queuing delay, or rejection based on request rate.

**Recommended Remediation:** Adopt rate-limiting and throttling out-of-the-box. Return `HTTP 429` with a `Retry-After` header when a threshold is exceeded, as an attempt to slow down legit clients (attackers do not slow!)

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia con la CloudStack Management API e riproduci il problema inviando un volume elevato di richieste a un endpoint API. Il lavoro è completato quando i limiti delle richieste e il throttling sono abilitati per impostazione predefinita, le richieste eccessive vengono ritardate o rifiutate con HTTP 429 e le risposte rifiutate includono un'intestazione Retry-After.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java
Ambito
api, security
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Tranquilla
Chiarezza
Da chiarire
Idoneità per principianti
30/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.