CVE-2025-10230 — Iniezione di comandi nel hook WINS di Samba
L'autore non si assume alcuna responsabilità per uso improprio o danni causati da questo strumento.
La ricerca è fornita esclusivamente per scopi didattici e difensivi.
Descrizione
Questo repository contiene un Proof-of-Concept (PoC) per CVE-2025-10230, una vulnerabilità di injection di comandi nel meccanismo WINS hook di Samba.
La falla interessa installazioni di Samba in cui:
wins support = yes è abilitato
- Un comando shell personalizzato è definito in
wins hook = ...
- Il server riceve una richiesta di registrazione NetBIOS malformata
- Il nome NetBIOS viene concatenato direttamente nell'invocazione della shell, consentendo l'esecuzione di codice
Questo PoC dimostra come pacchetti di Registrazione Nome NetBIOS appositamente modificati possano attivare comandi shell arbitrari all'interno di Samba.
CVE-2025-10230 è una vulnerabilità di injection di comandi nell'implementazione del server WINS di Samba, in particolare quando agisce come Domain Controller Active Directory con supporto WINS e parametro 'wins hook' configurato.
- Meccanismo della vulnerabilità: Quando un pacchetto di registrazione WINS viene ricevuto, il nome NetBIOS dal pacchetto viene inserito direttamente in un comando shell eseguito dal processo Samba. Non viene effettuata alcuna validazione o escaping del nome NetBIOS, che può essere lungo fino a 15 caratteri e può includere metacaratteri della shell.
- Vettore d'attacco: Un attaccante invia un pacchetto di registrazione WINS appositamente modificato alla porta UDP 137 contenente un nome NetBIOS con metacaratteri della shell (come ;, |, &, o backtick). Il codice shell iniettato viene eseguito con i privilegi del processo Samba, spesso root.
- Causa principale: Mancanza di sanitizzazione dell'input per il campo nome NetBIOS prima di passarlo a un comando shell (CWE-78: OS Command Injection).
- Configurazione affetta: Solo i server Samba che agiscono come Domain Controller Active Directory con 'wins support = yes' e un parametro 'wins hook' non vuoto in smb.conf sono vulnerabili. La configurazione predefinita non è interessata.
Calcolo CVSSv3
CVSS:3.1: AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H (10.0)
Disponibilità della Patch
Le patch che risolvono questo problema sono state pubblicate su:
https://www.samba.org/samba/security/
Inoltre, sono state rilasciate le versioni Samba 4.23.2, 4.22.5 e 4.21.9 come aggiornamenti di sicurezza per correggere il difetto. Gli amministratori di Samba sono invitati ad aggiornare a queste versioni o ad applicare la patch il prima possibile.
Vettore d'Attacco (Riassunto Tecnico)
- L'attaccante costruisce un pacchetto di registrazione NetBIOS Name Service (NBNS)
- Il nome contiene caratteri payload all'interno del limite consentito ≤15 caratteri
- Samba riceve la richiesta WINS sulla porta 137/UDP
- L'handler
wins hook esegue con input non sanitizzato
- Il payload viene eseguito con i privilegi del demone Samba (spesso root)
Vincoli
- I nomi NetBIOS non possono contenere
< > ;
- La dimensione del payload deve essere ≤ 15 caratteri
- L'iniezione avviene tramite argomenti posizionali
Esempi di comandi eseguiti con successo:
Directory: /etc/samba/smb.conf
[global]
wins support = yes
wins hook = /usr/bin/ls
Utilizzo del PoC
python3 poc/cve-2025-10230.py \
-t <IP_TARGET> \
-n <NOME_PAYLOAD> \
-i <IP_SORGENTE>
Esempio 192.168.0.10 (Server Samba) | bin (Mostra Directory) | 192.168.0.50 (qualsiasi)
python3 poc/cve-2025-10230.py -t 192.168.0.10 -n bin -i 192.168.0.50
Struttura del Repository
CVE-2025-10230/
│
├── poc/
│ └── cve-2025-10230.py
│
├── evidence/
│ └── logs.md
│
├── conf/
│ └── smb.conf
│
└── README.md
Autore & Contatti
- Ricercatore: krakhen.dev
- GitHub: @nehkark
- Email: [email protected]
- Sito web: https://vciso.cloud
- Riferimento: https://github.com/dptsec/CVE-2025-10230/