Уязвимость найдена в MDaemon SMTP/POP/IMAP server v.6.7.5. Возможно последующие версии также уязвимы.
Уязвимость найдена в сервисе IMAP. При попытке создать почтовый ящик с названием большой длинны происходит переполнение буфера, результатом которого является падение SMTP/POP/IMAP/LDAP(если установлен) сервисов. WorldClient и WebAdmin(если установлен) не падают. Регистры eax и edi перезаписываются переполнившими буфер данными, так что
потецниально возможно выполнение произвольного кода с правами текущего пользователя, либо SYSTEM (если MDaemon установлен как system service).
Ещё хотелось бы отметить некоторые нюансы. Когда мы посылаем "0 CREATE AAAAAAA..[1kb]..AAA", ящик создаётся (!) с названием "AAAAA..[202b]..AAA" и вместе с этим сервер падает. Так вот, второй раз мы точно также атаковать не сможем, потому что сервер будет считать, что ящик "AAAAA...AAA" уже создан и откажется обрабатывать запрос (то есть, не упадёт). Чтобы обойти это, достаточно просто изменить любую букву из первых 202ух. Проще говоря, вместо "AAAAA...AA", можно послать "BAAAAAA...AA" или даже "BBBBBBB...BB" 🙂
P.S. MDaemon не логирует эту атаку. Так что, ip атакующего остаётся скрыт.
Уязвимость обнаружена в MDaemon SMTP/POP/IMAP server v.6.7.5.