apache / apache/cloudstack

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

Ouverte
#13,342 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
hardening
Langage dominant
Java
Étoiles
3.1k
Forks
1.4k
Merge moyen
6 j 19 h
PR mergées (30 j)
32

Description

### 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!)

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par la CloudStack Management API et reproduisez le problème en envoyant un volume élevé de requêtes à un point de terminaison d’API. Le travail est considéré comme terminé lorsque les limites de requêtes et la limitation de débit sont activées par défaut, que les requêtes excessives sont retardées ou rejetées avec HTTP 429, et que les réponses rejetées incluent un en-tête Retry-After.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java
Domaine
api, security
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
Calme
Clarté
À clarifier
Accessibilité débutants
30/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.