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

Internal structure and you change requests/suggestions
  • 1. Запустить WebView из аттача
    2. Нажать на первую ссылку "Домашняя страница kolibrios.org"
    3. Пока сайт загружается разворачиваем окно

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

    Если можно исправьте зависание на уровне ядра.
    WebView при этом фиксить не нужно.
    Attachments
    WebView.kex (84.18 KiB)
    Downloaded 184 times
    Из хаоса в космос
  • Исправлен баг с остановкой системы в сисфункции 68.23 (закрыть именованную область памяти). Если функцию вызвать с несуществующим именем, то вся система зависала (в архиве предыдущее ядро и программа эксплуатирующая эту уязвимость).

    Leency, извини, похоже это не то, что ты описывал, т.к. твоя проблема пока сохраняется.
    Напиши больше исходных данных - какая это может быть сисфункция (например, по результату отладки) или нужна какая то более простая программа с кодом, которая показывает проблему.
    Attachments
    shmem_bug.7z (97.89 KiB)
    Downloaded 157 times
    Last edited by Coldy on Mon Dec 06, 2021 9:26 pm, edited 1 time in total.
  • Хм... на последних ревизиях система не зависает, просто приложение падает. Пока что вопрос снимается.

    А вообще, ты делаешь очень важное и полезное дело. Спасибо!
    Из хаоса в космос
  • Так, по твоей испытуемой зависание крутится в цикле idle_loop_mwait (файл kernel.asm). То, что система зависает - это плохо и надо понять, почему это происходит и пофиксить.
  • Есть проблема, которая не даёт мне нормально использовать компьютер.
    После загрузки, система со временем зависает. Вот что пишет на экран. Образ прилагаю (из него удалены драйвера USB). Я поменял материнку в надежде, что проблема исчезнет, но нет, производитель другой, а вот чипсет тот же H81M.
    kolibri.zip (1.27 MiB)
    Downloaded 163 times
    20211206_203130.jpg
    20211206_203130.jpg (470.21 KiB)
    Viewed 8020 times
    Из хаоса в космос
  • Обнаружена уязвимость позволяющая запускать любой код на уровне ядра.
    Уязвимость вызвана отсутствием проверки хэндла драйвера и позволяла создать мнимую структуру драйвера, через которую, при помощи 68.17 сисфункции, возможно было исполнить свою функцию(указав её как service_proc)

    Уязвимость устранена в версии свн #9432
    Attachments
    exploit_68_17.asm (968 Bytes)
    код тестового эксплойта
    Downloaded 165 times
    exploit_68_17.kex (150 Bytes)
    образец эксплойта
    Downloaded 172 times
  • Обнаружил баг, компилятор Fasm вылетая выносит за собой работу файловой системы где был файл исходных кодов что приводит к большим трудностям дальнейшего использования.
    Я постарался сделать баг репорт наиболее полным, по крайней мере как я смог себе это представить.
    Описание:
    При использовании компилятора Fasm на файле с ошибкой после попытки компиляции выводит сообщение о том где ошибка в файле но стоит сдвинуть курсор как окно компилятора сразу исчезает. После этого раздел файловой системы откуда была выполнена попытка компиляции перестаёт отвечать. Что приводит к частичному но очень противному зависанию системы при обращении к ней.
    Компиляция силами TinyPad проходит нормально.
    Attachments
    MP4.rar (4.01 MiB)
    Когда вспомнил о том что не удалил Бандикам. Прошу прощения за качество, версию побольше не пропустило на форум.
    Downloaded 172 times
    Аналогичная ситуация только с файлом в Сис разделе вместо НДД.png
    Аналогичная ситуация только с файлом в Сис разделе вместо НДД.png (124.74 KiB)
    Viewed 7712 times
    КОСВылет Фасм После Компиляции ВыводаОшибкиКомпиляции И перемещения мышкой.png
    КОСВылет Фасм После Компиляции ВыводаОшибкиКомпиляции И перемещения мышкой.png (123.17 KiB)
    Viewed 7712 times
  • Это известная проблема. Связанна с реализацией файловых операций. Суть в том, что процесс блокирует доступ к каталогу, и не снимает его когда крашится, и соответственно другие процессы уже не могут доступиться. Где-то на форуме должно быть описанно, или dunkaist это объснял кому-то в "мега удобном" чатике.
    to infinity and beyond
  • Vaicheslav97, другой вопрос почему FASM крешает. Отпиши в теме по FASM как его крешануть, желательно с примером файла на котором он гарантированно падает. Или лучше отрепорти в багтрекере.
    to infinity and beyond
  • Vaicheslav97 wrote:После этого раздел файловой системы откуда была выполнена попытка компиляции перестаёт отвечать. Что приводит к частичному но очень противному зависанию системы при обращении к ней.
    Описание причины блокировки ФС
    to infinity and beyond
  • OCodErr писал:
    ...есть проблема с системной функцией GetCPUClock(SysFn18.5).
    Для процессоров с частотой более 4 ГГц вернёт неверное значение, просто потому что оно не влезет в 32-битный регистр.
    Думаю, что ядро KolibriOS вполне могло бы возвращать значение в паре регистров edx:eax.
    Думаю, здравное улучшение и нужно сделать.
    Из хаоса в космос
  • 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.
    Attachments
    dop.png
    dop.png (23.18 KiB)
    Viewed 6567 times
    Изобретайте колёса каждый раз, когда хотите написать новую программу.
  • Как оказалось процесс "OS" падает и при меньших размерах отправленных данных.
    Падение наблюдается от 1473 байт, но я тестировал на 1500 байт

    Code: Select all

    ping 10.0.2.5 -v -s 1500
    Attachments
    BOARDLOG.TXT (13.63 KiB)
    Downloaded 134 times
    Изобретайте колёса каждый раз, когда хотите написать новую программу.
  • Уязвимость в загрузчике программ, если значение указывающее сколько выделять озу под программу будет больше границы в 2 гигабайта, то это вызывает порчу памяти ядра и его поломку.
    Баг исправлен в ревизии #9794, кроме этого добавлена проверка на количество свободных страниц памяти.
    Attachments
    test_header.kex (36 Bytes)
    Файл для примера
    Downloaded 93 times
  • Who is online

    Users browsing this forum: No registered users and 7 guests