[Hardening] F-14: Fail to Ensure Request Limits and/or Throttling by Default.
- 主要言語
- Java
- スター
- 3.1k
- フォーク
- 1.4k
- 平均マージ
- 6日 19時間
- マージ済み PR(30日)
- 32
説明
### The required feature described as a wish
**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!)
コントリビューションガイド
調査の方向性
CloudStack Management API から始め、高い頻度で API エンドポイントにリクエストを送信して問題を再現します。リクエスト制限とスロットリングがデフォルトで有効になり、過剰なリクエストが遅延されるか HTTP 429 で拒否され、拒否されたレスポンスに Retry-After ヘッダーが含まれる状態になれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java
- 領域
- api, security
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 静か
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 30/100