The OpenNET Project / Index page

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

Уязвимость в Net-SNMP, допускающая удалённое выполнение кода

30.12.2025 10:59

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

Уязвимость вызвана некорректной проверкой размера OID ("trapOidLen >= 0" вместо "trapOidLen > 0") перед копированием указанных в пакете данных в буфер фиксированного размера. Передача специально оформленных пакетов приводит к записи данных за границу буфера trapOid, что может быть эксплуатировано для выполнения кода атакующего с правами под которыми выполняется процесс snmptrapd. Уязвимость устранена в обновлениях Net-SNMP 5.9.5 и 5.10.pre2. В качестве дополнительной защиты рекомендуется заблокировать доступ из внешних сетей к UDP-порту 162 на межсетевом экране.

Дополнение: Уязвимость была добавлена при неудачной попытке исправить предыдущую проблему с переполнением буфера из-за некорректной проверки "trapOid[trapOidLen - 1] != 0". Изначальный код "trapOid[trapOidLen - 1] != 0" присутствует в кодовой базе с 23 июня 2003 года, когда выполнялся рефакторинг файла snmptrapd_handlers.c.

В master-ветке исправление "> 0" уже откатили и заменили на универсальную проверку. Переполнения trapOid было успешно исправлено за три попытки: 1, 2, 3. Что характерно, до этой уязвимости с trapOid были другие проблемы с записью за границу буфера.

  1. Главная ссылка к новости (https://www.zerodayinitiative....)
  2. OpenNews: Обновление голосовых данных Mozilla Common Voice 20
  3. OpenNews: В Net-SNMP нашли возможность записи в "read-only" ресурс.
  4. OpenNews: Возможность обхода SNMPv3 аутентификации в Net-SNMP, Cisco и Juniper
  5. OpenNews: Релиз пакета Net-SNMP 5.6
  6. OpenNews: DoS-уязвимость в Net-SNMP
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/64530-net-snmp
Ключевые слова: net-snmp, snmp
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (36) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Грудная Жаба (?), 11:21, 30/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Есть особо одаренные, что выставляют SNMP наружу?
     
     
  • 2.7, Аноним (7), 11:58, 30/12/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Снял с языка.
     
     
  • 3.38, Аноним (38), 21:37, 30/12/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.12, Анонисссм (?), 12:12, 30/12/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >что выставляют SNMP наружу

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

     
     
  • 3.17, HyC (?), 13:12, 30/12/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > бывают корпсети на десятки-сотни тысяч устройств.

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

     
     
  • 4.22, Аноним (22), 15:55, 30/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В распределённых корпсетях здорового человека еще существует  IPACL и SNMPv3.
     
     
  • 5.41, Аноним (41), 21:50, 30/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Как мне перестать с тебя орать?
     

  • 1.2, онанист (?), 11:22, 30/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    срочно переписать на русте
     
     
  • 2.4, Аноним (4), 11:56, 30/12/2025 Скрыто ботом-модератором     [к модератору]
  • –2 +/
     
  • 2.5, Аноним (4), 11:57, 30/12/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Основное достоинство Раста - он позволяет не задумываться о распределении памяти, а сосредоточиться непосредственно на алгоритме задачи.
     
     
  • 3.23, Аноним (22), 15:57, 30/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Почему всем  свидетелям Раста постоянно кто-то мешает сосредоточиться непосредственно на алгоритме задачи, если задачу решать не на Расте?
     
     
  • 4.34, Аноним (34), 20:25, 30/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Им некогда. Они свидетельствуют.
     
  • 4.37, Аноним (37), 21:15, 30/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    потому что когда пытаются сконцетрироваться на решении задачи не на расте, а не на технических моментах, то написать проверку выхода за границы массива получается только с третьего раза.
     
  • 2.6, Аноним (4), 11:58, 30/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Когда я стал программировать на Расте - моя жизнь изменилась!
     
     
  • 3.10, Аноним (7), 12:03, 30/12/2025 [^] [^^] [^^^] [ответить]  
  • +5 +/
    На форумах.
     
     
  • 4.26, Нерастоним (?), 18:16, 30/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Мне по-прежнему здесь скучно. Тему сраста оцениваю как крайне унылую.
     
     
  • 5.30, Аноним (30), 18:28, 30/12/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.8, Аноним (4), 11:59, 30/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Все мои знакомые перешли на Раст, когда я рассказал им о достоинствах этого нового языка.
     
     
  • 3.11, Аноним (7), 12:04, 30/12/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.27, Нерастоним (?), 18:18, 30/12/2025 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 3.31, Аноним (31), 19:27, 30/12/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Они же все трапы.
     
  • 2.15, Аноним (15), 13:01, 30/12/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.20, Аноним (20), 14:51, 30/12/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    на расте можно не думать, компилятор сам все проблемы решает, просто пишешь на самой свежей версии, но осторожнее с unsafe, если он появился значит в крейте нет готовых функций, просто добавить ещё один unsafe, чтобы наверняка обезопасить код.
     
     
  • 3.32, Аноним (31), 19:28, 30/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ты вайбкодинг описал. Вайкодингу не нужен Раст.
     

  • 1.3, Я (??), 11:28, 30/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Security? Not My Problem!
     
     
  • 2.16, крокодил мимо.. (-), 13:03, 30/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Security? Not My Problem!

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

     

  • 1.14, Аноним (14), 12:59, 30/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    этот SNMP сам по себе всегда был дырой и им остается без всякой помощи от трапов
     
  • 1.18, Анонимусс (-), 13:17, 30/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +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

     
  • 1.19, onemetr (?), 14:08, 30/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Sbj написан c, perl, python. Переписать на rust, go, haskell не предлагаю. Однако, для новых следует задуматься или о других ЯП или найти тех, кто длину буфера проверяет каждый раз.
     
     
  • 2.36, Аноним (36), 20:43, 30/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем?
     

  • 1.24, онанист (?), 16:49, 30/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/

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


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

     
     
  • 2.28, Нерастоним (?), 18:21, 30/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Хогвартцской, ты хотел написать?
     

  • 1.33, Аноним (-), 19:53, 30/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > присутствует в кодовой базе с 23 июня 2003 года
    > Переполнения trapOid было успешно исправлено за три попытки

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

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

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

     
     
  • 2.35, Аноним (36), 20:42, 30/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Чего там за это времени выполнили? Перечисляй.
     

  • 1.39, Аноним (39), 21:46, 30/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Там много стандартов этого С уже вышло. Подскажите, а неужели нет там механизма, чтобы пусть с уменьшением производительности, но не допускать выполнения кода при выходе за массив?
     
     
  • 2.40, Аноним (41), 21:49, 30/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Перейти на Zig
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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