Board.KolibriOS.org
http://board.kolibrios.org/

Уязвимости ядра
http://board.kolibrios.org/viewtopic.php?f=1&t=1712
Page 3 of 3

Author:  turbocat [ Tue Jan 12, 2021 10:32 pm ]
Post subject:  Re: Уязвимости ядра

As I understand it, you did this: the application ignores the system call 69, 4. if launched without the debug flag?
This contradicts: All subfunctions except 4 and 5 apply only to processes / threads started from the current function 70 with the debug flag set. Debugging of multithreaded programs is not yet supported.

Author:  Coldy [ Wed Jan 13, 2021 1:22 am ]
Post subject:  Re: Уязвимости ядра

Exception for 69.4 is possibly wrong. What's problem use 70.7 before? What for use 69.4 and 69.5 directly?

Author:  Kenshin [ Tue Jan 26, 2021 3:59 am ]
Post subject:  Re: Уязвимости ядра

Критическая уязвимость ядра при запуске программ. Заключается в использовании неправильных значений в заголовке исполнимого файла формата MENUET0x:
1. Если в заголовке указать некорректные адреса для буферов, куда должны быть записаны командная строка и путь к исп. файлу, можно записывать произвольные данные во все участки памяти доступные ядру, а значит иметь полный доступ к системе и запускать код с привилегиями ядра.
2. Если в заголовке исполняемого файла указать некорректный размер требуемой приложением памяти (например больше 0x80000000), ядро упадёт, а при меньших размерах (меньших 0x80000000, но больших по всей видимости, чем доступная физическая память) упасть с undefined exception может либо само приложение, либо процесс, запускающий его, либо случайный процесс, либо несколько таких процессов.

Author:  Kenshin [ Tue Jan 26, 2021 12:33 pm ]
Post subject:  Re: Уязвимости ядра

Ещё одна уязвимость. Тоже критическая. Если в заголовке файла скина указать неправильные указатели params/buttons/bitmaps произойдёт kernel crash. В зависимости от адреса указателя ядро падает по-разному, но обычно с page fault. Если использовать правильные указатели можно читать память ядра и прочие системные данные.

Author:  Kenshin [ Sun Jan 31, 2021 7:58 am ]
Post subject:  Re: Уязвимости ядра

Уязвимость (серьёзная, к сожалению) ядра при работе с форматом KPCK:
  • Если в заголовке указать неправильный размер исходного файла (dword по смещению +4), произойдёт kernel crash
  • Если повредить содержимое файла (т.е. всё, что идёт после заголовка), ядро также упадёт

Author:  turbocat [ Sun Jan 31, 2021 10:29 am ]
Post subject:  Re: Уязвимости ядра

Kenshin wrote:
Уязвимость (серьёзная, к сожалению) ядра при работе с форматом KPCK:
  • Если в заголовке указать неправильный размер исходного файла (dword по смещению +4), произойдёт kernel crash
  • Если повредить содержимое файла (т.е. всё, что идёт после заголовка), ядро также упадёт


Пожалуйста прикрепляйте файлы эксплуатирующие уязвимость. Так будет проще проверять исправлена ли она.

Author:  Kenshin [ Sun Jan 31, 2021 7:10 pm ]
Post subject:  Re: Уязвимости ядра

Ну вот, например, два эксплойта - сам kpack, запакованный самим собой, - в каждом из которых умышленно повреждён один (всего лишь) из байтов в начале файла (честно говоря, чёрт знает, где там кончается заголовок и начинаются данные, никакой документации по формату пока не попадалось):
Attachment:
kpack1.7z [9.72 KiB]
Downloaded 40 times

Attachment:
kpack2.7z [9.72 KiB]
Downloaded 39 times

Author:  rgimad [ Sat Feb 13, 2021 12:26 am ]
Post subject:  Re: Уязвимости ядра

Kenshin wrote:
честно говоря, чёрт знает, где там кончается заголовок и начинаются данные, никакой документации по формату пока не попадалось

https://habr.com/ru/company/kolibrios/b ... nt_8793311

Author:  Kenshin [ Sat Feb 13, 2021 8:28 am ]
Post subject:  Re: Уязвимости ядра

Весьма полезная ссылка. Спасибо.

Author:  rgimad [ Sun Feb 14, 2021 4:25 pm ]
Post subject:  Re: Уязвимости ядра

Kenshin wrote:
Критическая уязвимость ядра при запуске программ. Заключается в использовании неправильных значений в заголовке исполнимого файла формата MENUET0x:
1. Если в заголовке указать некорректные адреса для буферов, куда должны быть записаны командная строка и путь к исп. файлу, можно записывать произвольные данные во все участки памяти доступные ядру, а значит иметь полный доступ к системе и запускать код с привилегиями ядра.

Fixed in rev 8593

Author:  Kenshin [ Sun Feb 14, 2021 4:51 pm ]
Post subject:  Re: Уязвимости ядра

rgimad wrote:
Fixed in rev 8593

Круто, отличная работа! Теперь система стала чуточку надёжнее :)

Author:  rgimad [ Sun Feb 21, 2021 1:03 pm ]
Post subject:  Re: Уязвимости ядра

rev 8598 : fixed vulnerabilities in sysfn 18.11 and 36, now user applications cannot corrupt kernel memory via invalid buffer address
rev 8599 : fixed same vulnerability in sysfn 48.3

Page 3 of 3 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/