Ez most esett be Full-Disclosure-re a RedTeam Pentesting jóvoltából:
A népszerű Dovecot POP3/IMAP szerver online wiki-jében többek között arról is olvashatunk, hogyan kell megoldani a helyi kézbesítést Eximmel karöltve, ezt a mankót pedig minden bizonnyal sok rendszergazda használta már - a hivatalos dokumentáció csak nem téved!
Nos, ez így is van, a konfig működőképes, csak éppen korábbi változatában távoli kódfuttatásra adott lehetőséget:
dovecot_deliver:
debug_print = "T: Dovecot_deliver for $local_part () $domain"
driver = pipe
# ...
command = /usr/lib/dovecot/deliver -e -k -s \
-f "$sender_address" -a "$original_local_part () $original_domain"
use_shell
A probléma a fenti néhány sorral az, hogy a use_shell beállítás hatására a command paraméter értéke a megfelelő változók behelyettesítése után átadódik a shellnek, a $sender_address-t pedig a támadó (a beérkező e-mail küldője) kontrollálja - bumm, távoli kódfuttatás!
Vajon hány kiszolgáló lehet ehhez hasonlóan konfigurálva? Ha Dovecot-t üzemeltettek, nézzétek át a beállításokat!
Friss (20130504): Az Immunity közölt egy statisztkát a Dovecot+Exim konfigurációk elterjedtségéről.





