Nie brakuje usług, które są tak popularne, że znaleziona w nich podatność naraża jednocześnie na szwank miliony, a niekiedy miliardy osób. Prym wiedzie tu Windows, oprogramowanie serwerowe, ale także „wybitny” pod tym względem WordPress. Do tego niechlubnego grona dołączył właśnie Exim, diablo popularny serwer poczty.
Na podatność w Eximie trafiła grupa Qualys. Wbrew niektórym doniesieniom, nie mamy do czynienia z luką pozwalającą na zdalne wykonane kodu, jak można byłoby się sugerować skrótowcem RCE. „C” w tej abrewiaturze odnosi się bowiem do komendy, chodzi więc o podatność umożliwiającą zdalne wydawanie poleceń. Podatność otrzymała sygnaturę CVE-2019-10149 i według według CVSS v.3.0 została sklasyfikowana jako krytyczna.
Podatność można wykorzystać lokalnie – dowolny użytkownik może wydać polecenie z uprawnieniami roota – ale oczywiście to scenariusz zdalny jest najgroźniejszy. Co ciekawe, aby możliwe było zdalne przejęcie kontroli nad serwerem, konieczne jest utrzymywanie z nim połączenia aż przez 7 dni, konieczne jest bowiem przesyłanie jednego bajta exploita co kilka minut, choć eksperci z Qualys nie wykluczają, że istnieje sposób na skrócenie tego czasu.
Zobacz też: Koniec paranoi z hasłami w Windows: Microsoft pogodził się z odkryciami naukowców
Zdalne wykonanie komendy nie jest możliwe na domyślnych konfiguracjach Exima, administrator musi wcześniej zmodyfikować Access Control List poprzez usunięcie verify = recipient
. Wówczas możliwe będzie wydanie poleceń w takim sam sposób, jak to odbywa się scenariuszu lokalnym – poprzez wysłanie na ${run{...}}@localhost (gdzie localhost to jedna z domen local_domains
spreparowanego maila.
Jedna z funkcji zlokalizowana w deliver_message()
dopuszcza przetwarzanie ciągu ${run{<command> <args>}}
jako polecenia wykonania dowolnej komendy z uprawnieniami roota. Tutaj zawodzi także konfiguracja, gdyż automatyczna redukcja uprawnień deliver_drop_privilege
jest w Eximie domyślnie wyłączona. Według Qualys niektóre konfiguracje serwera czynią podatność jeszcze łatwiejszą do wykorzystania.
Zobacz też: SwiftUI – Apple prezentuje nowy framework deklaratywnego projektowania interfejsów
Złe wieści są takie, że w przypadku podatności w Exima na niekorzyść wszystkich działa efekt skali. Szacuje się, że oprogramowanie wykorzystywane jest na ponad połowie (54%) wszystkich serwerów poczty. Według innych źródeł mowa nawet o 5,4 mln instalacji. Mimo że nie jest możliwe zdalne wykonanie kodu, to przejęcie kontroli nad gigantyczną liczbą serwerów poczty i tak naraża na szwank bezpieczeństwo trudnej do wyobrażenia sobie liczby użytkowników.
Dobre wieści są takie, że łatka została już wydana, chociaż… całkowicie przypadkowo. W najnowszej wersji Exima, 4.92, twórcom udało się usunąć podatność, mimo że wówczas nie wiedzieli o jej istnieniu. Wciąż jednak do najnowszej wersji zaktualizowano nieco ponad 4% wszystkich serwerów, na których działa Exim. Administratorom zalecana jest natychmiastowa aktualizacja.