Systemd, il sistema di init utilizzato in diverse distro Linux tra cui anche Debian, potrebbe essere affetto da una vulnerabilità in grado di spianare la strada ad attacchi DNS; ad identificare il problema sarebbe stato Chris Coulson, software engineer presso Canonical, l’azienda che si occupa dello sviluppo e della distribuzione di Ubuntu.
A livello pratico, sfruttando la falla un server DNS appositamente settato da un utente malevolo potrebbe approfittare di un malfunzionamento nell’allocazione di un buffer con lo scopo di scrivere dati arbitrari all’interno della memoria. Fatto questo sarebbe possibile eseguire script dannosi grazie a livelli di autorizzazione elevati ottenuti indebitamente.
Non si tratterebbe di una vulnerabilità recente, infatti sempre secondo Coulson essa sarebbe presente in systemd a livello di systemd-resolved già dal 2015, con la versione 223. Non essendo stato eliminato, il problema sarebbe stato ereditato dalle release successive fino alla più recente 233 rilasciata lo scorso marzo.
La dinamica di un’incursione prevede il coinvolgimento della funzione dns_packet_new di systemd-resolved, quest’ultima può essere attaccata attraverso una risposta DNS generando l’allocazione di un buffer di dimensioni inferiori rispetto al previsto. Ciò provoca un errore nei calcoli delle lunghezze delle aree di memoria facilitando l’invio di istruzioni arbitrarie.
Fortunatamente sarebbe già disponibile una patch in grado di correggere la falla rilevata. Se ne consiglia l’installazione a tutti gli utenti di distribuzioni Linux che adottano systemd, come per esempio Ubuntu 16.04, Ubuntu 17.04 e Debian nelle versioni "Sid", "Stretch" e "Buster". Si ricorda inoltre che in "Stretch" systemd-resolved è disattivato come impostazione predefinita.