LINUX.ORG.RU

IO bitmap handling bug в 2.6.*


0

0

Если процесс получивший IO access permissions
через ioperm(), не сбрасывает их принудительно перед выходом, то эти пермишены достаются другим процессам в системе.
Приводится пример с запуском и остановом Х сервера, после чего можно свободно писать в порты ввода/вывода.

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

Ого, какие баги пошли!
Что прикольно, кто-то явно попытался скрыть проблему.
Если порыться в ChangeLog-2.6.6, можно найти это письмо, только
уже в перефразированном виде. Вот отрывок:

There is a bug where if any process that obtained an IO access
permissions via ioperm() does not explicitly "drop" that permissions,
the IO permissions don't get properly invalidated on process exit.

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

С этим патчем (и в 2.6.6 сооответственно) у меня, кстати,
наконец-таки досему заработал, уф...

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

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

anonymous
()

Говорил и еще раз говорю: 2.6.Х - сырое ядро. Тестить его еще и тестить. Выгребать и выгребать...

Снимаю шляпу перед теми, кто это тестит и пишет патчи.

anonymous
()

Злой ты, Санч. Нет бы про дыры в бсдях постить :)

Valerius ★★
()

В 2.6.6 действительно этот баг уже пофиксен - а заодно еще один весьма интересный рейс :-)

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

> В 2.6.6 действительно этот баг уже пофиксен - а заодно еще один весьма интересный рейс :-)
Ага, 2.6.6 выходит на следующий же день после этого репорта, да
ещё в такой спешке, что HDD не работает без acpi=noirq - веселуха:)

Кстати интересно, Stas Sergeev, автор репорта, и местный sS, это
случайно ни одно и то же лицо?

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

>Кстати интересно, Stas Sergeev, автор репорта, и местный sS, это случайно ни одно и то же лицо?

Нет ;)

sS ★★★★★
()

спасибо Sun-ch:-)

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

дык а че в БСД постить? последний баг репорт - керберос. И скажите мне, кто это поделие до сих пор использует? Причем дырка к БСД никакого отношения не имеет - это в самом керберосе, вот только в FreeBSD её уже залотали, а редхаты и прочие титаны через пару недель только проснутся (как это было с tcp недавно). Стоят сервера на FreeBSD и жужат себе спокойненько, потрескивая хардами.

М.

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

А что есть какие-то вменяемые альтернативы Kerberos? Можно подробнее?

Nickolay

anonymous
()

Да, похоже 2.6.6 не спасает. Чувак явно решил продолжать подрывать
авторитет системы в глазах общественности:)
http://www.uwsg.indiana.edu/hypermail/linux/kernel/0405.1/0717.html
http://www.uwsg.indiana.edu/hypermail/linux/kernel/0405.1/0739.html

Можно обойти запрет на overcommit, все проверки на доступность
запрашиваемой памяти, и отправить систему в OOM.
Конечно это уже не свободная запись в порты, но тоже прикольно imho:)

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

> последний баг репорт - керберос. И скажите мне, кто это поделие до сих пор использует?

wow!... LOL! ;)

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

> wow!... LOL! ;)

модераторы - удалите это сообщение! блин, сами же вроди новое правило придумали недавно ("коверкание русского языка") :)

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

M.

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

> модераторы - удалите это сообщение! блин, сами же вроди новое правило придумали недавно ("коверкание русского языка") :)

mmm... sorry... there is no "broken russian" there... that was just plain english... ;)

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

kerberos is used more than ever. if you've never seen it, it doesn't mean it doesn't exist... ;) Morover, with W2K Kerberos implementation it is one of the best ways to integrate W2K and UNIX environments. With NFSv4 and GSSAPI auth this will be even more important. Well, FreeBSD doesn't have it yet... ;)

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

Disclosure Timeline

4. April 2004 The NetBSD security officers and Niels Provos were informed about this vulnerability by email.
9. April 2004 Bug is fixed in NetBSD CVS tree.
11. April 2004 NetBSD informed me that they hope to release within the week.
16. April 2004 After realising that the unofficial FreeBSD port is also affected Vladimir Kotal gets informed by email
27. April 2004 Vladimir Kotal replies that he is too busy to fix at the moment
3. May 2004 After contacting NetBSD again they tell me that they "lost track" and hope to release within the week (again)
11. May 2004 Since the fix over a month has passed. Still no vendor advisory. Public Disclosure.

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

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

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

> oxanian отмазался на буржуйском.

so, you've got nothing to say about Kerberos... so though I... ;)

PS. s/oxanian/oxonian/

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

>Да, похоже 2.6.6 не спасает. Чувак явно решил продолжать подрывать 
авторитет системы в глазах общественности:) 
http://www.uwsg.indiana.edu/hypermail/linux/kernel/0405.1/0717.html 
http://www.uwsg.indiana.edu/hypermail/linux/kernel/0405.1/0739.html 
 




 -#define VM_MAYACCT(vma) (!!((vma)->vm_flags & VM_HUGETLB))
 +#define VM_MAYACCT(vma) (!((vma)->vm_flags & VM_HUGETLB))


"!!" Сильно смахивает на банальную опечатку ;)

как в том анекдоте про "ошибку в одной цифре" ;)
 

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

> Да, похоже 2.6.6 не спасает ...

В ссылке http://www.uwsg.indiana.edu/hypermail/linux/kernel/0405.1/0717.html есть описание проги, и сама прога. В описании говорится, что описанной в ссылке уязвимости подвержены ядра 2.6.х и возможно 2.4.х Попробовал я эту прогу на FC 1 kernel 2.4.22-1.2118.ntpl без дополнительных патчей. Под обычным юзером и под рутом. При выполнении пишет " mmap(); cannot allocate memory OK, now trying uncommited ... mprotect(): Cannot allocate memory"

Так что не надо гнать на РедХат и преемницу ее Федору ...

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

> Да, похоже 2.6.6 не спасает ...

В ссылке http://www.uwsg.indiana.edu/hypermail/linux/kernel/0405.1/0717.html
есть описание проги, и сама прога.
В описании говорится, что описанной в ссылке уязвимости подвержены ядра
2.6.х и возможно 2.4.х
Попробовал я эту прогу на FC 1 kernel 2.4.22-1.2118.ntpl без дополнительных патчей. Под обычным юзером и под рутом.
При выполнении пишет "
mmap(); cannot allocate memory
OK, now trying uncommited ...
mprotect(): Cannot allocate memory"

Так что не надо гнать на РедХат и преемницу ее Федору ...

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

еще бы во время перебрался на freeбзд.org.ru совсем дартаньяном был бы

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

а причем тут титаны когда kernel.org это kernel.org? ;)

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

> Net(Free)BSD local root vulnerability > dotcoder (*) (12.05.2004 10:22:02)

* unofficial FreeBSD port * этому явно не место на freebsd.org - уязвима ТОЛЬКО NetBSD. не умеем читать или выдаем желаемое за действительное?

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

Ядро 2.6.4-1.319 из fedora core

[jackill@annette-pc jackill]$ ./a.out
mmap(): Cannot allocate memory
OK, now trying uncommited...
mprotect(): Cannot allocate memory

Рискнул - под рутом тоже не работает.

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

> Ядро 2.6.4-1.319 из fedora core
Так по тому и не работает - у RedHat, насколько я знаю, vm в ядре
вообще другая.
Попробуй ради интереса на ядре с kernel.org. У меня работает, в том
смысле что ядро его убивает по OOM, хотя оверкоммит таки запрещён.

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

>> Ядро 2.6.4-1.319 из fedora core
> Так по тому и не работает - у RedHat, насколько я знаю, vm в ядре
> вообще другая.
А, тьфу, я думал, ты про 2.4. Тогда это для anonymous (*) (12.05.2004 12:23:09)

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

> http://www.securitytracker.com/alerts/2003/May/1006778.html
Наверное это всё же другой баг. По этой ссылке в примере они
просто наглым образом делают ioperm() и всё. Нигде не говорится,
что права переходят с другого процесса. Хотя какая разница, так
и так в порты писать можно:)

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

> Рискнул - под рутом тоже не работает.
Кстати, а не говорит ли это о том, что RedHat не бэкпортит свои
исправления в оффициальное ядро? Кстати интересно было бы выяснить
этот момент.
PS: У меня в ядре из ASP 9 сработало, ребутить пришлось :(

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

> "!!" Сильно смахивает на банальную опечатку ;)
Да-да, помню я такую опечатку, когда вместо current->uid==0
поставили current->uid=0 и процесс получал рута...
Это из той же оперы похоже:)

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

FreeBSD (*) (12.05.2004 3:45:45)

это не харды, это твой клюв об дерево...

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

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

"Не правельно" - это вообще песня, неправильно написать слово "неправильно"!

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