The OpenNET Project / Index page

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

Уязвимость в strongSwan IPsec, допускающая удалённое выполнение кода

03.03.2023 10:07

Доступен выпуск strongSwan 5.9.10, свободного пакета для создания VPN-соединений на базе протокола IPSec, используемого в Linux, Android, FreeBSD и macOS. В новой версии устранена опасная уязвимость (CVE-2023-26463), которая может быть использована для обхода аутентификации, но потенциально также может привести к выполнению кода атакующего на стороне сервера или клиента. Проблема проявляется при проверке специально оформленных сертификатов в методах аутентификации EAP (Extensible Authentication Protocol) на базе TLS.

Уязвимость вызвана тем, что TLS-обработчик некорректно принимает открытые ключи из сертификата соседнего узла (peer), считая их заслуживающими доверия, даже если сертификат не может быть успешно верифицирован. В частности, при вызове функции tls_find_public_key(), для определения заслуживающих доверия сертификатов, используется выборка на основе типа открытого ключа. Проблема в том, что переменная, используемая для определения типа ключа для операции поиска, выставляется в любом случае, даже если сертификат не заслуживает доверия.

Более того, через манипуляцию с ключом можно добиться уменьшения счётчика ссылок (если сертификат не заслуживает доверия, ссылка на объект освобождается после определения типа ключа) и освобождения памяти под ещё используемый объект с ключом. Рассмотренная недоработка не исключает создание эксплоитов для организации утечки информации из памяти и выполнения своего кода.

Атака на сервер осуществляется через отправку клиентом самоподписанного сертификата для аутентификации клиента с использованием методов EAP-TLS, EAP-TTLS, EAP-PEAP и EAP-TNC. Атака на клиента может быть совершена через возвращение сервером специально оформленного сертификата. Узвимость проявляется в выпусках strongSwan 5.9.8 и 5.9.9. Публикацию обновлений пакетов в дистрибутивах можно проследить на страницах: Debian, Ubuntu, Gentoo, RHEL, SUSE, Arch, FreeBSD, NetBSD.

  1. Главная ссылка к новости (https://www.strongswan.org/blo...)
  2. OpenNews: Выпуск strongSwan 5.4.0, открытой реализации IPsec
  3. OpenNews: В IPSec пакете strongSwan обнаружена серьёзная уязвимость
  4. OpenNews: Уязвимости в strongSwan, Wireshark, OpenLDAP, Apache Struts, Cisco и D-Link
  5. OpenNews: Новая атака SLOTH, затрагивающая протоколы TLS 1.2, SSH и IKE/IPsec с MD5 и SHA-1
  6. OpenNews: В ядре Linux выявлены эксплуатируемые уязвимости в nf_tables, watch_queue и IPsec
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/58736-strongswan
Ключевые слова: strongswan, ipsec
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (69) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, InuYasha (??), 10:40, 03/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    А вот это уже - довольно серьёзно. Пойду смотреть патчи на OpenWRT.
     
     
  • 2.27, Аноним (27), 12:55, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вот только где их смотреть? В оф. репе не заметно.
     
  • 2.44, пох. (?), 16:11, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я бы на твоем месте пошел и просто снес с него шитшвайн. или как там оно называетсо.

    (Вот твой недороутер под кроватью - вполне себе место для какого-нибудь воспетого местными  фанатиками wireguard. Поскольку рептилоиды за тобой не наблюдают, товарищмайор тоже вряд ли детектит без явного целеуказания, и  хостов у тебя явно не миллионы а один твой несчастный мобильник. И мест куда может засосать серьезную уязвимость у него гораздо меньше. А ipsec оставь инженерам или корпоративным админам. Они знают, зачем.)

     
     
  • 3.52, Аноним (52), 18:35, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Это точно, крайне смешат пузи-админы с ипсеками на говнокоробках. Патчи он пойдёт посмотрит, ути какой.
     
     
  • 4.78, пох. (?), 23:21, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    (на всяк случай - это не тебе, это ответ на удаленное взбесившимися цензорами)
    как раз разница ваергада и опенчегонельзяназывать в том что первый на недороутере работает так же или даже более эффективно чем ipsec - меньше контекст-свитчей, проще алгоритмы, в целом оптимизирован лучше в ущерб универсальности, а второй может безбожно тормозить или вообще терять пакеты.

    А ентерпрайз фичи топикстартеру явно без надобности, вряд ли у него в ike что-то кроме примитивного psk.

     

  • 1.3, Аноним (3), 10:42, 03/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    ну вот, а говорили , что PSK несекурно :-D
     
  • 1.4, Анони (?), 10:45, 03/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вот те раз... Strongswan не такой уж и strong оказывается...
     
     
  • 2.5, ryoken (ok), 11:03, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    "Shit happens" :D
     
  • 2.51, Аноним (52), 18:33, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ShitSwan
     
  • 2.60, Аноним (60), 21:58, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Swongswan )
     

  • 1.6, Аноним (6), 11:08, 03/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Никогда такого не было и опять выполнение произвольного кода.
    Почему вместо веб-ма...ак они не наймут настоящих экспертов по Си с опеннет?
     
     
  • 2.7, Аноним (3), 11:14, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    по расту же, сначала на расте безопасно чтоб написали, а потом на c переписали чтоб быстро.
     
     
  • 3.11, Аноним (11), 12:26, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Надо нанимать сразу на Карбоне. Того и глядишь к выходу языка кого-нибудь найдут.
     
  • 3.53, Аноним (52), 18:38, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В расте ZCA, к чему ты тут быстро приплел?
     

  • 1.8, Самый Лучший Гусь (?), 11:17, 03/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    С in IpSec stands for Секурити
     
     
  • 2.9, Аноним (9), 11:42, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    C in CVE stands for C language
     
  • 2.10, Аноним (10), 12:19, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Главное продолжать верить, что УБ не существует и святой компилятор раста от всего спасет
    https://github.com/rust-lang/rust/issues/108453
     
     
  • 3.12, Аноним (11), 12:26, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Мне кажется ты не понимаешь того что вера не основывается на фактах.  
     
     
  • 4.13, Аноним (10), 12:30, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Очень сомнительное утверждение.
     
  • 4.84, Michael Shigorin (ok), 22:31, 06/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вы сами-то в это верите?
     
  • 3.18, Аноним (18), 12:39, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И где здесь уб? Логический баг, скоро поправят. От них компилятор не защищает и растаманам это известно, в отличии от набрасывателей.
     
     
  • 4.20, Аноним (10), 12:44, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >И где здесь уб?
    >undefined behavior after calling VecDeque::shrink_to
    >Логический баг, скоро поправят.

    Ну так и на Си - это логический баг, просто программист не ту функцию вызвал, перепутал знаки или что-то забыл. Да и исправляют всегда.

     
     
  • 5.22, Анонимусс (?), 12:47, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Так и с Си не проблема что знак перепутал или переменная переполнилась.
    А то что потом записал за пределы массива, RCE, получение рута, кровь, кишки, ...
     
     
  • 6.25, Аноним (10), 12:53, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Такое и на расте можно. Через специально оформленные пакеты в cargo можно было системные файлы изменять.
     
     
  • 7.34, bOOster (ok), 14:09, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Когда это ржавое добро в повсеместную эксплуатацию пойдет - мы такие залипухи увидим.....
     
     
  • 8.39, Аноним (39), 15:38, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так оно и не пойдет никуда залипухи мы уже отлично видим ... текст свёрнут, показать
     
  • 7.63, Аноним (63), 22:52, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Такое и на расте можно. Через специально оформленные пакеты в cargo

    Эк ты поделил на 0.
    Ну давай тогда все дыры в сборочных скриптах и инсталлерах сишных проектов к сишко-CVE приплюсуй
    https://www.opennet.ru/opennews/art.shtml?num=42354

     
  • 5.41, Аноним (18), 16:04, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Видимо такой же плюсовик зарепортил и назвал неправильно. Поведение было defined, но невалидное. Попробуйте ещё раз осознать разницу.
     
  • 4.23, Анонн (?), 12:48, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Уже поправили. 4 days ago
    https://github.com/rust-lang/rust/pull/108475
     
     
  • 5.26, Tron is Whistling (?), 12:54, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +6 +/
    assert_eq!(deque.into_iter().collect::<Vec<_>>(), vec![9, 10, 1, 2, 3]);

    Мои глазья вытекают от этого счастья любителей символов.

     
     
  • 6.43, Аноним (18), 16:10, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Довольно быстро к ним привыкаешь. Можно было бы расписать в 3 строки, но сэкономили на компактной форме collect, для которого надо подсказывать тип контейнера(тут вектор чего угодно. Символ '_' много где в языке обозначает сматчить со всем). А восклицательный знак просто маркер макроса
     
  • 6.45, Аноним (45), 16:15, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Хз, все читаемо. Двустороннюю очередь собирают в целочисленный вектор и сравнивают ассертом с другим целочисленным вектором. Затыки с непривычки могут быть при чтении lifetime-ов, но привыкаешь быстро. Какая-нибудь Scala читается гораздо хуже.
     
     
  • 7.57, penetrator (?), 20:07, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    конечно всё читаемо, вопрос только за сколько времени и в какой трезвозсти надо быть, и одна такая строчка или весь код
     
  • 7.58, Sw00p aka Jerom (?), 21:12, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >Хз, все читаемо.

    асм ваще прелесть :)

     
  • 6.46, freecoder (ok), 16:28, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Можно было проще написать:


    assert_eq!(Vec::from(deque), vec![9, 10, 1, 2, 3]);



     
     
  • 7.48, Аноним (45), 16:50, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    растовики слишком любят турборыбу
     
  • 6.56, Аноним (52), 18:56, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Какая разница, как буковки выглядят? Ты что, гуманитарий?
     
     
  • 7.81, Tron is Whistling (?), 11:05, 05/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Если тебе на один раз написать - разницы никакой.
    А если это после тебя ещё кому-то читать и поддерживать...
     
  • 7.85, Michael Shigorin (ok), 22:34, 06/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Если что-то выглядит через задницу, оно и работает обычно так же.
     
  • 3.62, Аноним (63), 22:45, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Главное продолжать верить, что УБ не существует и святой компилятор раста от всего спасет
    > https://github.com/rust-lang/rust/issues/108453

    Главное, продолжай верить что ты действительно нашел "УБ" и приводить эту ссылку и далее.


     

  • 1.17, не придумал (?), 12:37, 03/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Другое дело существующий проект rsrongestSwing, который все мешают пилить вообще не имеет уязвимостей
     
  • 1.19, Аноним (19), 12:40, 03/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Давно хотел спросить, а зачем относительно недавно авторы начали публиковать в новостях откровенную ложь про "публикацию обновлений можно отследить по ссылкам..." и дают ссылки на несуществующие страницы? Зачем это нужно? Качество новостей совсем скатилось в днище.
     
     
  • 2.37, Аноним (37), 15:15, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Конкретнее, какие именно ссылки не работают ?
    У меня Arch не открылся
     
  • 2.40, Аноним (40), 16:01, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Если страницы нет, значит обновление ещё не выпущено. Для этого и ставят ссылки, чтобы понять когда появится обновление.
     

  • 1.21, Аноним (9), 12:45, 03/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > buster (security) vulnerable
    > bullseye (security), bullseye vulnerable

    Debian, security, vulnerable
    Haha, classic!

     
     
  • 2.31, Аноньимъ (ok), 13:35, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Зато стабильно!
     
  • 2.61, Аноним (60), 22:17, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    bullseye (security), bullseye 5.9.1-1+deb11u3 fixed
    проверено 3.03.2023 22:16
     

  • 1.32, Аноним (32), 13:49, 03/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Только в openbsd ipsec настраивается легко и просто. В остальных OS-ях это какая-то наркомания.
     
     
  • 2.35, HyC (?), 14:17, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Лично у меня никаких трудностей когда мне подгорело сделать VPN во время карантина со StrongSwan не возникало, и кроме манов я ничего не курил.
     
  • 2.42, пох. (?), 16:07, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    С чем ты, болезный, в винде не справился?

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

    К циске вот нормально подключается.

     
     
  • 3.47, Аноним (32), 16:42, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >А вот подключить ее к тому что ты там легко и просто наг-някал в своей флопнибсд - ты не сможешь. Ну так и незачем.

    И незачем, не юзаю и винду, ни любую из *bsd. Просто к слову пришлось про простоту настройки ipsec в openbsd, относительно всего другого.

     
     
  • 4.50, пох. (?), 17:16, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    а, ну логичненько, чё - если им не пользоваться то настраивать очень просто.

    (Если что - про винду это я не прикалывался. Там действительно просто - если на psk. Реально в пяток очевидных кликов, в два десятка - если чтоб один раз и на всю сеть. С сертификатами да, неприятно, статику не умеет, но в целом-то ей - и не надо.)

     
  • 2.55, Аноним (55), 18:55, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    IPsec вообще везде настраивается легко и просто, где он есть. От цисок и жуниперов до линуксов и виндов. Сложности с ним совершенно в другом месте, и к операционным системам они никак не относятся.
     
     
  • 3.64, пох. (?), 22:59, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    ага, вообще как два пальца. Давай ты мне решишь задачку из телефонного (без консоли) собеседования на цискоинженера - две коробки, ипсек традиционным криптомапом на интерфейсе, тунель, ничего необычного, возникает матчащийся мапом пакет, ике проходит, дальше внезапно падает. И так по кругу. Что надо проверять первым делом?

    ccnp security валились на этом вопросе только пух летел. Ребята без сертификатов но с опытом реальной работы отвечают не задумываясь.

    Ну ах...еть очевидно ведь. (нет)

     
     
  • 4.65, Еще один Аноним (?), 23:53, 03/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Когда не знаешь что проверять, читай логи и познаешь дзен.
     
     
  • 5.69, пох. (?), 09:51, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Я тебе детально описал что при этом видно в логе. Ничего там не видно. Согласование прошло, должен вот уже подняться тунель, вместо этого хлоп и сессия рвется так и не установившись, тунель переходит в DOWN и все сначала по кругу. Обычно недоучки первым делом перевбивают psk (его несовпадение выглядит похоже но не точно так же) но он правильный. (у isr есть еще и с этим прикол, но это я не спрашивал - необязательно знать прикол конкретной коробки конкретной серии, а вот понимать что может быть и чего не должно - требуется)

    Очень, очень характерная прям ситуация, кто на самом деле много раз настраивал а не в книжке прочитал - мгновенно дает правильный ответ. Но они уже наверное давно пиццей торгуют, поскольку были умные. А глупые остались тут - искренне веруя что включение всех логов их спасет. Ну и предлагают смотреть сразу все - то есть не знают что на самом деле может быть причиной. Успехов им "все" в энтерпрайзном конфиге с полсотней пиров и сложной конфигурацией и еще и ремота не твоя а компании партнера и ее конфиги и логи тебе пересказывает по телефону такой же самоуверенный бездарь "я всеправильнонастроел софтработаит, проблема на вашей стороне".

     
     
  • 6.74, ivan_erohin (?), 19:30, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    мое решение этой проблемы:
    1) IPsec пинком на йух.
    2) внедряем OpenVPN. его все знают.

    > кто на самом деле много раз настраивал а не в книжке прочитал - мгновенно дает правильный ответ

    ходить по одним и тем же граблям больше двух раз - себя не уважать.

     
     
  • 7.76, пох. (?), 23:14, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    за такое "решение" в месте где давно используют ipsec - найух отправляют очередного недоучку (обычно еще на этапе собеседования). И уж тем более - в месте где его по делу использут (пара сотен клиентов работающих с vdi на одну коробочку например, или кросс-ДЦ линк на пару хотя бы гигабит).

    > внедряем OpenVPN. его все знают.

    нихера вы не знаете.
    Например с год назад тут вспоминали прекрасную его фичу, наличествующую наверное в 99.9% всех внедренных где надо и где не надо - любой пользователь может изобразить mitm и никто ничего не заметит.

    Дай угадаю - ты не в курсе.

     
     
  • 8.80, ivan_erohin (?), 07:00, 05/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    если они давно используют, то сами прошлись по всем граблям и сами все порешают ... текст свёрнут, показать
     
     
  • 9.86, Michael Shigorin (ok), 22:38, 06/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Лучше попробуйте выспросить -- хотя бы ради клиентов ... текст свёрнут, показать
     
     
  • 10.87, пох. (?), 23:01, 06/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Клиент, нанимающий полуграмотного самоуверенного не по уму исполнителя - сам вин... текст свёрнут, показать
     
     
  • 11.88, ivan_erohin (?), 04:09, 07/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    когда вы последний раз обновляли IOS на цисках под своим управлением ... текст свёрнут, показать
     
  • 10.89, ivan_erohin (?), 04:34, 07/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    это типичная азиатская загадка , на которую надо заранее знать ответ ... текст свёрнут, показать
     
  • 6.75, ivan_erohin (?), 19:57, 04/03/2023 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 4.66, Аноним (55), 02:55, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Что надо проверять первым делом?

    Первым делом надо проверить не звиздит ли пох. А потом уже включать дебажный лог и в конфиги смотреть на обеих сторонах — фаервол, psk, сайфер, pfs, рекей, и так далее.

     
  • 4.68, пох. (?), 09:38, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +/
    ну вот, два горе-эксперта опеннета показательно расписались в том что не умеют и ни разу не настраивали ничего кроме может копипасты с форумцискоком, но скорее всего и она у них не работала.
     
  • 2.90, timur.davletshin (ok), 13:16, 20/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    libreswan на Linux тоже просто настраивается и даже работает. Но про него даже на OpenNet новостей не постят... StrongSwan - смертоубийство, особенно в старых версиях.
     

  • 1.67, Аноним (67), 07:00, 04/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Язык программирования Си. Ясно понятно.
     
     
  • 2.72, Аноним (72), 15:41, 04/03/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Выкинь весь софт на C и C++ (оно ж тоже дырявое), и живи, если сможешь.
     

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



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

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