Page 5 of 6

Re: Уязвимости ядра

Posted: Sat Nov 20, 2021 1:43 pm
by Doczom
SovietPony wrote:i found that functions 70.7/80.7 do not check input flags. we can set flag 2 and easily run main process thread as kernel thread. :)
this is bug or undocumented feature?

fix in svn #9248

Re: Уязвимости ядра

Posted: Thu Nov 25, 2021 3:32 am
by Leency
1. Запустить WebView из аттача
2. Нажать на первую ссылку "Домашняя страница kolibrios.org"
3. Пока сайт загружается разворачиваем окно

=> Вся система зависает.

Если можно исправьте зависание на уровне ядра.
WebView при этом фиксить не нужно.

Re: Уязвимости ядра

Posted: Mon Dec 06, 2021 8:46 pm
by Coldy
Исправлен баг с остановкой системы в сисфункции 68.23 (закрыть именованную область памяти). Если функцию вызвать с несуществующим именем, то вся система зависала (в архиве предыдущее ядро и программа эксплуатирующая эту уязвимость).

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

Re: Уязвимости ядра

Posted: Mon Dec 06, 2021 9:11 pm
by Leency
Хм... на последних ревизиях система не зависает, просто приложение падает. Пока что вопрос снимается.

А вообще, ты делаешь очень важное и полезное дело. Спасибо!

Re: Уязвимости ядра

Posted: Mon Dec 06, 2021 9:19 pm
by Coldy
Так, по твоей испытуемой зависание крутится в цикле idle_loop_mwait (файл kernel.asm). То, что система зависает - это плохо и надо понять, почему это происходит и пофиксить.

Re: Уязвимости ядра

Posted: Mon Dec 06, 2021 9:57 pm
by Leency
Есть проблема, которая не даёт мне нормально использовать компьютер.
После загрузки, система со временем зависает. Вот что пишет на экран. Образ прилагаю (из него удалены драйвера USB). Я поменял материнку в надежде, что проблема исчезнет, но нет, производитель другой, а вот чипсет тот же H81M.
kolibri.zip (1.27 MiB)
Downloaded 167 times
20211206_203130.jpg
20211206_203130.jpg (470.21 KiB)
Viewed 8762 times

Re: Уязвимости ядра

Posted: Fri Dec 17, 2021 3:38 pm
by Doczom
Обнаружена уязвимость позволяющая запускать любой код на уровне ядра.
Уязвимость вызвана отсутствием проверки хэндла драйвера и позволяла создать мнимую структуру драйвера, через которую, при помощи 68.17 сисфункции, возможно было исполнить свою функцию(указав её как service_proc)

Уязвимость устранена в версии свн #9432

Re: Уязвимости ядра

Posted: Tue Dec 21, 2021 8:01 pm
by Vaicheslav97
Обнаружил баг, компилятор Fasm вылетая выносит за собой работу файловой системы где был файл исходных кодов что приводит к большим трудностям дальнейшего использования.
Я постарался сделать баг репорт наиболее полным, по крайней мере как я смог себе это представить.
Описание:
При использовании компилятора Fasm на файле с ошибкой после попытки компиляции выводит сообщение о том где ошибка в файле но стоит сдвинуть курсор как окно компилятора сразу исчезает. После этого раздел файловой системы откуда была выполнена попытка компиляции перестаёт отвечать. Что приводит к частичному но очень противному зависанию системы при обращении к ней.
Компиляция силами TinyPad проходит нормально.

Re: Уязвимости ядра

Posted: Wed Dec 22, 2021 5:05 pm
by punk_joker
Это известная проблема. Связанна с реализацией файловых операций. Суть в том, что процесс блокирует доступ к каталогу, и не снимает его когда крашится, и соответственно другие процессы уже не могут доступиться. Где-то на форуме должно быть описанно, или dunkaist это объснял кому-то в "мега удобном" чатике.

Re: Уязвимости ядра

Posted: Wed Dec 22, 2021 5:11 pm
by punk_joker
Vaicheslav97, другой вопрос почему FASM крешает. Отпиши в теме по FASM как его крешануть, желательно с примером файла на котором он гарантированно падает. Или лучше отрепорти в багтрекере.

Re: Уязвимости ядра

Posted: Wed Dec 22, 2021 5:31 pm
by punk_joker
Vaicheslav97 wrote:После этого раздел файловой системы откуда была выполнена попытка компиляции перестаёт отвечать. Что приводит к частичному но очень противному зависанию системы при обращении к ней.
Описание причины блокировки ФС

Re: Уязвимости ядра

Posted: Sun Dec 26, 2021 9:27 pm
by Leency
OCodErr писал:
...есть проблема с системной функцией GetCPUClock(SysFn18.5).
Для процессоров с частотой более 4 ГГц вернёт неверное значение, просто потому что оно не влезет в 32-битный регистр.
Думаю, что ядро KolibriOS вполне могло бы возвращать значение в паре регистров edx:eax.
Думаю, здравное улучшение и нужно сделать.

Re: Уязвимости ядра

Posted: Wed Jan 26, 2022 11:03 am
by turbocat
The "ping of death" and "Teardrop" causes the "OS" process to crash. After that, network applications freeze. But after a while they answer again. In rare cases, KolibriOS crashes. Tested in VirtualBox.

Ping of death:

Code: Select all

ping [ip] -s 65500
Teardrop:

Code: Select all

python2 teardrop.py [ip] [attack_code]
PS.
The script for "Teardrop" is not mine, I got it from here. Any attack code works.

Re: Уязвимости ядра

Posted: Thu Jan 27, 2022 1:12 pm
by turbocat
Как оказалось процесс "OS" падает и при меньших размерах отправленных данных.
Падение наблюдается от 1473 байт, но я тестировал на 1500 байт

Code: Select all

ping 10.0.2.5 -v -s 1500

Re: Уязвимости ядра

Posted: Tue Apr 26, 2022 5:31 pm
by Doczom
Уязвимость в загрузчике программ, если значение указывающее сколько выделять озу под программу будет больше границы в 2 гигабайта, то это вызывает порчу памяти ядра и его поломку.
Баг исправлен в ревизии #9794, кроме этого добавлена проверка на количество свободных страниц памяти.