LINUX.ORG.RU

Уязвимость NFS-сервера в ядре Linux

 


1

1

Выявлена уязвимость NFS-сервера в ядре, ее кодовое название — CVE-2017-7895.

Уязвимость позволяет удаленно прочитать произвольную область в памяти. Специально созданный запрос позволит читать любую информацию, как в адресном пространстве ядра, так и в адресном пространстве пользователя.

Проблема была выявлена в ядрах: 2.6.22, 2.6.32, 3.2, 4.4, 4.8 и 4.10 (и их ветках). Исправлено в версии 4.11. Проблема была создана 10 лет назад из-за изменения fs/nfsd для ядра 2.6.22.

Патч из апстрима

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



Проверено: jollheef ()
Последнее исправление: JB (всего исправлений: 3)
Ответ на: комментарий от BceM_IIpuBeT

На L начинается, на isp заканчивается.

Lu3.14zDIst? Хотеть в gcc.

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

аж душа радуется. где сейчас взять ядра, чтобы душа радовалась?

У меня вообще только от спектрума душа радовалась, а потом как отрезало.

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

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

а вот когда писюк первый личный появился - вот это да. ночей не спал...

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

Уж фидо-то точно лучше было, чем интернет сейчас в 2¹¹ – 2⁵ + 2º

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

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

злые транснациональные корпорации окончательно подгребут под себя весь веб

Предлагаю скачать базу RIPE и.т.п., распарсить сети «злых корпораций» и заблокировать доступ на уровне сетевого фильтра.

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

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

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

Я бы с удовольствием

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

делать это надо на магистральных маршрутизаторах

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

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

Ну уж так явно то керосин в костер лить - ты же лопнешь, деточка, в смысле, много ЖЫРа вредно.

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

Или микроядро предлагаешь?

Да.

Человек-стол вот всё никак не заколхозит уже 20 с лишком лет.

Есть QNX.

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

На L начинается, на isp заканчивается.

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

А с четвертой, синтаксис у него убойный.

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

Есть кошерный sshfs.

Пока не начинаешь копировать\перематывать что-то большое. Плюс с паролями вечный костылинг. Плюс не везде он есть.

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

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

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

Не, запретить это слишком радикально, еще придется преследовать за нарушения. А отменить очень хорошо — раз и нету, всё, отменили.

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

У меня вообще только от спектрума душа радовалась

Даа, спектрум был вещь! сколько ночей не спанных!

впрочем 80286, 386 - тоже... помню, винг коммандер первый на 286/ 12 мгц с 8 мгц математикой запустил - какая красотища! ещё и музыка играет... вольфенштейн опять же....

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

Предлагаю скачать базу RIPE и.т.п., распарсить сети «злых корпораций» и заблокировать доступ на уровне сетевого фильтра.

ну, ну, удачи! я так както вздумал иптейблами отрезать китай. всего лишь китай, карл! рулесы скриптом в иптейбл из тектового файла содержащего сетки выданные китайю, два часа добавлялись!!! два часа, в течении которых файрвалл не поднят! ок, это наверняка както оптимизировать модно, но потом загрузка моего маршрутизатора ( а это кор 2 дуо с 2 гигагерцами и 2 ядрами) стала постоянно из за иптейблов на уровне 20 - 40 процент! а это только китай, и это дохрена! до добавки китая иптейблы жрали от силы один процент процессора.

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

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

Я давно парсил используя регелярки, получая на выходе файл «одна строка — подсеть в формате 100.100.100.0/24».
Я инклудил его в файл pf.conf как таблицу и запрещал output для таблицы.

Arlecchino ★★
()
Последнее исправление: Arlecchino (всего исправлений: 1)
Ответ на: комментарий от wisedraco

иптейблами отрезать китай

ЕМНИП netfilter имеет модуль для ограничения по географическому признаку, видел ресурсы которые отрезают от себя целые страны.

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

> А через ftp все гладко.

Если б ещё научить ftpfs не тормозить и не течь...

ftpfs это curftpfs?

Обычно в дистрибутивах есть 2 исправляющих утечки патча. В Gentoo это curlftpfs-0.9.2-memleak.patch и curlftpfs-0.9.2-memleak-nocache.patch. Тормозов не замечал, но мне много и не надо.

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

исправляющих утечки патча

Да применил я их, полегчало, но не полностью. А от тормозов в принципе не возможно избавиться, ибо сама идея парсить высокоуровневый вывод да ещё от внешнего ls...

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

> исправляющих утечки патча
Да применил я их, полегчало, но не полностью.

У меня curlftpfs занимет 11MB (RES в top).

valgrind должен помочь поймать оставшиеся утечки. Например:

valgrind --log-file=leaks.log    \
    --track-origins=yes          \
    --trace-children=yes         \
    --num-callers=50             \
    --track-fds=yes              \
    --leak-check=full            \
    --show-reachable=yes         \
curlftpfs -v -d -o debug,ftpfs_debug=10 ftp://127.0.0.1 localhost/

А от тормозов в принципе не возможно избавиться

Наверное, зависит от требований. Если требования - получать отклик за одну микросекунду в сети с миллисекундными задержками, то избавиться невозможно. Но это не проблема FTP.

ибо сама идея парсить высокоуровневый вывод да ещё от внешнего ls...

Не встречал ftp серверов, которые вызывают внешний ls. Парсить текстовый вывод ls - не очень трудоёмкая задача.

Если файлов в каталоге мало, то откуда берутся тормоза? Если много, то нужно искать, что тормозит. Сеть может быть загружена больше, чем дисковая подсистема, ошибка в FTP сервере, ошибка в curlftpfs и т.д.

Пример бага производительности FTP сервера из 2006 года: http://bugs.proftpd.org/show_bug.cgi?id=2821 (тормозил аллокатор памяти в proftpd)

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

то откуда берутся тормоза?

Да всё от туда же — nfs это RPC, передал короткую команду по сети на удалённый вызов сискола, и получил бинарный выхлоп, переконвертил endian и готово. А ftpfs по самой природе — сделать эмуляцию сетевой FS хоть как-то через доступную дырочку только на пользовательском уровне с парсингом строк на любой чих. Отсюда и вполне закономерное — если вам надо сетевая FS, то юзайте NFS с поддержкой на ядерном уровне, не морочьте голову.

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

посмотри айпишники китая. у меня была такая яркая идея, но это физически невозможно - выделения китаю идут с «дырками», типа 175.12.56.0/24 , 175.12.57.0/24, 175.12.59.0/24...

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

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

1. А ipset не пробовали?
2. Для iptables емнип geoip модуль есть

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

1. А ipset не пробовали?

2. Для iptables емнип geoip модуль есть

нет, пока не пробовал. както соберусь... из китая довольно много, судя по логам, происходит попытаок подбора пароля админа для вордпресса, юмлы и прочая похожая активность... это меня не особо радует, а поскольку у моей целевой аудитории с китаем вообще ничего общего, я придумал отрезать китай «сразу и накуй» ©А.Покровский :D

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

Пока не начинаешь копировать\перематывать что-то большое

С большим проблем нет. Есть проблемы с кучей мелких файлов, особенно если в несколько потоков.

Плюс с паролями вечный костылинг

ssh-ключи в 2017 году? не, не слышал.

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

Что значит «проблем» ? Проблем нет с любым файлом, проблема в том что с сервака по локалхосту по http этот большой файл стягивается быстрее, чем с примонтированной через sshfs директории.

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

Человек-стол вот всё никак не заколхозит уже 20 с лишком лет.

configure-скрипты, видать, ломаются

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

Сейчас говорят «двадцать семнадцатом»

Подобным ообразом говорят ровно с 2001, потому что инглиш нэйтив спикеры именно так и называли его. Собственно, тогда же и стали писать 2k1.

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

Давайте всё в 2к17 через фтп делать в локальной сети

Канешн, в «2к17» полагается всё дяде на сервера в облако заливать, да? Идиот, епт.

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

http

sshfs

Шифрование, не?

И я уже писал, у sshfs есть проблемы с i/o на большом количестве мелких файлов вплоть до зависаний/отваливаний. на убунте 14.04 наблюдал регулярно.

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

Ставишь пароль, ssl, fail2ban с iptables поверх и не дырявое.

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

Разумеется. Но внутри инфраструктуры шифрование ненужно. А вот скорость нужна. И уж дома тем более.

Кроме этого у sshfs (хотя честно скажу, не знаю как с другими протоколами) есть проблемы с отваливанием. Приведу на примере своего дома. Следующая инфрастуктура:

       Интернет
          |
          V
     Роутер на X86
         |     |
         V     V
Микротик WiFi  Сервер LAMP+шара с внешнего USB3.0-HDD
      | | |
      V V V
 Домашние ПеКа
Так вот шара с внешнего USB3.0-HDD подмонтирована через sshfs в любой из домашних ПеКа. Иногда теряется WiFi-соединение. Роутер Микротик находится далеко, плюс конкретно этот роутер не очень дорогой, и весьма старый. В общем теряется. В момент потери соединения - все что работает с файлами - зависает. При чем именно наглухо зависает, не отмонтируя примонтированный ресурс. Если соединение восстанавливается - обратно не примонтируется. Приходится внаглую килять sshfs-процесс, отмонтировать ресурс, и перемонтировать заново. Проблема не такая сложная, чтобы убивать на нее время в чтении хендбука, но очень странно что такой ход событий не предусмотрен программой.

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

Да, я знаю, оно не отмонтируется, потому что идет ввод-вывод, и говорит «болт тебе, у меня тут читается/записывается», хотя по факту оно зависло. Я надеюсь это починят когда-нибудь...

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

Будут и впредь такие глупые уязвимости, пока аппаратной защиты памяти нет. Даже если твоя программа корректная и вообще святая, рядом всегда найдётся какое-нибудь решето.

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

Будут и впредь такие глупые уязвимости, пока аппаратной защиты памяти нет.

А это уже давно есть. MMU называется. Только в ядре Линукса от него толку нет, так как адресное пространство общее. Будущее - за микроядрами.

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