apache / apache/cloudstack

[Hardening] F-13: Weak Default Password and Database Encryption Key.

Aperta
#13,341 6 commenti 0 reazioni 0 assegnatari Vedi su GitHub
component:management-server type:enhancement
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:** CloudStack ships with a default administrative password and database encryption key, both set to the string "password". Neither value is randomized at install time, and the administrator is not prompted to change them during setup. Note that the database encryption key cannot be changed afterwards.

**Affected Components:** Management

**Impact:** An attacker with knowledge of the default credentials, which are publicly documented, can authenticate to the CloudStack Management UI without any prior reconnaissance or effort. Additionally, if the database encryption key is not changed, an attacker who gains read access to the database (e.g., via SQL injection, a misconfigured backup, or direct server access) can decrypt all protected fields, including API secret keys, passwords, and other credentials, using the known default key.

**Steps to Reproduce:**
- Deploy a fresh CloudStack instance following the official documentation.
- Attempt to log in using the username `admin` and the password `password`.
- Observe that login succeeds without any prompt to change the default password.
- Separately, inspect the database encryption key on the management server:
- $ cat /etc/cloudstack/management/key
- Observe that the encryption key is set to the default value `password`.

**Recommended Remediation:** Generate a unique password and database encryption key from a reliable source of entropy during installation (before the system becomes operational). Neither value should have a usable default.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia con il flusso di installazione di CloudStack Management, l'accesso alla management UI e la chiave del database in /etc/cloudstack/management/key. Traccia dove vengono create e utilizzate la password amministrativa predefinita e la chiave di crittografia. Il lavoro è completato quando entrambi i valori vengono generati da entropia affidabile prima dell'operatività, non esiste alcun valore predefinito utilizzabile e il comportamento dell'installazione è coperto da test.

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

Valutazione

Stack tecnologico
java
Ambito
authentication, cloud, databases, security
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Attiva
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.