
Комментарии 11
"trapOidLen >= 0" вместо "trapOidLen > 0"
Т.е. запись можно 1 лишний байт?
Значит никакого удаленного выполнения кода нет?
Есть и очень простое. Вы можете записать в память в не предназначенное для этого место целый один байт. Вообще какой хотите байт. Это очень много.
Это не даёт возможность выполнения кода. В худшем случае - падение приложения, т.е. denial of service.
Легко. Записали по байту сколько угодно раз и передали выполнение туда.
В этот 1 байт?
Конечно. Не в этот, в один из добавленных.
Посмотреть райтапы любых CTF посерьезнее. Это довольно простая задача. Там иногда оставляют один бит для подобных манипуляций. Могут еще и сделать так что бы им можно было управлять с некоторой вероятностью.
Мне всегда казалось, что в условиях DEP (неисполняемой кучи и неисполняемого стека), максимум, что можно перезаписать - адрес возврата из функции, чтобы он указывал на ROP-цепочку, содержащуюся в тех же переданных данных. Что с учетом ASLR и рандомизации кучи, вообще малопонятно, как сделать. И явно не 1 байтом за раз.
Ну почему нет? NOP же можно записать и даже теоритически выполнить. )
выглядит как диверсия/закладка. переполнение буфера наверное можно найти деже без нейронки. такое уже в половине случаев чуть ли не при компиляции варнинги пишет.
и алгоритм RCE не до конца понятен.
В Net-SNMP выявлена критическая уязвимость CVE-2025-68615 с удалённым выполнением кода на сервере, где запущен snmptrapd