Board.KolibriOS.org

Official KolibriOS board
It is currently Wed Jul 28, 2021 4:35 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 59 posts ]  Go to page Previous 1 2 3 4 Next
Author Message
PostPosted: Tue Jan 12, 2021 10:32 pm 
Offline
User avatar

Joined: Thu Jun 25, 2020 1:14 am
Posts: 79
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.

_________________
Gentlemen, has it occurred to you to use libc.obj instead of "reinventing the wheel"?


Top
   
PostPosted: Wed Jan 13, 2021 1:22 am 
Offline

Joined: Tue Apr 09, 2019 8:57 pm
Posts: 58
Exception for 69.4 is possibly wrong. What's problem use 70.7 before? What for use 69.4 and 69.5 directly?


Top
   
PostPosted: Tue Jan 26, 2021 3:59 am 
Offline
User avatar

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


Top
   
PostPosted: Tue Jan 26, 2021 12:33 pm 
Offline
User avatar

Joined: Tue Jan 26, 2021 3:38 am
Posts: 36
Ещё одна уязвимость. Тоже критическая. Если в заголовке файла скина указать неправильные указатели params/buttons/bitmaps произойдёт kernel crash. В зависимости от адреса указателя ядро падает по-разному, но обычно с page fault. Если использовать правильные указатели можно читать память ядра и прочие системные данные.


Top
   
PostPosted: Sun Jan 31, 2021 7:58 am 
Offline
User avatar

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


Top
   
PostPosted: Sun Jan 31, 2021 10:29 am 
Offline
User avatar

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


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

_________________
Gentlemen, has it occurred to you to use libc.obj instead of "reinventing the wheel"?


Top
   
PostPosted: Sun Jan 31, 2021 7:10 pm 
Offline
User avatar

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

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


Top
   
PostPosted: Sat Feb 13, 2021 12:26 am 
Offline
User avatar

Joined: Mon Apr 06, 2020 1:09 pm
Posts: 106
Kenshin wrote:
честно говоря, чёрт знает, где там кончается заголовок и начинаются данные, никакой документации по формату пока не попадалось

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

_________________
The best way to predict the future is to create it.


Top
   
PostPosted: Sat Feb 13, 2021 8:28 am 
Offline
User avatar

Joined: Tue Jan 26, 2021 3:38 am
Posts: 36
Весьма полезная ссылка. Спасибо.


Top
   
PostPosted: Sun Feb 14, 2021 4:25 pm 
Offline
User avatar

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

Fixed in rev 8593

_________________
The best way to predict the future is to create it.


Top
   
PostPosted: Sun Feb 14, 2021 4:51 pm 
Offline
User avatar

Joined: Tue Jan 26, 2021 3:38 am
Posts: 36
rgimad wrote:
Fixed in rev 8593

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


Top
   
PostPosted: Sun Feb 21, 2021 1:03 pm 
Offline
User avatar

Joined: Mon Apr 06, 2020 1:09 pm
Posts: 106
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

_________________
The best way to predict the future is to create it.


Top
   
PostPosted: Tue Apr 20, 2021 2:07 am 
Offline

Joined: Tue Nov 03, 2020 5:47 pm
Posts: 49
уязвимость в 30 сисфункции подфункции 2
если указать вместо буфера адрес 0x80003000 ядро падает

часть кода вызвавшая проблему:
mov eax,30
mov ebx,2
mov ecx,0x80003000
mov edx,255
int 0x40

аналогичная уязвимость в 74 сисфункции


Top
   
PostPosted: Tue Apr 20, 2021 8:19 pm 
Offline

Joined: Tue Nov 03, 2020 5:47 pm
Posts: 49
нашёл уязвимости в сисфункциях:
30.5 перезапись системной области памяти с последующим падением ядра
70.0 перезапись системной области памяти с последующим падением ядра
70.5 перезапись системной области памяти с последующим падением ядра
//Везде вместо указателя на буфер ставил 0x80003000

70.3 чтение системной области памяти и запись этого в файл
70.2 тоже самое
//Везде вместо указателя на буфер ставил 0x80003000


70.1 программа начинает сильно грузить процессор(на 100%), после её отключения система зависает намертво

54.2 запись в буфер обмена данных по адресу 0x80003000
//но при попытке получить указатель на эти данные программа падала

все данные по этому в беседе вк "KolibriOS чат", поиск по #БАГИ


Top
   
PostPosted: Thu Apr 22, 2021 11:04 pm 
Offline
User avatar

Joined: Mon Apr 06, 2020 1:09 pm
Posts: 106
#8675 fixed vulnerability (reading kernel memory from userspace) in sysfn25

_________________
The best way to predict the future is to create it.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 59 posts ]  Go to page Previous 1 2 3 4 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited