Exim to serwer poczty elektronicznej dla systemów uniksowych rozwijany przez Uniwersytet w Cambridge na licencji GNU (General Public License). Nazwa pochodzi od skrótu „Experimental Internet Mailer”.
W zabezpieczeniach wielu wersji oprogramowania serwerów Exim wykryto krytyczną podatność. Umożliwia ona nieuwierzytelnionym użytkownikom na wykonywanie zdalnych poleceń i sterowanie serwerem. Podatność zdiagnozowano na wersjach oprogramowania MTA Exim od 4.87 do 4.91. Przypisano jej krytyczną rangę oraz kod CVE-2019-10149.
Spowodowana jest niewłaściwą weryfikacją adresów odbiorców w funkcji deliver_message() w klasie deliver.c. Wykorzystanie luki stwarza możliwość wykonywania zdalnych komend. Nie chodzi o wykonanie zdalnego kodu (remote code execution), tylko o arbitralne wykonywanie poleceń za pomocą funkcji execv() z uprawnieniami root. Nie prowadzi to do bezpośredniej ingerencji w pamięć serwera oraz nie dopuszcza możliwości wykonania dowolnej komendy lub skryptu.
Według zespołu badawczego „Qualys” luka w sposób trywialny może być wykorzystywana lokalnie. Jeśli atakujący chcieliby wykorzystać podatność zdalnie, konfiguracja serwera musi różnić się od domyślnej.
Na przykład:
- jeśli wpis z ACL „verify = recipient” został usunięty ręcznie przez administratora, wtedy możliwe jest wykorzystanie exploita zdalnie,
- jeśli serwer Exim został skonfigurowany aby rozpoznawać tagi w lokalnych adresach odbiorców, wtedy atakujący może poprzez RCPT TO wywołać komendę „user+${run{…}}@localhost” (gdzie: user to znana nazwa użytkownika)
- jeśli serwer Exim został skonfigurowany do forwardowania maili do zdalnej domeny, wtedy za pomocą RCPT TO oraz polecenia „${run{…}}@remote.com” atakujący może sterować serwerem (gdzie: remote.com to nazwa zdalnej domeny).
Przejęcie kontroli zdalnej nad serwerem pocztowym Exim, które zawiera domyślną konfigurację też jest możliwe, jednak wymaga to nieprzerwanej komunikacji trwającej około 7 dni i przesyłania bajtu po bajcie instrukcji w interwałach minutowych.
Zgodnie z szybkim wyszukaniem w portalu Shodan, podane na ataki wersje Exima są obecnie uruchomione na około 4 200 000 maszyn! Głównie są to Stany Zjednoczone. Kilka dni temu, gdy wykryto podatność, maszyn było prawie 5 mln, tak więc widzimy, że administratorzy biorą się za aktualizacje.
Exploit otrzymał kod CVE-2019-10149 i został nazwany „The Return of the WIZard” nawiązując do podatności WIZ oraz DEBUG z 1999r, które zezwalały na wykonywanie komend z najwyższymi uprawieniami na podatnych serwerach Sendmail.
Polecamy wszystkim administratorom serwerów Exim szybką aktualizację oprogramowania do najnowszej wersji.