The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Удалённая уязвимость в IPv6-стеке OpenBSD

25.03.2022 15:27

В фоновом процессе slaacd, отвечающем в OpenBSD за автоконфигурацию адресов IPv6 (IPv6 Stateless Address Autoconfiguration, RFC 4862), выявлена уязвимость, приводящая к переполнению буфера при получении специально оформленного анонса маршрутизатора IPv6 (RA, Router Advertisement).

Изначально функциональность автонастройки адресов IPv6 была реализована на уровне ядра, но начиная с OpenBSD 6.2 была вынесена в отдельный непривилегированный процесс slaacd. Указанный процесс отвечает за отправку сообщений RS (Router Solicitation) и разбора ответов RA (Router Advertisement) с информацией о маршрутизаторе и параметрах сетевого подключения.

В феврале в slaacd была исправлена ошибка, приводящая к аварийному завершению в случае указания 7 серверов в списке RDNSS (Recursive DNS Servers). Подобная оплошность привлекла внимание независимых исследователей, которые попытались изучить код slaacd на предмет других ошибок, возникающих при разборе полей в сообщениях RA. Анализ показал, что в коде имеется ещё одна проблема, проявляющаяся при обработке поля DNSSL (DNS Search List), включающего списков доменных имён и шаблонов хостов для DNS.

Каждое имя в списке DNSSL кодируется с использованием разделителя с нулевым кодом и промежуточных однобайтовых меток, определяющих размер следом идущих данных. Уязвимость вызвана тем, что в коде разбора списка поле с размером копируется в переменную со знаковым типом integer ("len = data[pos]"). Соответственно, в случае указания в поле значения с выставленным старшим битом, это значение будет воспринято в условном операторе как отрицательное число и проверка на максимальный допустимый размер ("if (len > 63 || len + pos + 1 > datalen) {") не сработает, что приведёт к выполнению вызова memcpy с параметром, размер копируемых данных при котором превышает размер буфера.



  1. Главная ссылка к новости (https://blog.quarkslab.com/hea...)
  2. OpenNews: Удалённая уязимость в ядре NetBSD, эксплуатируемая из локальной сети
  3. OpenNews: Уязвимости в IPv6-стеке FreeBSD
  4. OpenNews: Уязвимости в Dnsmasq, позволяющие удалённо выполнить код атакующего
  5. OpenNews: Уязвимости в OpenBSD, позволяющие повысить привилегии и обойти аутентификацию в smtpd, ldapd и radiusd
  6. OpenNews: Удалённые уязвимости в IPv6-стеках OpenBSD и FreeBSD
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/56911-slaacd
Ключевые слова: slaacd, ipv6, openbsd
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (69) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, protonesso (?), 15:35, 25/03/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    Вот они, удалённые уязвимости за бог знает сколько лет
     
     
  • 2.16, Аноним (16), 17:33, 25/03/2022 [^] [^^] [^^^] [ответить]  
  • –5 +/
    да уж, вот тебе и безопасТная ос.
     
     
  • 3.48, Аноним (-), 21:39, 25/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > переменную со знаковым типом integer

    любители c89 и олдскула, вы перестанете уже пихать е...й signed? такое вот, налетев на неожиданный ввод - классика жанра не любящих c99 где типы пакета можно 1 в 1 маппить на типы сей, избегая такой вот идотии

    и вообще до того как ядра на си прогать прочтите хотябы CERTовский стандарт кодинга

     
     
  • 4.61, pavlinux (ok), 02:09, 26/03/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Завязывай с теорией и "CERTовским стандартом кодинга".
     
     
  • 5.69, Аноним (-), 13:31, 26/03/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Завязывай с теорией и "CERTовским стандартом кодинга".

    п-то думать что самый умный, игноря чужой опыт? "теория" основана на практике - типовой фэйл c89'х олдскулеров, штук 5 прог и либ знаю с такими траблами, хорошо заходит в обработке пакетов, чтении форматов файлов и проч

     
  • 2.27, Аноним (-), 18:31, 25/03/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Достойный ответ линуксу, у того лишь окончание памяти
     
     
  • 3.39, Аноним (-), 19:33, 25/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Достойный ответ линуксу, у того лишь окончание памяти

    Достойное опеннетных лапчатых, очередное сравнение опы с пальцем (т.е. "только ядра" с юзеспейсной программой) ...

     
     
  • 4.46, Аноним (-), 21:29, 25/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Переполнение похуже окончания памяти так то
     
     
  • 5.49, Аноним (-), 22:10, 25/03/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Переполнение похуже окончания памяти так то

    Где ты видишь переполнение в ядре опенка?
    И почему ты ограничиваешься окончанием памяти, если только в этом месяце было:
    [08.03.2022] Уязвимость в ядре Linux, позволяющая исказить файлы, доступные только для чтения
    [06.03.2022] Уязвимость в cgroups v1, позволяющая выйти из изолированного контейнера

    И еще куча уязвимостей
    https://www.cvedetails.com/vulnerability-list/vendor_id-23/year-2022/Debian.ht

     
     
  • 6.72, Аноним (72), 21:12, 26/03/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Оно в юзермоде, зато хоть какието перспективы для запуска кода в отличие от окончания памяти, которое только ссыт мышке в норку
     
  • 2.38, crypt (ok), 19:26, 25/03/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    а могли бы просто писать на раст...
     
     
  • 3.43, Аноним (43), 20:50, 25/03/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Мозилла уже пишет, приходи потом, расскажешь, что у неё получится в итоге, а мы послушаем.
     
     
  • 4.44, Аноним (44), 20:54, 25/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Мозилла уже пишет, приходи потом, расскажешь, что у неё получится в итоге, а мы послушаем.

    Расскажи поподробнее, что в итоге у Мозиллы получилось на плюсах, а мы послушаем.

     
     
  • 5.53, Аноним (53), 23:03, 25/03/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Отлично, никаких утечек памяти, никакого обращения к освободившейся памяти. На С++ пишут суровые мужики, олдскулы, которым никакие кодоанализаторские подачки не нужны.
     
     
  • 6.56, Аноним (43), 23:42, 25/03/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Даже не знаю, кто из вас жырнее.
     
     
  • 7.57, Аноним (-), 00:03, 26/03/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Даже не знаю, кто из вас жырнее.

    кодер из netbsd показавший что в сабже из виртуалки можно в кернелмод хоста, такой задницы себе даже винды не позволяют

     
     
  • 8.59, Аноним (-), 00:53, 26/03/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    - Ответы абсолютно не в тему и удивительно избирательное восприятие - 294й опять... большой текст свёрнут, показать
     
  • 8.67, Аноним (43), 12:07, 26/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Эту ошибку ещё не пофиксили ... текст свёрнут, показать
     
  • 5.70, Michael Shigorin (ok), 16:05, 26/03/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    На плюсах у мозиллы был браузер, если что.
     
     
  • 6.71, Аноним (-), 19:37, 26/03/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > На плюсах у мозиллы был браузер, если что.

    И? Куда-то делся или кто-то меша(л|et) писать дальше?
    Presto тоже на плюсах был, если что, как впрочем и Trident c EdgeHTML.


     
     
  • 7.73, Аноним (43), 03:07, 27/03/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Сам можешь оценить, во что он превратился.
     
     
  • 8.74, Аноним (-), 04:25, 27/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Судя по тому, во что превратились Presto и Тридент - только раст и спас мозиллу ... текст свёрнут, показать
     
  • 5.77, Пользователь чебурнета (?), 03:02, 30/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Говнокодеры пишут говнокод из вредительских соображений, занимаясь саботажем в отношении собственного же продукта. А виноват, конечно, C++, да-да, ага. И Страуструп лично.
     
  • 3.62, псевдонимус (?), 04:47, 26/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну тогда они бы просто ещё не дописали свою ось)
     
     
  • 4.68, Аноним (43), 12:09, 26/03/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Главное - начать и заспамить все рассылки, завести репозиторий и делать коммиты.
     

  • 1.2, Аноним (2), 15:35, 25/03/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Стоит раз куда-то плюнуть, как сразу в дырку попадёшь. Вот такая супер секурная ОС, ко-ко-ко.
     
     
  • 2.11, Аноним (11), 16:34, 25/03/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Безопасную ось от Касперсокого поставь. Мы над тобой потом поржем.  
     
     
  • 3.25, Kusb (?), 18:13, 25/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Кроме очевидных рисков - технически она хороша? Описание интересное.
     
     
  • 4.36, Бывалый смузихлёб (?), 19:06, 25/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    У неё цель вроде иная - встройщина а не десктоп
     
  • 4.54, Аноним (53), 23:08, 25/03/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Dr.Web рвет всех.
    Есть cd-live.
     
  • 2.13, Аноним (44), 16:40, 25/03/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >>  вынесена в отдельный _непривилегированный_ процесс slaacd
    > Стоит опеннетному анониму раз в сторону BSD пyкнуть, как сразу в лужу попадает. Вот такой супер аноним, ко-ко-ко.

    И то ли дело
    https://www.opennet.me/opennews/art.shtml?num=56865
    > Удалённая DoS-уязвимость в _ядре_ Linux, эксплуатируемая через отправку пакетов ICMPv6
    > 16.03.2022 13:03

     
     
  • 3.19, Аноним (16), 17:40, 25/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    "...чем в Америке!"
     
     
  • 4.22, Аноним (-), 18:01, 25/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > "...чем в Америке!"

    Чем у опеннетных клоунов, который предпочитают не замечать "нюансы" вида "_непривилегированный_ процесс" вместо "ядро" ...

     
     
  • 5.28, Аноним (-), 18:33, 25/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Там только память кончалась а тут буфер переполняется
     
     
  • 6.40, Аноним (44), 19:47, 25/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Там только память кончалась а тут буфер переполняется

    Там - ядро, тут - юзерспейсная программа. Там - для всех, тут - для маршрутизатора.


     
     
  • 7.47, Аноним (-), 21:30, 25/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    1) функкциональность в любом случае про%^ется
    2) в случае переполнения атакующий может попытаться выполнить код что хуже
     
     
  • 8.50, Аноним (-), 22:28, 25/03/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну давай сравним другой палец с другой опопй https www cvedetails com vendor... текст свёрнут, показать
     
     
  • 9.51, Аноним (51), 22:44, 25/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Замечательно, сравнили ядро и несколько утилит с практически всеми существующими... текст свёрнут, показать
     
     
  • 10.52, Аноним (44), 23:03, 25/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Замечательный образец двойных стандартов опеннетной оналитики Но увы, не пом... текст свёрнут, показать
     
  • 9.58, Аноним (58), 00:20, 26/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    В Debian кода больше, десятки тысяч пакетов Половиной этого вы и в опенке польз... текст свёрнут, показать
     
     
  • 10.60, Аноним (44), 01:05, 26/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Это исключительно проблемы причем, самосозданные опеннетовских оналитеков А т... текст свёрнут, показать
     
  • 3.63, псевдонимус (?), 04:49, 26/03/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    С корявым ипв6 вечные проблемы. Всегда отключаю.
     
     
     
    Часть нити удалена модератором

  • 5.83, Аноним (83), 04:47, 30/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Отключай всё непонятное, юзай дефолтные настройки, не используй VPN, сиди на попе
    > ровно, голосуй за П****на.

    прикольно. я только так и делаю. а подвох в чём?

     

  • 1.3, Жироватт (ok), 15:36, 25/03/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Це зрада или перемога? Уязвимость в низкоуровневом представлении данных!
     
     
  • 2.7, ШВИМ (?), 15:55, 25/03/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Це ганьба.
     

  • 1.4, Аноним (2), 15:36, 25/03/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    Сдаётся мне, что друшлаг эта опенбесде похлеще всех остальных.
     
     
  • 2.15, Аноним (15), 17:30, 25/03/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Сдаётся мне что ты не прав
     
  • 2.64, mikhailnov (ok), 07:27, 26/03/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Эту уязвимость можно эксплуатировать? Похоже, что никто не придумал, как. В статье-источнике в самом конце про это написано.
     
     
  • 3.78, Пользователь чебурнета (?), 03:09, 30/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Опеннетные кулхацкеры придумают и выложат пример работающего кода. (ке-ке)
     

  • 1.5, Аноним (5), 15:46, 25/03/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Ожидаемо.
     
  • 1.8, Аноним (83), 16:07, 25/03/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Первым делом всегда делаю rcctl disable slaacd
     
     
  • 2.33, Anonim (??), 18:58, 25/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Круто! Только теперь автоконфигурирование адресов не работает
     
     
  • 3.42, Массоны Рептилоиды (?), 20:29, 25/03/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    rcctl enable slaacd
     

  • 1.9, Аноним (-), 16:30, 25/03/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Я верю в Тео!
     
     
  • 2.45, васёк (?), 21:25, 25/03/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    а я в перестройку!
     
     
  • 3.76, В.Ж. (?), 09:19, 29/03/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А также в Магомета и Аллаха, и Иисуса.
     
  • 2.55, Аноним (43), 23:38, 25/03/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Передай ему, чтобы бороду отрастил, тогда поинтереснее разработка пойдёт.
     
     
  • 3.80, Пользователь чебурнета (?), 03:14, 30/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ты проверял?
     

  • 1.10, Аноним (11), 16:34, 25/03/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    *Ссылка по интервью разработчика, который подтвердил что вставлял трояны в OpenBSD по заказу АНБ*
     
     
  • 2.17, Аноним (15), 17:36, 25/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Так вот она: https://www.opennet.me/opennews/art.shtml?num=28998

    > Лидер проекта OpenBSD Тэо де Раадт заявил, что компания NETSEC, вероятно, действительно имела контракт на внедрение бекдора, но код бэкдора, по его мнению, не попал в кодовую базу OpenBSD.

    Упс. Похоже ничего не получилось?

     
     
  • 3.41, Аноним (2), 20:02, 25/03/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Упс. Похоже ничего не получилось?

    Похоже, начальник в доле. А что? Не за спасибо (которой и не дождёшься) проектом заниматься.

     
  • 3.75, Аноним (75), 08:34, 28/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >> ...по его мнению...
    > Упс. Похоже ничего не получилось?

    Так что может и получилось.

     

  • 1.65, Аноним (65), 09:11, 26/03/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Что привелегированное "инвестируемое "рога и копыта" дает сбой ?
     
  • 1.66, Аноним (66), 10:15, 26/03/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    IPv6 полнное нинужно, в отличии от OpenBSD
     
  • 1.82, Аноним (83), 04:46, 30/03/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > В фоновом процессе slaacd, отвечающем в OpenBSD за автоконфигурацию адресов IPv6 (IPv6
    > Stateless Address Autoconfiguration, RFC 4862), выявлена уязвимость, приводящая к переполнению
    > буфера при получении специально оформленного анонса маршрутизатора IPv6 (RA, Router Advertisement)...

    хотел сейчас настроить ipv6 в openbsd

    ниасилил

    ну и не надо

     
     
  • 2.85, Пользователь чебурнета (?), 07:07, 30/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > хотел сейчас настроить ipv6 в openbsd
    > ниасилил
    > ну и не надо

    А у тебя провайдер вообще его поддерживает? Может ты его на роутере включить забыл?

     
     
  • 3.87, Аноним (83), 08:26, 30/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >> хотел сейчас настроить ipv6 в openbsd
    >> ниасилил
    >> ну и не надо
    > А у тебя провайдер вообще его поддерживает? Может ты его на роутере
    > включить забыл?

    поддерживают. в настройках есть и адрес (даже два) мой, и адрес роутера. адрес роутера как только не вводил, вводить не даёт

     
     
  • 4.88, Пользователь чебурнета (?), 09:22, 30/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > поддерживают. в настройках есть и адрес (даже два) мой, и адрес роутера.
    > адрес роутера как только не вводил, вводить не даёт

    У тебя на интерфейсе должно быть 2 локальных адреса: один нормальный и один т.н. "link-local" fe80::XXXX, где младшая половина (64 бита) должны совпадать с твоим нормальным адресом. Адрес шлюза нужно тоже прописывать link-local (пока не до конца сам понимаю, почему).

    Если интерфейс активен, IPv6 поддерживается, но отсутствует подключение, то на нём будет один link-local-адрес вида fe8::XXXX.

    Понимаю, что освоение IPv6 это боль, но в связи не-буду-говорить-какими текущими событиями откладывать его освоение больше нельзя. "Недоблокированные" Рачком-Позором VPN-провайдеры по-прежнему частично доступны, но только по IPv6. По этой же причине с украинской стороны остаётся свободно доступен "запрещённый" Яндекс при наличии IPv6. А "Вконтакте" -- только через VPN/Proxy.

    И да, работу с фаерволлом тоже придётся осваивать, ведь теперь все железки в сеть будут "белым" адресом смотреть.

     
     
  • 5.89, Аноним (83), 09:47, 30/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    gt оверквотинг удален Дома мне это не нужно, при желании ipv6 в MTS идёт из-ко... большой текст свёрнут, показать
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру