1.3, Нанобот (ok), 11:34, 26/09/2018 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
>очень большого числа аргументов (около 16 миллиардов)
>минимум 32GB свободной оперативной памяти
подождите,подождите. 16 млрд аргументов по 8 байт каждый это уже 128GB
| |
|
|
3.7, Нанобот (ok), 11:47, 26/09/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
ну, я исхожу из того, что каждый аргумент - ссылка на строку, соответственно, каждый аргумент потребует как минимум 8 байт (и, если такое предположение изначально неверно, то и расчёт будет некорректным)
| |
|
4.12, Аноним (12), 12:09, 26/09/2018 [^] [^^] [^^^] [ответить]
| +/– |
В C(СИ) массив строк (для exec..) это просто кусок памяти, а разделение в нём - нулевые символы \0
| |
|
|
6.21, z (??), 13:41, 26/09/2018 [^] [^^] [^^^] [ответить]
| +/– |
процессу передаётся именно одна большая строка, где разделители это \0, crt её потом парсит и устанавливает argv[] для сишных прогамм
| |
|
|
8.48, mickvav (?), 19:37, 26/09/2018 [^] [^^] [^^^] [ответить] | +1 +/– | Это он в userspace-коде - массив указателей А в ядре, которое тоже, внезапно, н... текст свёрнут, показать | |
8.53, Аноним (-), 02:15, 27/09/2018 [^] [^^] [^^^] [ответить] | +2 +/– | Паря, до того как твой main получит управление - в обычной ситуации startup де... текст свёрнут, показать | |
|
7.32, ананим.orig (?), 15:07, 26/09/2018 [^] [^^] [^^^] [ответить]
| +/– |
откуда вы все берётесь то?!!
Ещё раз:
> Проблема вызвана целочисленным переполнением в функции create_elf_tables() и проявляется на 64-разрядных системах, имеющих более 32 Гб ОЗУ.
- целочисленным переполнением
- в функции create_elf_tables()
- на 64-разрядных системах
- имеющих более 32 Гб ОЗУ
Может ещё раз повторить? Или бесполезно?
| |
|
|
|
|
|
2.22, Ordu (ok), 13:46, 26/09/2018 [^] [^^] [^^^] [ответить]
| +/– |
В статье выше есть все необходимые ссылки, чтобы объяснить это.
> We execve() a SUID-root binary with exactly 0x80000000 "items" (i.e.,
> INT_MIN "items"): roughly 0x80000000 * sizeof(char *) = 16GB of argument
> pointers, 16GB of argument strings, and 16GB of environment strings. Our
> exploit requires "only" 2 * 16GB = 32GB of memory, instead of 3 * 16GB =
> 48GB or more, because we use a few tricks to reduce its memory footprint
> (for example, we replace the nearly 16GB of equal argument pointers with
> equivalent file-backed mappings that consume practically no memory). | |
|
1.11, Аноним (11), 12:00, 26/09/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
$ free
total used free shared buff/cache available
Mem: 131990704 8925636 115768364 1228 7296704 121915208
Swap: 0 0 0
$ ./poc-exploit
execve: Argument list too long
died in main: 229
Ничего не работает в этих ваших линуксах.
| |
|
|
3.60, Аноним (60), 09:31, 27/09/2018 [^] [^^] [^^^] [ответить]
| +/– |
$ uname -a
Linux steinberg 4.18.1-arch1-1-ARCH #1 SMP PREEMPT Wed Aug 15 21:11:55 UTC 2018 x86_64 GNU/Linux
Оба бинарника компилировал, suid ставил.
| |
|
4.70, Мегазаычы (?), 02:46, 03/10/2018 [^] [^^] [^^^] [ответить]
| +/– |
> Около года назад в ядро было принято исправление
очевидно, что в 4.18.1 оно есть. ищи ядро без него.
| |
|
|
2.15, pull request (?), 12:22, 26/09/2018 [^] [^^] [^^^] [ответить]
| +/– |
# gcc -O0 -o poc-suidbin poc-suidbin.c
# chown root poc-suidbin
# chmod 4555 poc-suidbin
$ gcc -o poc-exploit poc-exploit.c
$ time ./poc-exploit
ну и рутом ты после этого все равно не станешь. это только POC, который показывает, что можно переписать LD_LIBRARY_PATH. а дальше уж сам.
| |
|
1.18, Аноним (18), 12:59, 26/09/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Тоесть эксплоит возможен только с рутом?
Сначала выставляешь от рута set-uid бит, а затем эксплуатируешь. Или я что-то недопонимаю...
| |
|
2.20, pull request (?), 13:39, 26/09/2018 [^] [^^] [^^^] [ответить]
| +/– |
Читаем тут: https://seclists.org/oss-sec/2018/q3/274
>As a result, ld.so partly overwrites (i.e., rewrites) our "onebyte"
>environment variables with the fname[] buffer in handle_ld_preload()
>(whose contents we control through our LD_PRELOAD environment variable)
>and thereby nullifies process_envvars()'s filtering of UNSECURE_ENVVARS
>(LD_AUDIT, LD_LIBRARY_PATH, LD_PRELOAD, etc). The exploitation of this
>lack of UNSECURE_ENVVARS filtering in ld.so (via a suitable SUID-root
>binary) is left as an exercise for the interested reader.
Короче, надо найти подходящий suid бинарь в системе. А в POC он тебе уже предоставлен.
| |
2.23, Аноним (23), 13:53, 26/09/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
Есть утилиты в системе с уже установленным SUID. Например, ping.
| |
|
3.45, Anonymouss (?), 17:21, 26/09/2018 [^] [^^] [^^^] [ответить]
| +/– |
Это в каких системах?
stat /bin/ping
File: '/bin/ping'
Size: 66176 Blocks: 136 IO Block: 4096 regular file
Device: fc00h/64512d Inode: 33799631 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2018-09-25 11:35:24.036354277 -0400
Modify: 2017-08-02 14:11:53.000000000 -0400
Change: 2017-08-14 09:17:09.936638043 -0400
Birth: -
| |
|
4.51, Stax (ok), 21:32, 26/09/2018 [^] [^^] [^^^] [ответить]
| +/– |
Ну возьмите at, chfn/chsh, crontab, su, mount/umount или десятки других. Замена в пинге сьюда на capabilities никак не убирает остальные suid-бинарники.
| |
|
5.54, Аноним (-), 02:17, 27/09/2018 [^] [^^] [^^^] [ответить]
| –3 +/– |
Что за наф?! Это заем бы mount'у быть suid? Чтобы всякие левые рожи могли все перемонтировать как им удобно и систему поизящнее ломануть?
| |
|
|
|
|
|
2.25, Аноним (23), 13:58, 26/09/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
Нет уж, к бздунам вы сами бегите.
PS А это "x64" лишний раз почёркивает почитание бздунами Windows.
| |
2.34, Аноним (33), 15:23, 26/09/2018 [^] [^^] [^^^] [ответить]
| +/– |
> Вывод: бежим на другое ядро, например
> http://www.project-trident.org/download/
> What is Project Trident?
> Project Trident is a desktop-focused operating system based on TrueOS. It
> uses the Lumina desktop as well as a number of self-developed utilities to
> provide an easy-to-use system that both BSD beginners and advanced system
> administrators can feel comfortable running 24⁄7.
Отличное описание (да-да, цитированно полностью) из которого все становится понятно! (сарказм)
Чем оно отличается от Ъ-ОСи (которая после перехода на CURRENT, ZFS и выкидывания PBI стала совсем уж на любителя) и зачем вообще нужен еще один клон?
| |
2.55, Аноним (-), 02:21, 27/09/2018 [^] [^^] [^^^] [ответить]
| +/– |
> Вывод: бежим на другое ядро, например
Расчет на эффект неуловимого джо, чтоли? Linux то статическими анализаторами, фуззерами и кучей тестов пообвесили - и стали находить странные сценарии, когда в полнолуние високосного года даже палка оказывается стреляет. А в этом другом ядре хоть 10% от этих тестов? Или все дружно здят про мнимое качество кода, не подкрепляя это ничем кроме здежа?
| |
|
3.64, Аноним (33), 12:26, 27/09/2018 [^] [^^] [^^^] [ответить]
| +2 +/– |
> А в этом другом ядре хоть 10% от этих тестов?
Да откуда? Никто там об этом, как обычно у бздюков и прочих бесперепрончатых, не слышал. Разве что самую малость что-то там обезъянничают:
https://scan.coverity.com/projects/freebsd
> On Coverity Scan since Feb 28, 2013
> Last build analyzed 2 days ago
find /usr/src|grep -c test
11326
| |
|
|
1.26, ryoken (ok), 14:20, 26/09/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Я так понимаю, что в атакуемый сервант надо вкрутить памяти более 32Гб, а потом его пинать, да? :)
| |
|
2.36, ыы (?), 15:31, 26/09/2018 [^] [^^] [^^^] [ответить]
| +6 +/– |
Никто и не сомневался .. что новость не для активных участников форума... :)
| |
|
3.59, гг (?), 09:28, 27/09/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
Ну у меня с дюжину серваков с 200 Гб ОЗУ. Парочка даже просто лежит пыль копит.
| |
|
4.66, Аноним (66), 14:38, 29/09/2018 [^] [^^] [^^^] [ответить]
| +/– |
Может, поднимешь на них OpenDNS, SearX или ещё что-нибудь такое? Люди поблагодарят хотя бы.
| |
|
5.69, Michael Shigorin (ok), 13:15, 01/10/2018 [^] [^^] [^^^] [ответить]
| +/– |
> Может, поднимешь на них OpenDNS, SearX или ещё что-нибудь такое?
Пыльные, очевидно, в запасе и работать сейчас не должны.
| |
|
|
|
|
1.35, Аноним (35), 15:26, 26/09/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Локальная уязвимость, я так понимаю, что можно проcто пройтись по серваку молотком, чем запихивать в него 32 гектара и взламать?
| |
|
2.37, ыы (?), 15:39, 26/09/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
Лет 20 назад... подобные вопли можно было бы еще понять...но сейчас... ныть из - за 32 гигов оперативки.. домашние компы столько имеют...
| |
|
3.38, КО (?), 15:50, 26/09/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
32 свободных. Т.е. надо где-то 48. Ну и голую операционку. А вот зачем взламывать такой комп?
| |
|
4.39, КО (?), 15:51, 26/09/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
С другой стороны, если swap в zram, то надо немного меньше. :)
| |
|
3.57, лютый лютик__ (?), 07:57, 27/09/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
>сейчас... ныть из - за 32 гигов оперативки
После массового психоза канализации^Wвиртуализации... сколько сейчас не нарезанных на мелкие виртуалки/контейнеры осталось жирных серверов?
Они, есно, есть. Но полагаю, что это вменяемые люди и у них не хостинг.
Итого, риск от сей дыры на самом деле незначительный.
| |
|
2.42, agent (??), 16:46, 26/09/2018 [^] [^^] [^^^] [ответить]
| +/– |
Плохо понимаешь. Имеется ввиду, что нужен локальный пользователь
| |
|
|