LINUX.ORG.RU

В libssh исправлена уязвимость, позволяющая обойти аутентификацию

 ,


1

3

Разработчики библиотеки libssh, предназначенной для интеграции поддержки SSH в программы на языке C, сообщили об устранении недоработки в механизме аутентификации.

Сервер успешно авторизовал злоумышленника, если тот вместо ожидаемого сервером сообщения SSH2_MSG_USERAUTH_REQUEST отправлял SSH2_MSG_USERAUTH_SUCCESS. Таким образом, злоумышленник мог полностью обойти этап аутентификации.

Уязвимости (CVE-2018-10933) подвержены все выпуски libssh, начиная с версии 0.6, выпущенной в январе 2014 года.

Проблема исправлена в выпусках 0.8.4 и 0.7.6.

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

anonymous

Проверено: Shaman007 ()
Последнее исправление: Shaman007 (всего исправлений: 1)

Сервер: Давай, запрашивай авторизацию

Клиент: Знаешь, а я уже успешно авторизовался, ты забыл, наверное

Сервер: Ну ок, заходи, верю на слово

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

Не совсем понял а как же пара ( и там и там ) ключей ?

Благородные доны ключи не спрашивают.

By presenting the server an SSH2_MSG_USERAUTH_SUCCESS message
in place of the SSH2_MSG_USERAUTH_REQUEST message which the server would expect
to initiate authentication, the attacker could successfully authentciate
without any credentials.
Deleted
()
Ответ на: комментарий от snizovtsev

Что интересно, у них на сайте написано что GitHub использует libssh для «power its git SSH infrastructure». Интересно, можно ли было это использовать для доступа к приватным репозиториям / коммита в чужие репозитории?

snizovtsev ★★★★★
()

сколько было утверждений о надежности опенсорсного кода

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

lzfour
()

А сколько ещё не вскрыто в проприетарном в силу его недоступности...

Но этот баг просто мегаэпичный, да.

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)
Ответ на: комментарий от snizovtsev

Гитхаб использует кастомную версию (по их словам):

While we use libssh, we can confirm that http://GitHub.com and GitHub Enterprise are unaffected by CVE-2018-10933 due to how we use the library.

We use a custom version of libssh; SSH2_MSG_USERAUTH_SUCCESS with libssh server is not relied upon for pubkey-based auth, which is what we use the library for. Patches have been applied out of an abundance of caution, but GHE was never vulnerable to CVE-2018-10933.

https://twitter.com/GitHubSecurity/status/1052317333379723265

https://twitter.com/GitHubSecurity/status/1052358402842746880

theNamelessOne ★★★★★
()
Ответ на: комментарий от Twissel
=======================================================================
== Subject:    Authentication bypass in server code
==
== CVE ID#:    CVE-2018-10933
==
== Versions:   All versions of libssh 0.6 and later
==
== Summary:    There is a vulnerability within the server code which
==             can enable a client to bypass the authentication
==             process and set the internal state machine maintained
==             by the library to authenticated, enabling the
==             (otherwise prohibited) creation of channels.
==
=======================================================================

===========
Description
===========

libssh versions 0.6 and above have an authentication bypass vulnerability in
the server code.  By presenting the server an SSH2_MSG_USERAUTH_SUCCESS message
in place of the SSH2_MSG_USERAUTH_REQUEST message which the server would expect
to initiate authentication, the attacker could successfully authentciate
without any credentials.

The bug was discovered by Peter Winter-Smith of NCC Group.

==================
Patch Availability
==================

Patches addressing the issue have been posted to:

    https://www.libssh.org/

libssh version 0.8.4 and libssh 0.7.6 have been released to address this issue.

==========
Workaround
==========

There is no workaround for this issue.

=======
Credits
=======

The bug was discovered by Peter Winter-Smith of NCC Group.

Patches are provided by the Anderson Toshiyuki Sasaki of Red Hat and the libssh
team.

==========================================================
== The libssh team
==========================================================
Vsevolod-linuxoid ★★★★★
()

Объясните, пожалуйста.

Вот в этой фразе:

Сервер успешно авторизовал злоумышленника...

речь о каком сервере? ssh.com? OpenSSH? Или же сервер, построенный на базе libssh?

Какие шаги необходимо предпринять администраторам серверов OpenSSH, а также всем тем, у кого Git-хостинг поверх OpenSSH?

Как выглядит эксплойт на языке C, дабы пощупать/поиграть? А то tutorial у них на сайте дюже длинный.

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

речь о каком сервере? ssh.com? OpenSSH? Или же сервер, построенный на базе libssh?

Речь идёт про серверный код библиотеки libssh.

Какие шаги необходимо предпринять администраторам серверов OpenSSH, а также всем тем, у кого Git-хостинг поверх OpenSSH?

Никакие.

theNamelessOne ★★★★★
()
Последнее исправление: theNamelessOne (всего исправлений: 1)
Ответ на: комментарий от Vsevolod-linuxoid

нуда опенсорс противопоставляют закрытому как гарантированно исключающиц т.н.

закладки.
так зачем еще и закладки, когда такие дыры?
меня то это мало чешет, что б не сказать совсем не....
но, блин..
вот лет 6-7? была открыта аналогичная дыра в открытом софте, сори за калабур.

lzfour
()

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

Сколько уязвимостей до сих пор не исправлено в закрытом коде?

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

Спасибо что доверяете нам! ООО Рога and копыта

anonymous
()

«Это не те дроиды, что вы ищите»

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

Секуритификс:

Сервер: Давай, запрашивай авторизацию

Клиент: Знаешь, а я уже успешно авторизовался, ты забыл, наверное

Сервер: точно не обманываешь?

Клиент: Мамой клянус!

Сервер: Ну ок, заходи

bender ★★★★★
()

Вот как выглядит эталонное решето.

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

А сколько ещё не вскрыто в проприетарном в силу его недоступности...
Но этот баг просто мегаэпичный, да.

Как по мне, четыре года существования такой дырки для миллионов глаз сообщества™ просто овердофига.

h578b1bde ★☆
()
Последнее исправление: h578b1bde (всего исправлений: 1)

боже мой. таких программистов надо долго стучать головой о backspace.

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

Не авторизацию, а аутентификацию.

anonymous
()

Это или диверсия или случайно оставленный бекдор для отладки.

Случайно такие ошибки не делаются.

AVL2 ★★★★★
()

и что за васи это писали?

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

Как по мне, четыре года существования такой дырки для миллионов глаз сообщества™ просто овердофига.

Количество глаз растет медленнее, чем количество строк, ничего не поделаешь.

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

и не исправлено, да

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

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

Как по мне, четыре года существования такой дырки для миллионов глаз сообщества™ просто овердофига.

Сдаётся мне, «миллионы глаз» сильно переоценены. В реальности, я думаю, едва ли наберётся сотня-другая человек, которые этот код хотя бы попытались прочесть.

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

уровень безопасности — openbsd :D

Не распарсил, что ты тут хотел сказать. На всякий случай уточню: libssh к OpenBSD и к OpenSSH отношения не имеет.

anonymous
()

сколько было утверждений о надежности опенсорсного кода

тебя обманули. опенсорсный код вполне может быть ненадёжным. другое дело, что опенсорсный код, в отличие от закрытого, даёт тебе возможность проверить его на надёжность. воспользуешься ты этой возможностью или нет — это уже твоё дело.

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

Анон, спасибо, что уточнил.

Пожалуйста.

Можем ли мы спать спокойно?

Не знаю, кто эти «мы», но качество моего сна не ухудшилось, поскольку я libssh нигде не использую.

Хотя в целом, если перед сном лишний раз задумываться о том, сколько в мире дерьма, типа той же libssh или openssl, то сон уже не тот, конечно.

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

спасибо за уточнение, коллега.

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

Хм… А в openwrt не libssh ли?

Там dropbear.

anonymous
()

4 года вход по «сизам-откройся» это эпик эпиков. Кому не лень скиньте куски кода до и после, поржём вместе как там условное выражение в обход ВСЕГО в том числе даже попыток применить криптографию пускало в себя всех подряд.

Deleted
()

вся суть С++ кодинга

одна ошибка в 1 условии=вся логика умирает

(дада в этом самом ООП такого никогдаб не произошло)

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

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

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