Page 4 of 6

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

Posted: Thu Apr 22, 2021 11:58 pm
by rgimad
#8676 fixed vulnerability (kernel memory rewrite) in sysfn 30.2 and 30.5
#8680 fixed multiple vulnerabilities in sysfn70 caused by absence of user addresses check

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

Posted: Sat Apr 24, 2021 7:15 pm
by Doczom
Уязвимость в 4 сисфункции
Описание: система падает
Описание уязвимости: везде надо ставить указатели поставил системные адреса

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

Posted: Sat Apr 24, 2021 7:23 pm
by Doczom
сисфункции с уязвимостями:
7
15.5
48.2
65
74.1
75.6 //возможно
75.7 //возможно

60 и 69 сисфункции не тестил, посмотрю позже
также возможны уязвимости в 76 сисфункции, но это лучше в исходниках смотреть, так как доки на неё ничего (мне уж точно) не объясняют. Но возможно она даёт прямой доступ к сетевым функциям в обход сокетов

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

Posted: Sat Apr 24, 2021 8:06 pm
by Coldy
Doczom,
offtop по твоему коду:

Code: Select all

dd     1           ; версия заголовка (всегда 1)
таки уже не всегда, теперь и 2 бывает.
Подробности тут viewtopic.php?f=1&t=1839&start=75#p76483

По уязвимости:
пожалуйста, предоставь больше данных,
например, как влияет изменения аргументов, т.е. когда именно проявляется баг, а когда не проявляется?

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

Posted: Sun Apr 25, 2021 3:51 pm
by Doczom
Coldy wrote:Doczom,
offtop по твоему коду:

Code: Select all

dd     1           ; версия заголовка (всегда 1)
таки уже не всегда, теперь и 2 бывает.
Подробности тут viewtopic.php?f=1&t=1839&start=75#p76483

По уязвимости:
пожалуйста, предоставь больше данных,
например, как влияет изменения аргументов, т.е. когда именно проявляется баг, а когда не проявляется?
По "уязвимостям" в сисфункциях 7, 15.5, 65, .
Там "уязвимость" заключается в возможности вывести данные в фон рабочего стола/окна из любого адреса, в том числе и из системной области памяти, и возможность прочитать эти данные есть.

По 74.1 и 4 сисфункциям: они просто приводят к крашу памяти, то есть если ввести в эти сисфункции вместо буфера для данных системный адрес(от 0х80000000) то эти сисфункции запишут данные по этому адресу, а это может привести, в самом лучшем для пользователя случае, к зависанию, а в самом частом случае к падению ядра.

48.2 я бы даже уязвимостью не назвал, так , вывести данные из ядра можно, но прочитать вроде нет. это же касается и 54 сисфункции, но её надо тестить и смотреть реализацию.

75.6 75.7 тоже самое одно может(возможно) прочесть данные из ядра , другая может записать данные в ядро.
А по 76 сисфункции в вики инфы почти нет, в исходнике глянул, вроде доступ к сетевым функциям в обход сокетов, но это не точно.

70 сисфункция что-то с чем-то , так как её через int 0x40 юзало само ядро)

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

Posted: Mon Apr 26, 2021 11:53 am
by Leency
Coldy wrote:Doczom,
offtop по твоему коду:

Code: Select all

dd     1           ; версия заголовка (всегда 1)
таки уже не всегда, теперь и 2 бывает.
Я обновил example.asm из образа #8682

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

Posted: Wed Apr 28, 2021 10:11 am
by Coldy
Doczom wrote:сисфункции с уязвимостями:
...
74.1
...
Fixed in #8700.

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

Posted: Wed Apr 28, 2021 1:00 pm
by Coldy
Coldy wrote:Exception for 69.4 is possibly wrong. What's problem use 70.7 before? What for use 69.4 and 69.5 directly?
Функция 69 - отладка.
...
Все подфункции, кроме 4 и 5, применимы только к процессам/потокам, запущенным из текущего функцией 70 с установленным флагом отладки.
...
Direct thread suspend with syscall 69.4 has been disabled in rev. #8534. So, this feature no more supported because makes no sense. It also created an additional vulnerability. Please, update docs.

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

Posted: Sun May 09, 2021 5:29 pm
by Doczom
#8711 fixed vulnerability (reading kernel memory from userspace) in sysfn 54.2
#8712 fixed vulnerability (reading kernel memory from userspace) in sysfn 48.2
#8713 fixed vulnerability (reading kernel memory from userspace) in sysfn 47
#8714 fixed vulnerability (reading kernel memory from userspace) in sysfn 7, 15.5 and 65
#8715 fixed vulnerability (kernel memory rewrite) in sysfn 4

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

Posted: Tue Jun 15, 2021 11:23 pm
by turbocat
Нашёл очень опасную уязвимость, которая ставит под угрозу использования КОС в качестве серверной ОС. При DoS атаке, а именно SYN-флуде(даже если порт закрыт!), система сходит с ума: сперва начинаются тормоза, рандомное падение запущенных программ(у меня упала доска отладки и меню), а заканчивается это полным зависанием КОС (иногда проги не падают и она зависает намертво сразу).
Правда не понятно проблема это ядра, сетевого стека или даже драйвера. Хотя... На реальном железе и виртуалке разные сетевухи, но поведение аналогичное.
Досил с помощью hping3:

Code: Select all

sudo hping3 -S --flood -V -p 80 192.168.0.101
PS. Один раз доска выжила и вывела следующие:
Spoiler:
Dx6Cw-5mAhM.jpg
Dx6Cw-5mAhM.jpg (552.79 KiB)
Viewed 8332 times

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

Posted: Sun Jun 20, 2021 11:37 pm
by hidnplayr
I never said network stack was ready for production :)
Maybe should add a warning?

At least part of the problem seems to be in network drivers.
Fix for PcNET32 has been committed in #8898.

Other drivers left as an exercise to the readers :mrgreen:

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

Posted: Fri Jun 25, 2021 12:53 pm
by Coldy
даже если порт закрыт!
Where exactly is the port closed? Kolibri has firewall? :shock:

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

Posted: Mon Jul 05, 2021 10:14 pm
by hidnplayr
turbocat: RTL8169 fixed in #8997, sent 100 million packets, no longer able to reproduce.

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

Posted: Wed Jul 14, 2021 10:54 pm
by turbocat
hidnplayr wrote:turbocat: RTL8169 fixed in #8997, sent 100 million packets, no longer able to reproduce.
Thank you very much for fixing the driver for my network card. The bug really disappeared .... But a new one appeared ... After a long flood with the help of hping, the driver dies and the network falls off. Here the OS process has crashed. That's all. Maybe you take a look again)

PS. PcNET32 behaves the same in virtualbox ... And even weirder ...
Spoiler:
efBZZDSZPUw.jpg
efBZZDSZPUw.jpg (541.9 KiB)
Viewed 7192 times

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

Posted: Thu Nov 04, 2021 11:02 pm
by SovietPony
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?