CVE-2017-1000410 in Linuxinformazioni

Riassunto

di VulDB • 20/06/2026

Il kernel Linux nelle versioni 3.3-rc1 e successive è interessato da una vulnerabilità relativa all'elaborazione dei comandi L2CAP in entrata - messaggi ConfigRequest e ConfigResponse. Questa perdita di informazioni (info leak) deriva dall'utilizzo di variabili dello stack non inizializzate che potrebbero essere restituite a un attaccante nel loro stato non inizializzato. Manipolando i flussi di codice precedenti alla gestione di questi messaggi di configurazione, un attaccante può anche ottenere un certo controllo sui dati contenuti nelle variabili dello stack non inizializzate. Ciò potrebbe consentirgli di eludere KASLR e la protezione tramite canary dello stack - poiché sia gli indirizzi puntatori che le canary dello stack potrebbero essere trapelati in questo modo. Combinando questa vulnerabilità (ad esempio) con una precedente vulnerabilità RCE nella parsing della configurazione L2CAP (CVE-2017-1000251), un attaccante potrebbe sfruttare l'RCE contro kernel costruiti con le suddette mitigazioni. Ecco i dettagli specifici di questa vulnerabilità: nelle funzioni `l2cap_parse_conf_rsp` e `l2cap_parse_conf_req`, la seguente variabile è dichiarata senza inizializzazione: `struct l2cap_conf_efs efs;`. Inoltre, durante l'analisi dei parametri di configurazione in ingresso in entrambe le funzioni, il case dello switch per gestire gli elementi EFS potrebbe saltare la chiamata a memcpy che scriverebbe nella variabile `efs`: ... case L2CAP_CONF_EFS: if (olen == sizeof(efs)) memcpy(&efs, (void *)val, olen); ... Il valore di `olen` nel suddetto controllo condizionale è controllato dall'attaccante e, indipendentemente da tale condizione, in entrambe le funzioni la variabile `efs` verrebbe infine aggiunta alla richiesta di configurazione in uscita che viene costruita: `l2cap_add_conf_opt(&ptr, L2CAP_CONF_EFS, sizeof(efs), (unsigned long) &efs);`. Quindi inviando una richiesta o risposta di configurazione contenente un elemento L2CAP_CONF_EFS ma con una lunghezza dell'elemento diversa da `sizeof(efs)` - la chiamata a memcpy sulla variabile non inizializzata `efs` può essere evitata, e la variabile non inizializzata verrebbe restituita all'attaccante (16 byte).

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Prenotare

07/12/2017

Divulgazione

07/12/2017

Moderazione

accettato

CPE

pronto

EPSS

0.04252

KEV

no

Attività

molto basso

Fonti

Do you want to use VulDB in your project?

Use the official API to access entries easily!