Bug per OpenSMTPD che permette l’esecuzione di codice

OpenSMTPD è un demone, originario di OpenBSD, basato sull’omonima libreria per gestire il protocollo SMTP, ovvero quello usato per l’invio e la ricezione delle email.

Recentemente Qualys ha identificato un bug di sicurezza presente da maggio 2018, tracciato con CVE-2020-7247, che permette (potenzialmente) l’esecuzione di codice in remoto come utente root. Il rapporto pubblicato da Qualys comprende anche un esempio piuttosto chiaro.

Questa libreria, infatti, alla ricezione di una email lancia dei comandi via shell per poter depositare la mail nella casella del corretto destinatario. Una mail malformata appositamente, e che in particolare contenga dei comandi al posto del nome del destinatario, è in grado di eseguire quei comandi.

Inoltre, sebbene il campo del destinatario sia piuttosto piccolo (64 byte, ovvero caratteri), con una tecnica particolare è possibile eseguire codice presente nel corpo della mail, con molto più spazio a disposizione.

Ovviamente la libreria, prima di accettare una mail e depositarla, svolge dei controlli, ma proprio uno di questi era errato permettendo la ricezione – e il processamento – di email senza dominio.

Ricordiamo che un eventuale demone SMTP, sia per la porta privilegiata usata (TCP 25), sia per dover lavorare ai file di tutti gli utenti di sistema, gira necessariamente come utente root, rendendo la vulnerabilità piuttosto critica.

Fin qui cattive notizie, quindi. Ma un po’ di fortuna ci viene in soccorso.
Innanzitutto questo demone è poco diffuso, visto che in genere chi deve gestire un server SMTP (in ricezione) si affida a programmi più complessi e completi, come Posftix.

Ma anche se foste tra i pochi ad usare OpenSMTPD sappiate che probabilmente la vostra versione è sicura perché più vecchia di quella bacata. Questo vale per tutte le distribuzioni stabili.

Se poi invece vi piace usare le ultimissime versioni è il momento di aggiornare: la fix è già stata rilasciata.

Insomma, come al solito: calma, sangue freddo e… update update update!

Ho coltivato la mia passione per l'informatica fin da bambino, coi primi programmi BASIC. In età adulta mi sono avvicinato a Linux ed alla programmazione C, per poi interessarmi di reti. Infine, il mio hobby è diventato anche il mio lavoro.
Per me il modo migliore di imparare è fare, e per questo devo utilizzare le tecnologie che ritengo interessanti; a questo scopo, il mondo opensource offre gli strumenti perfetti.

Tags: ,