The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Уязвимость в Net-SNMP, допускающая удалённое выполнение кода"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Уязвимость в Net-SNMP, допускающая удалённое выполнение кода"  +/
Сообщение от opennews (?), 30-Дек-25, 11:21 
В пакете Net-SNMP, реализующем протоколы SNMP v1, SNMP v2c и SNMP v3, выявлена уязвимость (CVE-2025-68615), позволяющая добиться удалённого выполнения кода на сервере, использующем сервис snmptrapd для приёма и обработки trap-сообщений от устройств. По умолчанию сервис принимает запросы на 162 UDP-порту и запускается с правами root. Проблеме присвоен критический уровень опасности (9.8 из 10). Атака может быть совершена без прохождения аутентификации...

Подробнее: https://www.opennet.me/opennews/art.shtml?num=64530

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от Грудная Жаба (?), 30-Дек-25, 11:21   +3 +/
Есть особо одаренные, что выставляют SNMP наружу?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #7, #12

3. Сообщение от Я (??), 30-Дек-25, 11:28   +1 +/
Security? Not My Problem!
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #16

7. Сообщение от Аноним (7), 30-Дек-25, 11:58   +1 +/
Снял с языка.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #47

12. Сообщение от Анонисссм (?), 30-Дек-25, 12:12   +3 +/
>что выставляют SNMP наружу

бывают корпсети на десятки-сотни тысяч устройств.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #17

14. Сообщение от Аноним (14), 30-Дек-25, 12:59   –2 +/
этот SNMP сам по себе всегда был дырой и им остается без всякой помощи от трапов
Ответить | Правка | Наверх | Cообщить модератору

16. Сообщение от крокодил мимо.. (-), 30-Дек-25, 13:03   +/
> Security? Not My Problem!

именно так.. уязвимостей тут нет за ненадобностью, только фичи (документированные и не документированные)..

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3

17. Сообщение от HyC (?), 30-Дек-25, 13:12   +2 +/
> бывают корпсети на десятки-сотни тысяч устройств.

В корпсетях здорового человека существует отдельный административный VLAN для железяк. Из которого даже маршрута в остальные локальные сети если делать по уму нема, хочешь рулить - на рабочее место себе его отдельным планом вытащи и отдельным интерфейсом в него втыкайся.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #22

18. Сообщение от Анонимусс (-), 30-Дек-25, 13:17   +1 +/
На самом деле там все намного интереснее.
Прям TEH DRAMA "Сишники и Буфер" в трех частях :)

Текущий фикс это попытка исправить buffer overflow [1]

- if (trapOid[trapOidLen - 1] != 0) {
+ if (trapOidLen >= 0 && trapOid[trapOidLen - 1] != 0) {

А предыдущий код c trapOid[trapOidLen - 1] != 0 появился [2] в кодовой базе как минимум 22 года назад в Jun 23, 2003, когда выполнялся рефакторинг файла snmptrapd_handlers.c.

На ветке мастер исправление "> 0" уже откатили и заменили [3] на универсальную проверку. Это переполнения trapOid было успешно исправлено всего за три попытки! Невероятный успех!

Впрочем, это не единственная проблема с trapOid [4]

Запросил добавление этого в новость, может обновят.
А выводы... выводы делайте сами :)

-----------------------------------------------

[1] github.com/net-snmp/net-snmp/commit/ce1c9d4455a405d2ed8a2ac7b26b778e008e86d5

[2] github.com/net-snmp/net-snmp/commit/7236e8414ad463a0a5a1b699ad9aa2a2bf1b9342#diff-0ab05b8a4ba86a8f21ecbdc200ff67cfd4edef5d8160c161b6eab64646fe31cdR93

[3] github.com/net-snmp/net-snmp/commit/4a201ac239d2cedff32a9205d389fdb523487878

[4] github.com/net-snmp/net-snmp/commit/ce1c9d4455a405d2ed8a2ac7b26b778e008e86d5

Ответить | Правка | Наверх | Cообщить модератору

19. Сообщение от onemetremail (?), 30-Дек-25, 14:08   +1 +/
Sbj написан c, perl, python. Переписать на rust, go, haskell не предлагаю. Однако, для новых следует задуматься или о других ЯП или найти тех, кто длину буфера проверяет каждый раз.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #36

22. Сообщение от Аноним (22), 30-Дек-25, 15:55   +/
В распределённых корпсетях здорового человека еще существует  IPACL и SNMPv3.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17

24. Сообщение от онанист (?), 30-Дек-25, 16:49   +1 +/

Передача специально оформленных пакетов приводит к записи данных за границу буфера trapOid, что может быть эксплуатировано для выполнения кода


даёшь переход на процессоры гарвардской архитектуры!

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #49

33. Сообщение от Аноним (-), 30-Дек-25, 19:53   –2 +/
> присутствует в кодовой базе с 23 июня 2003 года
> Переполнения trapOid было успешно исправлено за три попытки

Что??? Ахаха! Серьезно??
Вот это ПОПЕДА!

Сишники прям доказывают насколько хорошо они пишут код.
Всего три попытки понадобилось, чтобы разобраться как размер буфера считать))
Но главное что приложение не падает как у некоторых.
Ну и позволяет выполнить произвольный код скорее всего с 2003 года.

Зато клованы будут рассказывать что "ано просто работает!!111"

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #35

35. Сообщение от Аноним (36), 30-Дек-25, 20:42   +/
Чего там за это времени выполнили? Перечисляй.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #33 Ответы: #46

36. Сообщение от Аноним (36), 30-Дек-25, 20:43   +/
Зачем?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #43

39. Сообщение от Аноним (39), 30-Дек-25, 21:46   +/
Там много стандартов этого С уже вышло. Подскажите, а неужели нет там механизма, чтобы пусть с уменьшением производительности, но не допускать выполнения кода при выходе за массив?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #40, #50

40. Сообщение от Аноним (40), 30-Дек-25, 21:49   +/
Перейти на Zig
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39

43. Сообщение от Аноним (-), 30-Дек-25, 22:36   +/
> Зачем?

Хороший вопрос.
Напр. чтобы неизвестно кто не выполнял произвольный код у тебя на серваке.
Жаль не все это понимают.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36

46. Сообщение от Аноним (-), 30-Дек-25, 23:05   +/
> Чего там за это времени выполнили?

Ты читать не умеешь? Написано же - "удалённого выполнения".
Причем не просто так, а правами root да еще и без прохождения аутентификации.
В общем все как тут любят))


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35

47. Сообщение от Аноним (47), 30-Дек-25, 23:38   +/
> сервис принимает запросы на 162 UDP-порту и запускается с правами root

Странно... Системдэшники говорят, что это только баш-портянки запускаются от рута...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7

49. Сообщение от Аноним (47), 30-Дек-25, 23:47   +/
> проверку выхода за границы массива

Эта проверка даже в древнем паскале уже была. Жамкаешь одну галочку - и если можно проверить статически - генерировалась compile-error, а если на внешние данные завязано - то вставлялась run-time проверка.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24

50. Сообщение от Аноним (47), 30-Дек-25, 23:49   +/
перейти на паскаль. Там есть проверки, как времени компиляции, так и при выполнении.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру