В сервере NFS (NFSv2 и NFSv3), входящем в состав ядра Linux, выявлена (http://openwall.com/lists/oss-security/2017/05/02/6) удалённо эксплуатируемая уязвимость (CVE-2017-7895 (https://security-tracker.debian.org/tracker/CVE-2017-7895)), позволяющая прочитать содержимое произвольных областей памяти ядра и пространства пользователя (от 1 до 4 Мб) через отправку специально оформленных запросов к NFS. Для успешного проведения атаки необходимо наличие доступного на запись NFS-раздела, примонтированного в системе с которой совершается атака.
Проблема вызвана ошибкой, внесённой при добавлении изменения в код fs/nfsd более 10 лет назад (при подготовке ядра 2.6.22). Уязвимость устранена (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...) в выпусках 4.11 и 4.10.13. В дистрибутивах проблема пока остаётся неисправленной (Debian (https://security-tracker.debian.org/tracker/CVE-2017-7895), RHEL (https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2017-7895), Ubuntu (https://people.canonical.com/~ubuntu-security/cve/2017/CVE-2...), SUSE (https://bugzilla.novell.com/show_bug.cgi?id=CVE-2017-7895)).URL: http://openwall.com/lists/oss-security/2017/05/02/6
Новость: http://www.opennet.me/opennews/art.shtml?num=46503
>NFSv2 и NFSv3Кто еще это использует?
> NFSv3Я, потому что хочу
я использую, только не в Linux
А какие-то дистрибутивы уже умеют загружаться с nfs4?
Ubuntu 16.04 умеет.
> Ubuntu 16.04 умеет.Ошибочка вышла. 14.04 умеет, 16.04 не проверял.
А что сейчас модно?
То что и всегда: хвастаться какой ты умный что дырявые софты не используешь.
хейтеры известно чего
> Для успешного проведения атаки необходимо наличие доступного на запись NFS-раздела, примонтированного в системе с которой совершается атака.А рут не нужен?
Что в словах "удалённая уязвимость" непонятно?
Википедия в помощь!--
А так шикарно, да.
И очень похоже на длинные руки "тогоктонадо"
С микроядром такого бы не было.
Таненбаум сказал? Читали бы пространство процесса nfsd, там тоже данные других пользователей могут оказаться.
>Таненбаум сказал?Да, ну и простая логика разделения абстракций и полномочий.
>Читали бы пространство процесса nfsd
В этом случае скомпроментирован будет лишь этот процесс и только часть файлов. В случае ядра скомпроментирована вся система, все процессы и все данные.
> В этом случае скомпроментирован будет лишь этот процесс и только часть файлов. В случае ядра скомпроментирована вся система, все процессы и все данные.Весь процесс, пишущий _пользовательские_ файлы. Это спорный вопрос, что хуже, компрометация /usr/bin (который никому не нужен и у всех одинаковый) или /home.
>В этом случае скомпроментирован будет лишь этот процесс и только часть файлов.Ну, хватит уже. Второй левел это атака на само ядро. Просто подмени файл.
Так говорите как будто в микроядре нету никаких проблем. Нет не ломаемых систем.
Это называется софизм серого: http://lesswrong.ru/w/%D0%A1%D0%BE%...Если вкратце, то есть люди, которые делят весь мир на чёрное и белое. А есть люди, которые говорят, что чёрное не совсем чёрное, а белое не совсем белое, из чего они делают вывод, что всё серое, и (следи за руками!) следовательно всё совершенно одинаково. И _такое_ серое мышление оказывается ещё менее продуктивным, чем чёрно-белое, потому что вместо двух градаций серого такие люди получают одну и теряют способность к различению вообще.
В микроядре достаточно проблем, но разделение прав доступа, вообще-то, признанная идея, которая существенно повышает защищённость системы. *nix вообще делает это постоянно, разграничивая доступ для процессов. Микроядро разграничивает доступ ещё и для ядерного кода, поэтому эксплуатация уязвимостей микроядра оказывается более затруднительной.
Чуешь какие банальности приходится объяснять тебе? Как дитю малому.
Я бы добавил, что слабая связность компонентов значительно повышает изоляцию их друг от друга, что соотвественно повышает надёжность и защищённость. Но да, программирование распределённых систем задача более сложная, чем работа с монолитом.
>Чуешь какие банальности приходится объяснять тебе? Как дитю малому.Может вы и отличный философ, но безопасник из вас никакой.
>>Чуешь какие банальности приходится объяснять тебе? Как дитю малому.
> Может вы и отличный философ, но безопасник из вас никакой.Следует ли из этого делать вывод, что эти банальности так и остались непонятыми?
Так и nfsd можно сделать юзерспейсным, микроядро для этого не надо. Тормозить только будет сильно.> The 2.2.0 kernel supports an experimental kernel-based NFS server developed by Olaf Kirch and further developed by H.J. Lu, G. Allan Morris, and Trond Myklebust. The kernel-based NFS support provides a significant boost in server performance.
http://www.oreilly.com/openbook/linag2/book/ch14.html#X-087-...
> Так и nfsd можно сделать юзерспейсным, микроядро для этого не надо.
> Тормозить только будет сильно.Применяли порой в ovz-контейнерах unfs3, угу.
PS: всех с Праздником!
>>Таненбаум сказал?
> ДаМожно ссылочку?
>Читали бы пространство процесса nfsdНет, ты что, не читали бы вообще ничего, ведь сбойный драйвер NFS просто бы перезапустился!
</>
Только успешная эксплуатация уязвимости - это значит нет сбоя. Учит матчасть.
Ты тут совсем недавно, да? Микроядерного фаната не застал? И табличку внизу поста не заметил?