[Hardening] F-12: Absence of Per-Account or Per-User Source CIDR Allowlist.
- 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
**Description:** CloudStack does not provide a built-in mechanism to restrict per-account or per-user access to a defined set of source IP addresses or CIDR ranges. Any IP address that can reach the management plane can attempt to authenticate as any account.
**Affected Components:** Management UI / API
**Impact:** Without source IP allowlisting, a stolen API key or compromised credential set can be used from any network location globally. There is no network-level control to limit the blast radius of a credential compromise. High-privilege service accounts are particularly at risk, as they can be accessed from unexpected locations without raising any flags.
**Steps to Reproduce:**
- This finding is not directly reproducible since it reflects the absence of a control.
**Recommended Remediation:** Implement a per-account or per-user source CIDR allowlist field in the data model. Requests originating from IPs outside the defined allowlist should be rejected and logged as a security event.
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
L’issue identifie la Management UI/API, le modèle de données du compte ou de l’utilisateur, les vérifications de l’IP source des requêtes et la journalisation des Security-Events, mais ne nomme aucun fichier ni test. Commencez par localiser ces points d’entrée et retracer l’authentification et l’autorisation des requêtes API. La finalisation doit inclure une politique CIDR définie par compte ou par utilisateur, le rejet en dehors de la politique et des Security-Events journalisés, avec une couverture du comportement concerné.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java
- Domaine
- api, authentication, authorization, backend, security
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- Calme
- Clarté
- À clarifier
- Accessibilité débutants
- 30/100