Contiki-ng
Уязвимости
49
Эксплуатируемые
0
Макс. CVSS
10
Макс. EPSS
0.58695
Распределение по критичности
Критический
20
Высокий
23
Средний
6
Низкий
0
Затронутые диапазоны версий
4.0–4.54.4–4.5< 4.2< 4.5< 4.6< 4.7< 4.8< 4.9≤ 3.0≤ 4.1≤ 4.3≤ 4.4≤ 4.5≤ 4.6≤ 4.8≤ 4.9
Также сопоставлено как (исходные строки): contiki-ng,uip,contiki,contiki-ng.
Топ уязвимостей
CVE-2018-19417Проблема обнаружена в MQTT-сервере в Contiki-NG до 4.2. Функция parse_publish_vhdr(), которая анализирует сообщения MQTT PUBLISH с заголовком переменной длины, использует memcpy для ввода данных в буфер фиксированного размера. Выделенный буфер может вместить только MQTT_MAX_TOPIC_LENGTH (по умолчанию 64) байта, и проверка длины отсутствует. Это может привести к удаленному выполнению кода через атаку с разрушением стека (перезапись адреса возврата функции). Contiki-NG не отделяет MQTT-сервер от других серверов и модулей ОС, поэтому возможен доступ ко всем областям памяти.
CVE-2023-31129Операционная система Contiki-NG версий 4.8 и старше может быть вызвана для разыменования нулевого указателя в коде обработки сообщений для запросов маршрутизатора IPv6. Contiki-NG содержит реализацию обнаружения соседей IPv6 (ND) в модуле `os/net/ipv6/uip-nd6.c`. Протокол ND включает тип сообщения под названием Router Solicitation (RS), который используется для обнаружения маршрутизаторов и обновления их адресной информации через SLLAO (Source Link-Layer Address Option). Если указанный исходный адрес изменяется, данная запись соседа устанавливается в состояние STALE. Обработчик сообщений не проверяет наличие RS-сообщений с SLLAO, который указывает на изменение адреса канального уровня, для которого фактически может быть создана запись соседа для указанного адреса. Полученный указатель используется без проверки, что приводит к разыменованию нулевого указателя типа `uip_ds6_nbr_t`. Проблема была исправлена в ветке `develop` Contiki-NG и будет включена в предстоящий выпуск 4.9. В качестве обходного пути пользователи могут применить запрос на включение Contiki-NG #2271, чтобы исправить проблему напрямую.
CVE-2023-28116Contiki-NG - это кроссплатформенная операционная система с открытым исходным кодом для устройств интернета вещей (IoT). В версиях 4.8 и более ранних в модуле BLE L2CAP операционной системы Contiki-NG может произойти запись за пределы буфера. Сетевой стек Contiki-NG использует глобальный буфер (packetbuf) для обработки пакетов, размер которого равен PACKETBUF_SIZE. В частности, при использовании модуля BLE L2CAP с конфигурацией по умолчанию значение PACKETBUF_SIZE становится больше фактического размера packetbuf. Когда большие пакеты обрабатываются модулем L2CAP, переполнение буфера может произойти при копировании данных пакета в packetbuf. Уязвимость была исправлена в ветке "develop" Contiki-NG и будет включена в выпуск 4.9. Проблему можно обойти, применив исправление вручную.
CVE-2022-35927Contiki-NG — это кроссплатформенная операционная система с открытым исходным кодом для устройств IoT. В реализации протокола маршрутизации RPL-Classic в операционной системе Contiki-NG входящее управляющее сообщение DODAG Information Option (DIO) может содержать параметр информации о префиксе с параметром длины. Однако значение параметра длины не проверяется, и можно вызвать переполнение буфера при копировании префикса в функцию set_ip_from_prefix. Эта уязвимость затрагивает всех, кто использует версию Contiki-NG до 4.7, которая может получать сообщения RPL DIO от внешних сторон. Чтобы получить исправленную версию, пользователи должны перейти на Contiki-NG 4.7 или более позднюю версию. Обходные пути для этой проблемы отсутствуют.
CVE-2021-21282Contiki-NG — это кроссплатформенная операционная система с открытым исходным кодом для устройств интернета вещей. В версиях до 4.5 переполнение буфера может быть вызвано входным пакетом при использовании любой из двух реализаций RPL Contiki-NG в режиме маршрутизации от источника. Проблема была исправлена в Contiki-NG 4.5. Пользователи могут применить исправление для этой уязвимости внепланово в качестве обходного пути.
CVE-2021-21281Contiki-NG — это кроссплатформенная операционная система с открытым исходным кодом для устройств интернета вещей. В версиях Contiki-NG до 4.6 существует уязвимость переполнения буфера. После установки TCP-сокета с использованием библиотеки tcp-socket удаленная сторона может отправить пакет с не проверенным смещением данных. Проблема была исправлена в Contiki-NG 4.6. Пользователи могут применить исправление для этой уязвимости внепланово в качестве обходного пути.
CVE-2021-21280Contiki-NG — это кроссплатформенная операционная система с открытым исходным кодом для устройств интернета вещей. В версиях Contiki-NG до 4.6 возможно вызвать запись за пределами выделенной памяти при передаче пакета 6LoWPAN с цепочкой заголовков расширения. К сожалению, записанный заголовок не проверяется на соответствие доступному пространству, что позволяет выполнять запись за пределами буфера. Проблема была исправлена в Contiki-NG 4.6. Пользователи могут применить исправление для этой уязвимости внепланово в качестве обходного пути.
CVE-2020-24336Проблема была обнаружена в Contiki до версии 3.0 и Contiki-NG до версии 4.5. Код для анализа ответов доменного имени типа A в ip64-dns64.c не проверяет, является ли длина адреса в ответе допустимой. Поэтому при копировании адреса произвольной длины может произойти переполнение буфера. Эта ошибка может быть использована всякий раз, когда NAT64 включен.
CVE-2020-14936Переполнения буфера были обнаружены в Contiki-NG 4.4 через 4.5, в агенте SNMP. Функциям, анализирующим OID в запросах SNMP, не хватает достаточной проверки емкости выделенного целевого буфера при записи проанализированных значений OID. Функция snmp_oid_decode_oid() может перезаписывать области памяти за пределами предоставленного целевого буфера при вызове из snmp_message_decode() при получении запроса SNMP. Поскольку содержимое операций записи предоставляется извне в запросах SNMP, это позволяет удаленно перезаписывать области памяти устройства IoT за пределами выделенного буфера. Это переполнение может позволить удаленно перезаписывать стек и статически выделенные области памяти переменных, отправив специально созданный запрос SNMP.
CVE-2020-14935Переполнения буфера были обнаружены в Contiki-NG 4.4 через 4.5, в функции кодирования ответа на запрос SNMP bulk get. Функция, анализирующая полученный запрос SNMP, не проверяет запрошенные переменные входного сообщения на соответствие емкости внутреннего буфера механизма SNMP. Когда собирается ответ на запрос bulk get, в snmp_engine_get_bulk() выделяется буфер стека, предназначенный для OID (с ограниченной емкостью). Когда snmp_engine_get_bulk() заполняет буфер стека, может возникнуть условие переполнения из-за отсутствия проверки длины входных данных. Это позволяет перезаписывать области стека за пределами выделенного буфера, включая адрес возврата из функции. В результате путь выполнения кода может быть перенаправлен на адрес, указанный в полезной нагрузке SNMP bulk get. Если целевая архитектура использует общее адресное пространство для программной и оперативной памяти, также может быть возможно предоставить код в полезной нагрузке запроса SNMP и перенаправить путь выполнения на удаленно внедренный код, изменив адрес возврата функции.
CVE-2020-14934Переполнения буфера были обнаружены в Contiki-NG 4.4 через 4.5, в агенте SNMP. Функция, анализирующая полученный запрос SNMP, не проверяет запрошенные переменные входного сообщения на соответствие емкости внутреннего буфера механизма SNMP. Если количество переменных в запросе превышает выделенный буфер, происходит запись в память за пределами границ буфера. Эта операция записи предоставляет возможность перезаписать другие переменные, выделенные в разделе .bss приложением. Поскольку отправитель фрейма контролирует содержимое, которое будет записано за пределами границ буфера, и нет строгого разделения памяти процесса, эта проблема может позволить перезаписать конфиденциальные области памяти устройства IoT.
CVE-2019-8359Обнаружена проблема в Contiki-NG до версии 4.3 и Contiki до версии 3.0. В разделе данных присутствует запись за пределами границ во время повторной сборки фрагментов 6LoWPAN при наличии поддельных смещений фрагментов в os/net/ipv6/sicslowpan.c.
CVE-2018-1000804contiki-ng версии 4 содержит уязвимость переполнения буфера в механизме базы данных AQL (Antelope Query Language), что может привести к тому, что злоумышленник сможет выполнить удаленное выполнение кода на устройстве с использованием операционной системы Contiki-NG. Эта атака, по-видимому, может быть осуществлена, если злоумышленник сможет запустить вредоносный код AQL (например, через атаку, подобную SQL-инъекции).
CVE-2024-41126Contiki-NG — это кроссплатформенная операционная система с открытым исходным кодом для устройств IoT. Чтение за пределами выделенной памяти на 1 байт может быть инициировано при отправке пакета на устройство, работающее под управлением операционной системы Contiki-NG с включенным SNMP. Модуль SNMP отключен в конфигурации Contiki-NG по умолчанию. Уязвимость существует в модуле os/net/app-layer/snmp/snmp-message.c, где функция snmp_message_decode не проверяет границу буфера сообщения при чтении байта из него сразу после декодирования идентификатора объекта (OID). Проблема была исправлена в запросе на включение Contiki-NG 2937. Он будет включен в следующий выпуск Contiki-NG. Пользователям рекомендуется либо применить исправление вручную, либо дождаться следующего выпуска. Обходным решением является отключение модуля SNMP в конфигурации сборки Contiki-NG.
CVE-2024-41125Contiki-NG — это кроссплатформенная операционная система с открытым исходным кодом для устройств IoT. Чтение за пределами выделенной памяти на 1 байт может быть инициировано при отправке пакета на устройство, работающее под управлением операционной системы Contiki-NG с включенным SNMP. Модуль SNMP отключен в конфигурации Contiki-NG по умолчанию. Уязвимость существует в модуле os/net/app-layer/snmp/snmp-ber.c, где функция snmp_ber_decode_string_len_buffer декодирует длину строки из полученного пакета SNMP. В одном месте один байт считывается из буфера без проверки наличия в буфере другого байта, что приводит к возможному чтению за пределами выделенной памяти. Проблема была исправлена в запросе на включение Contiki-NG #2936. Он будет включен в следующий выпуск Contiki-NG. Пользователям рекомендуется применить исправление вручную или дождаться следующего выпуска. Обходным решением является отключение модуля SNMP в конфигурации сборки Contiki-NG.
CVE-2023-34101Contiki-NG - это операционная система для устройств интернета вещей. В версии 4.8 и более ранних версиях при обработке пакетов ICMP DAO в функции `dao_input_storing` ОС Contiki-NG не проверяет, достаточно ли велик буфер пакетов, чтобы содержать необходимые байты, прежде чем обращаться к ним. До 16 байтов могут быть прочитаны за пределами границ в функции `dao_input_storing`. Злоумышленник может усечь пакет ICMP так, чтобы он не содержал достаточно данных, что приведет к чтению за пределами границ на этих строках. Проблема была исправлена в ветке "develop" Contiki-NG и, как ожидается, будет включена в выпуск 4.9. В качестве обходного пути можно применить изменения в запросе на включение Contiki-NG #2435 для исправления системы.
CVE-2021-21410Contiki-NG — это кроссплатформенная операционная система с открытым исходным кодом для устройств IoT следующего поколения. Переполнение буфера можно вызвать пакетами 6LoWPAN, отправленными на устройства под управлением Contiki-NG 4.6 и более ранних версий. Функция распаковки заголовка IPv6 (<code>uncompress_hdr_iphc</code>) не выполняет надлежащие проверки границ при чтении из буфера пакетов. Следовательно, можно создать сжатый пакет 6LoWPAN, который будет считывать больше байтов, чем доступно из буфера пакетов. На момент публикации нет выпуска с доступным исправлением. Пользователи могут применить исправление для этой уязвимости вне диапазона в качестве обходного пути.
CVE-2020-27634В Contiki 4.5 TCP ISN неправильно случайны.
CVE-2020-14937Проблемы с доступом к памяти за пределами границ буфера были обнаружены в Contiki-NG 4.4 через 4.5, в кодировщике/декодировщике SNMP BER. Длина предоставленных входных/выходных буферов недостаточно проверяется во время кодирования и декодирования данных. Это может привести к чтению или записи за пределами границ буфера в функциях декодирования и кодирования BER.
CVE-2020-12141Чтение за пределами допустимого диапазона в стеке SNMP в Contiki-NG 4.4 и более ранних версиях позволяет злоумышленнику вызвать отказ в обслуживании и потенциально раскрыть информацию через специально созданные пакеты SNMP в snmp_ber_decode_string_len_buffer в os/net/app-layer/snmp/snmp-ber.c.
CVE-2022-36054Contiki-NG — это кроссплатформенная операционная система с открытым исходным кодом для IoT-устройств нового поколения. Реализация 6LoWPAN в операционной системе Contiki-NG (файл os/net/ipv6/sicslowpan.c) содержит входную функцию, которая обрабатывает входящие пакеты и копирует их в буфер пакета. Из-за отсутствия проверки длины во входной функции можно записывать за пределами границы буфера пакета. Уязвимость может быть использована любым, у кого есть возможность отправлять пакеты 6LoWPAN в систему Contiki-NG. В частности, уязвимость проявляется при отправке любого из двух типов пакетов 6LoWPAN: нефрагментированного пакета или первого фрагмента фрагментированного пакета. Если пакет достаточно велик, последующее копирование памяти вызовет запись за пределы границ с данными, предоставленными злоумышленником.
CVE-2022-36053Contiki-NG — это кроссплатформенная операционная система с открытым исходным кодом для IoT-устройств нового поколения. Низкоуровневый сетевой стек IPv6 Contiki-NG имеет модуль буфера (os/net/ipv6/uipbuf.c), который обрабатывает заголовки расширений IPv6 во входящих пакетах данных. В рамках этой обработки функция uipbuf_get_next_header приводит указатель на структуру uip_ext_hdr к буферу пакета по разным смещениям, где ожидается обнаружение заголовков расширений, а затем считывает из этой структуры. Из-за отсутствия проверки границ приведение можно выполнить таким образом, чтобы структура выходила за конец пакета. Следовательно, с помощью тщательно разработанного пакета можно заставить систему Contiki-NG считывать данные за пределами буфера пакета. Исправление, устраняющее уязвимость, включено в Contiki-NG 4.8.
CVE-2022-36052Contiki-NG — это кроссплатформенная операционная система с открытым исходным кодом для IoT-устройств нового поколения. Реализация 6LoWPAN в Contiki-NG может приводить структуру заголовка UDP по определенному смещению в буфере пакета. Код не проверяет, достаточно ли велик буфер пакета для размещения полной структуры заголовка UDP, начиная со смещения, где выполняется приведение. Следовательно, можно вызвать чтение за пределами буфера пакета. Проблема затрагивает всех, кто использует устройства с версиями Contiki-NG до 4.8, и которые могут получать пакеты 6LoWPAN от внешних сторон. Проблема была исправлена в Contiki-NG версии 4.8.
CVE-2020-12140Переполнение буфера в os/net/mac/ble/ble-l2cap.c в стеке BLE в Contiki-NG 4.4 и более ранних версиях позволяет злоумышленнику выполнять произвольный код через вредоносные кадры L2CAP.
CVE-2023-29001Contiki-NG — это кроссплатформенная операционная система с открытым исходным кодом для IoT-устройств. Операционная система Contiki-NG обрабатывает заголовки source routing headers (SRH) в двух альтернативных реализациях протокола RPL. Реализация IPv6 использует результаты этой обработки, чтобы определить, следует ли пересылать входящий пакет на другой хост. Из-за отсутствия проверки результирующего адреса следующего хопа в функции tcpip_ipv6_output в модуле os/net/ipv6/tcpip.c при получении пакета с локальным адресом следующего хопа может произойти неконтролируемая рекурсия. Злоумышленники, имеющие возможность отправлять IPv6-пакеты на хост Contiki-NG, могут, следовательно, вызвать глубоко вложенные рекурсивные вызовы, которые могут привести к переполнению стека. Уязвимость не была исправлена в текущем выпуске Contiki-NG, но ожидается, что она будет исправлена в следующем выпуске. Проблему можно исправить, применив патч в запросе на включение Contiki-NG #2264. Пользователям рекомендуется либо применить патч вручную, либо дождаться следующего выпуска. Известных обходных путей для этой уязвимости нет.