> Я не знаю как идиотам объяснять. Т.е. вы не знаете как объяснить то аморфное нечто, что вы, возможно, имели в виду, но идиот почему-то я?
> Ищите по словам stack guard page
> на опеннэте что ли... Как раз недавно была новость про обход
> оной в systemd.
https://www.opennet.ru/openforum/vsluhforumID3/116269.html
> но для успешной атаки требуется обойти применяемую в ядре технику защиты
> "stack guard-page", суть которой в подстановке граничных страниц памяти,
> обращение к которым приводит к генерации исключения (page-fault).
> Для обхода данной защиты из параллельно выполняемого потока systemd-journald было инициировано состояния гонки
> состояния гонки
Ой, да?
> Там ещё растофанатики предлагали переписать systemd на
> rust, чтобы такого не было. Ну-ну...
Нефанатики лучше бы почитали оригинал и что там на самом деле было:
https://seclists.org/oss-sec/2019/q1/54
- because the attacker-controlled alloca() can be very large (several megabytes of
command-line arguments); only Steps 3 (Jump over the stack guard page,
into another memory region) and 4 (Smash the stack, or another memory
region) are needed.- In Step 4 (Smash), the alloca() is fully written to (the vulnerability
is essentially a stpcpy(alloca(strlen(cmdline) + 1), cmdline)), and
the stpcpy() (a "wild copy") will therefore always crash into a
read-only or unmapped memory region:
Ну и как там гвард обошли почитайте, для общего развития полезно будет.