URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 61512
[ Назад ]

Исходное сообщение
"Во FreeBSD найдена локальная уязвимость, приводящая к повыше..."

Отправлено opennews , 01-Дек-09 11:35 
В версиях FreeBSD 7.1, 7.2, 8.0 подтверждено (http://permalink.gmane.org/gmane.os.freebsd.announce/478) наличие опасной уязвимости (http://www.securityfocus.com/bid/37154), позволяющей локальному непривилегированному злоумышленнику выполнить код с правами суперпользователя.


Уязвимость вызвана возможностью, при выполнении suid-программы через функцию execl(), запуска с повышенными привилегиями _init блока сторонней библиотеки, загруженной  злоумышленником через подстановку переменной окружения LD_PRELOAD. По умолчанию при выполнении suid программ производится очистка опасных переменных окружения, но из-за ошибки в коде проверки успешности операции очистки переменных, имелась возможность передачи LD_PRELOAD вкупе с некорректно оформленным окружением.

По предварительной информации уязвимости подвержены ветки FreeBSD 7.x и 8.x, для версий FreeBSD 4.9 и 6.3 проблема не проявляется, но, судя по коду, версия FreeBSD 6.4 является уязвимой. Опасность уязвимости многократно возрастает...

URL: http://www.theregister.co.uk/2009/12/01/freebsd_root_bug/
Новость: http://www.opennet.me/opennews/art.shtml?num=24466


Содержание

Сообщения в этом обсуждении
"Во FreeBSD найдена локальная уязвимость, приводящая к повыше..."
Отправлено _Nick_ , 01-Дек-09 11:35 
Ну, дырка, всё понятно. У всех бывает.

Но непонятно несколько иное:
"...позволяющей локальному непривилегированному злоумышленнику выполнить код с правами суперпользователя."

1. Почему человек, пользующий уязвимость - обязательно ЗЛОумышленник?
2. Неужто "локальный непривилегированный _пользователь_" не может "выполнить код с правами..."?

Как-то несколько предвзято в этой фразе насчёт тех, кто будет пользоваться дырой...


"Во FreeBSD найдена локальная уязвимость, приводящая к повыше..."
Отправлено User294 , 01-Дек-09 13:55 
> 1. Почему человек, пользующий уязвимость - обязательно ЗЛОумышленник?

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


"Во FreeBSD найдена локальная уязвимость, приводящая к повыше..."
Отправлено _Nick_ , 02-Дек-09 11:28 
>Наверное потому что легитимному администратору не требуется повышать свои права через дыры
>а повышение прав обычным пользователем - это как правило нежелательная и
>вредная активность.

"Почему стол - деревянный?" - "Потому что, как правило, он деревянный"

Ещё раз: почему обязательно _ЗЛО_умышленник если пользует дыру? Обязательно ли пользователь дыры замыслил зло?


"Во FreeBSD найдена локальная уязвимость, приводящая к повыше..."
Отправлено Xaionaro , 03-Дек-09 08:38 
Если я кому-то даю ограниченные права, я не хочу чтобы у него была возможность получить права суперпользователя... Хотя бы из-за наличия на данном компьютере некоторой конфеденциальной информации.

"Во FreeBSD найдена локальная уязвимость, приводящая к повыше..."
Отправлено _Nick_ , 03-Дек-09 15:42 
>...Хотя бы из-за наличия на данном
>компьютере некоторой конфеденциальной информации.

Ну, это понятно. Подобных причин можно найти не одну.


>Если я кому-то даю ограниченные права, я не хочу чтобы у него
>была возможность получить права суперпользователя...

Да, возможно и не хотите. Но Ваше [не]желание - лишь источник
Вашего управленческого воздействия на объект "Операционная система".
Т.е. Вы - субъект управления, а ОС (ну, и компьютер) - объект[ы].

И совсем уже неважно: то ли ваше качество управления этим объектом было недостаточным,
чтобы не допустить неприемлемого вам его поведения,
то ли Вы недостаточно понимаете и изучили поведение и устройство объекта управления,
а потому делаете неверные прогнозы его поведения под Вашим управлением.
В обоих случаях возможны срывы управления (т.е. катастрофическое и непредсказуемое _для_Вас_ его поведение).
Это всё достаточно общая теория управления.
Практически, в случае данной новости - самипрограммисты и администраторы недостаточно изучили объект, с которым они работают и не знали заранее о её таком свойстве, _непредвиденном_ для них заранее (пока систему в продакшн не поставили).

Вобщем, нельзя сказать, что пользователь объективного свойста ОС - ЗЛОумышленник.
Ведь вионвен в _непредсказуемости_ поведения системы для админа не он :) а те, кто не обладал достаточными качествами и знаниями того, чем управляют.

В простонародии - это называется ССЗБ. Но видить проблему в себе для большинства сложнее, чем указать пальцем на некоего "негодяя", обернувшим поведение системы непредсказуемым для админа образом.

Т.е. ключ новости в словах "недостаточная проверка переменных окружения". А соответственно, и продолжать логическую линию нужно в сторону "а что же делать, чтобы проверки всегда были _достаточными_?"...


"Во FreeBSD найдена локальная уязвимость, приводящая к повыше..."
Отправлено Karpion , 01-Дек-09 14:48 
> Почему человек, пользующий уязвимость - обязательно ЗЛОумышленник?

Потому что у добронамеренного пользователя нет причин использовать уязвимости.


"Во FreeBSD найдена локальная уязвимость, приводящая к повыше..."
Отправлено _Nick_ , 02-Дек-09 11:31 
>> Почему человек, пользующий уязвимость - обязательно ЗЛОумышленник?
>
>Потому что у добронамеренного пользователя нет причин использовать уязвимости.

Так называемая "уязвимость" - это объективное свойство системы.
Не вижу причин, человека, _правильно_ понимающего работу системы (т.е. её объективное поведение и свойства) - считать злым.
Т.е. считать злым того, кто изпользует дыру - это зло _субъективное_, с точки зрения админа системы, и не более. Ничего другого в отношении пользователя дыры в самом общем случае сказать нельзя.


"Во FreeBSD найдена локальная уязвимость, приводящая к повыше..."
Отправлено terr0rist , 02-Дек-09 16:16 
Предлагаю Вам предложить исправить новость следующим образом:
"Уязвимость вызвана возможностью, при выполнении suid-программы через функцию execl(), запуска с повышенными привилегиями _init блока сторонней библиотеки, загруженной злоумышленником *** и не только злоумышленником *** через подстановку переменной окружения LD_PRELOAD. По умолчанию при выполнении suid программ производится очистка опасных переменных окружения, но из-за ошибки в коде проверки успешности операции очистки переменных, имелась возможность передачи LD_PRELOAD вкупе с некорректно оформленным окружением. "

*** отмечены исправления ***
Так лучше? =)
Вопрос же ведь не в том, кто как использует дыру, в том, что ЗЛОУМЫШЛЕННИК __МОЖЕТ__ использовать это в своих злоумышленных интересах.


"Во FreeBSD найдена локальная уязвимость, приводящая к повыше..."
Отправлено _Nick_ , 03-Дек-09 15:26 
>Вопрос же ведь не в том, кто как использует дыру, в том,
>что ЗЛОУМЫШЛЕННИК __МОЖЕТ__ использовать это в своих злоумышленных интересах.

А при чём тут тогда фрибзд? :)
Раз проблема в том, что ЗЛОумышленник МОЖЕТ изпользовать различные средства чтобы творить зло?

>Предлагаю Вам предложить исправить новость следующим образом:
>"Уязвимость вызвана возможностью...."

Спасибо.

Но я бы лишь больше сконцентрировал текст новости на описании объективного поведения
ОС в тех или иных условиях, уйдя от разсуждений о том со злым, ли добрым умыслом _может_быть_ изпользована та или иная объективная способность системы (даже если эта способность не планировалась производителем). Примено так:
"...недостаточная проверка переменных окружения позволяет выполнить произвольный код от имени владельца SUID бинаря. Достаточно лишь иметь права запуска этого бинаря.".


"Во FreeBSD найдена локальная уязвимость, приводящая к повыше..."
Отправлено SaveMeGood , 01-Дек-09 11:53 
1. Вы используете дыры для решения административных задач?
2. Там говориться не о _пользователе_, а о _злоумышленнике_.

"Во FreeBSD найдена локальная уязвимость, приводящая к повыше..."
Отправлено _Nick_ , 01-Дек-09 12:07 
>1. Вы используете дыры для решения административных задач?

вопрос не по сути.
По сути был бы: "а администратор сервера всегда - добро, а пользователь уязвимости - зло?"
И вот на этот вопрос ответ: нет, это не всегда так, нужно смотреть для чего установлена и поддерживается система этим администратором (к примеру, задефейсить сайты какой-нить RIAA - это добро).

>2. Там говориться не о _пользователе_, а о _злоумышленнике_.

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


"Во FreeBSD найдена локальная уязвимость, приводящая к повыше..."
Отправлено zazik , 01-Дек-09 12:21 
> И вот на этот вопрос ответ: нет, это не всегда так, нужно смотреть для чего установлена и поддерживается система этим администратором (к примеру, задефейсить сайты какой-нить RIAA - это добро).

Цель оправдывает средства? Ну и чем же вы лучше их?


"Во FreeBSD найдена локальная уязвимость, приводящая к повыше..."
Отправлено _Nick_ , 01-Дек-09 13:14 
> Ну и чем же вы лучше их?

Они проявляют агрессию по отношению к невинным людям,
а "мы" - по отношению к агрессору.


"Во FreeBSD найдена локальная уязвимость, приводящая к повыше..."
Отправлено Vertigo , 02-Дек-09 09:11 
Ты ничего не слышал про законы, которые не нужно нарушать?

"Во FreeBSD найдена локальная уязвимость, приводящая к повыше..."
Отправлено _Nick_ , 02-Дек-09 11:37 
>Ты ничего не слышал про законы, которые не нужно нарушать?

Законно-незаконно и добро-зло - разнокачественности.

Законодательство на Земле нонче, в основном, античеловечное,
а потому, вполне легко можно насчитать 4 варианта ситуаций:
- законное добро
- незаконное добро
- законное зло (думаю, никто не станет отрицать, что много чего есть злого, закреплённого юридически...)
- незаконное зло


"Во FreeBSD найдена локальная уязвимость, приводящая к повыше..."
Отправлено Vertigo , 02-Дек-09 11:52 
Добро и зло - понятия относительные, ты это понимаешь? Стало быть, при принятии каких-то решений придётся неизменно вставать на чью-либо сторону в конфликте только для того, чтобы решить что добро, а что - зло. Чтобы избежать этого, человечество придумало законы. Неидеальное решение, куча проблем и т.д. и т.п., но оно как-то работает и позволяет избегать анархии. И всё время находится кто-то, кто Лучше Знает Как Надо. И говорит - фигня вопрос, я ща всё решу с позиции Добра и Зла, а также вечной Истины. А потом ему ставят такой, например, вопрос: А как будет добрее - поднять пенсии сейчас на 100 рублей, или вложить эти деньги в развитие и через полгода поднять на 1000?; или: А можно вершить самосуд из мести, если Ты Точно Знаешь (или Сто Пудов Уверен), что обидчик виноват?; или: А можно я вон тому мужику в репу дам - он косо на меня смотрит? И пока этот наш герой думает над этими вопросами, ему приходит время заканчивать завтрак и идти в школу.

"Во FreeBSD найдена локальная уязвимость, приводящая к повыше..."
Отправлено _Nick_ , 03-Дек-09 14:10 
>Добро и зло - понятия относительные, ты это понимаешь?

Очень хорошо, что Вы сразу указали на расхождения в наших взглядах.
Я считаю, что есть объективные добро и зло (предопределены для всех Создателем),
ну и, ессьно, есть субъективные добро и зло - это то, что каждый _может_считать_для_себя_ хорошим или плохим. субъективные добро и зло _могут_ совпадать с объективными (ну, а могут и не совпадать... но не становясь при этом объективными).
Относительные добро и зло - могут быть лишь субъектинвыми (к примеру, приемлема логика типа "это хорошо, что вот этот чел дал тому по голове, а вот что этот дал тому - не хорошо"). Объективное добро и зло одинаково для _всех_.

Ну, а законы, принятые руководствами стран - чистый субъективизм, который в частях совпадения и несовпадения с объективными добром - и порождает 4 вида оценок, упомянутые мной выше (законно-незаконно x добро-зло).


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

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

Кроме того, а неужели не может быть так, что оба судящихся друг с другом - наделали объективного зла? С Вашей логикой - Вы _обязательно_ чьё-то объективное зло признаете добром...
Но в таком случае, это уже _не_ ПРАВОсудие, а безнравственный произвол (т.е. вобщем, всё равно на чью сторону встать; возможно, далее лишь вопросы Вашей собственной выгоды пойдут в дело...).

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

Т.е. из двух предлагаемых Вам (суду, кому-либо ещё, "принимающему решение") вариантов
Вы предполагаете, что _всегда_ есть один объективно верный?

Давайте попробуем: Сколько будет 2x6?
Ну, и предлагаются два варианта ответа:
1) 5
2) 17

И тут уж выбор за Вами и Вашей совестью какая из двух _лжей_ Вам больше по нраву
(даже если в каком-то там законе и написано, что правильным ответом нужно считать 17).

В про анархию: так она у нас в стране растёт буйным цветом: у кого есть деньги - тот
может рулить законами куда ему удобно.

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


>И всё время находится кто-то, кто Лучше Знает Как Надо. И
>говорит - фигня вопрос, я ща всё решу с позиции Добра
>и Зла, а также вечной Истины.

Дык, если же "Неидеальное решение, куча проблем и т.д. и т.п." - то почему бы и нет?
Или Вы видите нормальным из глубины веков тянуть какие-то ошибки взаимных отношений в обществе, не стремясь их даже пересмотреть? (пример: вот маздай98 - "Неидеальное решение, куча проблем и т.д. и т.п. но оно как-то работает и позволяет...")

Пытаться искать Истину - должно быть нормальным для каждого (хотя бы для того, чтобы не наступить на знатные ранее "грабли" по жизни: самооправдания "а так ведь было всегда... и вот тут ещё написано..." боль во блу не снимут :).


>А потом ему ставят такой,
>например, вопрос: А как будет добрее - поднять пенсии сейчас на
>100 рублей, или вложить эти деньги в развитие и через полгода
>поднять на 1000?

Ну, это экономика - это просто.
Но в конкретно этом примере попросто недостаточно информации.
Как минимум одного параметра не достаёт: текущей пенсии.
Потому как если она 0... то по 1000 рублей через полгода выдавать уже будет некому...

Видите: в Ваших вариантах в одних условиях - один ответ правильный,
в других - второй, а ещё в каких-то - нет правильного ответа.


>или: А можно вершить самосуд из мести, если
>Ты Точно Знаешь (или Сто Пудов Уверен), что обидчик виноват?

Казалось_бы_правильный_ответ: можно, если проведено серьёзное разследование,
улик "более, чем достаточно" и они очевидны. Просто потому, что и "официальные" суды занимаются именно тем же: принимают решения на основе улик и "официальных" разследований. Ну а если разследование проведут специалисты, но просто вне рабочее время, - то и качество их решения будет не хуже официоза (хотя официальщики и назвали бы это "самосудом" - ну, просто это ж "их" хлеб...  "жаба давить" будет).

Правильный ответ: опять же: недостаточно информации. Может это лучше просто простить и тогда этим добром будет замят некий давний спор. А может, очередная капля сотворённого зла (к примеру, в очередной раз в юридически-законно безукоризненном порядке подняты ставки на _уже_взятые_ кредиты) переполняет народное терпение - и массовая неуплата _процентов_ (но не тела заёма) по ростовщическим кретидам становится нормой в обществе, вынуждая банкиров закрывать банки и искать общественно полезную работу.


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

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


"Во FreeBSD найдена локальная уязвимость, приводящая к повыше..."
Отправлено szh , 01-Дек-09 13:55 
> к примеру, задефейсить сайты какой-нить RIAA - это добро

Это зло.

1 дефейсы они будут использовать для положительного пиара себя, мол борятся с силами зла в интернете

2 им ни холодно ни жарко от этих дефейсов, у них бизнес не на это завязан.


"Во FreeBSD найдена локальная уязвимость, приводящая к повыше..."
Отправлено User294 , 01-Дек-09 18:58 
> (к примеру, задефейсить сайты какой-нить RIAA - это добро).

В каком-то роде вы правы. На самом деле все просто: даже зло бывает во благо :-).


"Во FreeBSD найдена локальная уязвимость, приводящая к повыше..."
Отправлено Vertigo , 02-Дек-09 09:15 
>> (к примеру, задефейсить сайты какой-нить RIAA - это добро).
>
>В каком-то роде вы правы. На самом деле все просто: даже зло
>бывает во благо :-).

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


"Во FreeBSD найдена локальная уязвимость, приводящая к повыше..."
Отправлено QuAzI , 02-Дек-09 09:58 
Хороший... плохой... главное - у кого ружьё ;)


"Во FreeBSD найдена локальная уязвимость, приводящая к повыше..."
Отправлено _Nick_ , 02-Дек-09 11:41 
>Я с вас фигею, граждане. Что хорошо, а что плохо - решает
>уголовный кодекс и суд.

Да Вы что?...
Большое счастье, что это не так :)
Отвечать на такой важный вопрос в одиночку - слишком сложная задача.
Вот даже опросить по любому вопросу средних сто человек с улицы - точность решения (соответствие их субъективного мнения о добре-зле объективному добру-злу) будет куда выше.

>И регулировать отношения в обществе можно только с помощью законов.

Есть ещё очень много способов их регулировать (хотя да, на Западе, думают, что человека, посмотревшего на тебя "не так" можно и нужно засудить).


"Во FreeBSD найдена локальная уязвимость, приводящая к повыше..."
Отправлено Vertigo , 02-Дек-09 12:01 
>Вот даже опросить по любому вопросу средних сто человек с улицы -
>точность решения (соответствие их субъективного мнения о добре-зле объективному добру-злу) будет
>куда выше.

Это характерный детский взгляд на мир - думать, что в нём всё исключительно чёрное или белое.
На досуге советую спросить средних сто человек в инете что лучше - линукс, или виндовс. Ну, или интел и амд. Или г-форс и радеон. И проанализировать ответы. А так же прикинуть, что же в данном случае будет Объективным Добром.


"Во FreeBSD найдена локальная уязвимость, приводящая к повыше..."
Отправлено _Nick_ , 03-Дек-09 15:15 
>Это характерный детский взгляд на мир - думать, что в нём всё
>исключительно чёрное или белое.

Напрашиваетесь на шутку...  Вы только с детьми-дальтониками общались?
Ваше высказывание было неоднозначным: с одной стороны, якобы упрекнуть меня, что
я "упрощаю" мир, видя в нём лишь чёрно-белое (хотя на самом деле в нём наличиствуют
множество разных частот, и некоторые из них люди видят разными цветами);
с другой стороны, это якобы алегория о добре и зле. Но тут Вы неправы,
ибо любое действие или бездействие - объективно относится либо к доброму поступку
(и бездёйствие тоже), либо к злому, невизрая на то, что об этом кто думает (невзирая на субъективное понимание добра и зла).

Или Вы думаете, что есть ещё и некие "средние" поступки? не добрые и не злые?
Не "чёрное" и не "белое", а некое "рябое"?


>На досуге советую спросить средних сто человек в инете что лучше -
>линукс, или виндовс.

БольшАя часть средних людей ответит "а что это?" по обоим пунктам.
Вообще-то, ответ то Вы получите, но придётся разсказать всем этим людям о _новых_ для
них вещах, чтобы узнать у них их _сознательное_ отношение (а не наобум).
Опять же: придётся быть конкретным. либо: "в школу нужен на компф софт" или "нужно автоматизировать систему учёта билетов в касссе автовокзала" - показать опрашиваемым _изначальную_задачу_, а не _некоторые_средства_ их решения, известные Вам (может кто ещё что покруче предложит, оставив Вас с вашими и пингвинами и маздаями отдыхать).

Но спросите что-либо _обоюдно_ известное, то, с чем все сталкиваются по жихни так или иначе - и Вы получите решение правдивее любых судов.


"Во FreeBSD найдена локальная уязвимость, приводящая к повыше..."
Отправлено _Nick_ , 02-Дек-09 11:33 
>> (к примеру, задефейсить сайты какой-нить RIAA - это добро).
>
>В каком-то роде вы правы. На самом деле все просто: даже зло
>бывает во благо :-).

Э, нет. Либо налево, либо направо.
Объективное Добро невозможно получить объективным злом.


"Во FreeBSD найдена локальная уязвимость, приводящая к повыше..."
Отправлено dq0s4y71 , 01-Дек-09 12:42 
>судя по коду, версия FreeBSD 6.4 является уязвимой.

А можно поподробнее? А то по ссылкам говорят прямо противоположное. http://seclists.org/fulldisclosure/2009/Nov/381


"Во FreeBSD найдена локальная уязвимость, приводящая к повыше..."
Отправлено Maxim Chirkov , 01-Дек-09 12:56 
>>судя по коду, версия FreeBSD 6.4 является уязвимой.
>А можно поподробнее? А то по ссылкам говорят прямо противоположное. http://seclists.org/fulldisclosure/2009/Nov/381

Вывод о возможной уязвимости сделан на основе просмотра кода, который правит патч http://people.freebsd.org/~cperciva/rtld.patch . rtld.c из FreeBSD 6.4 сильно отличается от FreeBSD 6.3 и имеет примерно такой же вид как в FreeBSD 7 и 8. Детально я не разбирался, но при беглом осмотре FreeBSD 6.4 вполне подвержен уязвимости. Посмотрим, что завтра в официальном отчете будет сказано.


"Во FreeBSD найдена локальная уязвимость, приводящая к повыше..."
Отправлено kkk111 , 01-Дек-09 13:45 
Ошибка не в rtld, а в lib/libc/stdlib/getenv.c. Грубо говоря, после unsetenv("LD_PRELOAD"), getenv("LD_PRELOAD") все равно может вернуть true, если среда процесса правильным образом испорчена.

"Во FreeBSD найдена локальная уязвимость, приводящая к повыше..."
Отправлено Maxim Chirkov , 01-Дек-09 14:13 
>Ошибка не в rtld, а в lib/libc/stdlib/getenv.c. Грубо говоря, после unsetenv("LD_PRELOAD"), getenv("LD_PRELOAD")
>все равно может вернуть true, если среда процесса правильным образом испорчена.

Вы правы, во FreeBSD 6.4 еще старая Berkeley реализация getenv, а начиная с FreeBSD 7 новый вариант.


"Во FreeBSD найдена локальная уязвимость, приводящая к повыше..."
Отправлено kegf , 01-Дек-09 14:43 
fixed in svn 199979/80/81 (HEAD/8-STABLE/7-STABLE)

"Во FreeBSD найдена локальная уязвимость, приводящая к повыше..."
Отправлено Nas_tradamus , 07-Дек-09 13:31 
Проверил - работает, млин!  FreeBSD 7.0-RELEASE .

При попытке применить патч, выдавал что нет такого файла в src.

Как-нибудь можно исправить без обновления на 8.0 ?

Я не сильно паникую, так как у меня злоумышленники не имеют доступ в шелл. )

А хостерам, чую, весело.