apache / apache/cloudstack

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

Open
#13,342 0 comments 0 reactions 0 assignees View on GitHub
hardening
Dominant language
Java
Stars
3.1k
Forks
1.4k
Avg merge
6d 19h
Merged PRs (30d)
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!)

Contributor guide

Open the contributing guide

Research direction

Start with the CloudStack Management API and reproduce the issue by sending a high volume of requests to an API endpoint. Done means request limits and throttling are enabled by default, excessive requests are delayed or rejected with HTTP 429, and rejected responses include a Retry-After header.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.