Куда я попал?
SECURITM это SGRC система, ? автоматизирующая процессы в службах информационной безопасности. SECURITM помогает построить и управлять ИСПДн, КИИ, ГИС, СМИБ/СУИБ, банковскими системами защиты.
А еще SECURITM это место для обмена опытом и наработками для служб безопасности.

CVE-2024-27405

PUBLISHED 04.05.2025

CNA: Linux

usb: gadget: ncm: Avoid dropping datagrams of properly parsed NTBs

Обновлено: 04.05.2025
In the Linux kernel, the following vulnerability has been resolved: usb: gadget: ncm: Avoid dropping datagrams of properly parsed NTBs It is observed sometimes when tethering is used over NCM with Windows 11 as host, at some instances, the gadget_giveback has one byte appended at the end of a proper NTB. When the NTB is parsed, unwrap call looks for any leftover bytes in SKB provided by u_ether and if there are any pending bytes, it treats them as a separate NTB and parses it. But in case the second NTB (as per unwrap call) is faulty/corrupt, all the datagrams that were parsed properly in the first NTB and saved in rx_list are dropped. Adding a few custom traces showed the following: [002] d..1 7828.532866: dwc3_gadget_giveback: ep1out: req 000000003868811a length 1025/16384 zsI ==> 0 [002] d..1 7828.532867: ncm_unwrap_ntb: K: ncm_unwrap_ntb toprocess: 1025 [002] d..1 7828.532867: ncm_unwrap_ntb: K: ncm_unwrap_ntb nth: 1751999342 [002] d..1 7828.532868: ncm_unwrap_ntb: K: ncm_unwrap_ntb seq: 0xce67 [002] d..1 7828.532868: ncm_unwrap_ntb: K: ncm_unwrap_ntb blk_len: 0x400 [002] d..1 7828.532868: ncm_unwrap_ntb: K: ncm_unwrap_ntb ndp_len: 0x10 [002] d..1 7828.532869: ncm_unwrap_ntb: K: Parsed NTB with 1 frames In this case, the giveback is of 1025 bytes and block length is 1024. The rest 1 byte (which is 0x00) won't be parsed resulting in drop of all datagrams in rx_list. Same is case with packets of size 2048: [002] d..1 7828.557948: dwc3_gadget_giveback: ep1out: req 0000000011dfd96e length 2049/16384 zsI ==> 0 [002] d..1 7828.557949: ncm_unwrap_ntb: K: ncm_unwrap_ntb nth: 1751999342 [002] d..1 7828.557950: ncm_unwrap_ntb: K: ncm_unwrap_ntb blk_len: 0x800 Lecroy shows one byte coming in extra confirming that the byte is coming in from PC: Transfer 2959 - Bytes Transferred(1025) Timestamp((18.524 843 590) - Transaction 8391 - Data(1025 bytes) Timestamp(18.524 843 590) --- Packet 4063861 Data(1024 bytes) Duration(2.117us) Idle(14.700ns) Timestamp(18.524 843 590) --- Packet 4063863 Data(1 byte) Duration(66.160ns) Time(282.000ns) Timestamp(18.524 845 722) According to Windows driver, no ZLP is needed if wBlockLength is non-zero, because the non-zero wBlockLength has already told the function side the size of transfer to be expected. However, there are in-market NCM devices that rely on ZLP as long as the wBlockLength is multiple of wMaxPacketSize. To deal with such devices, it pads an extra 0 at end so the transfer is no longer multiple of wMaxPacketSize.

БДУ ФСТЭК

Идентификатор Описание
BDU:2024-06899 Уязвимость компонента drivers/usb/gadget/function/f_ncm.c ядра операционной системы Linux, связанная с ошибками разыменования указателя, позволяющая нарушителю вызвать отказ в обслуживании

Доп. Информация

Product Status

Linux
Product: Linux
Vendor: Linux
Default status: unaffected
Версии:
Затронутые версии Статус
Наблюдалось в версиях от 9f6ce4240a2bf456402c15c06768059e5973f28c до 059285e04ebb273d32323fbad5431c5b94f77e48 affected
Наблюдалось в версиях от 9f6ce4240a2bf456402c15c06768059e5973f28c до a31cf46d108dabce3df80b3e5c07661e24912151 affected
Наблюдалось в версиях от 9f6ce4240a2bf456402c15c06768059e5973f28c до 57ca0e16f393bb21d69734e536e383a3a4c665fd affected
Наблюдалось в версиях от 9f6ce4240a2bf456402c15c06768059e5973f28c до 2cb66b62a5d64ccf09b0591ab86fb085fa491fc5 affected
Наблюдалось в версиях от 9f6ce4240a2bf456402c15c06768059e5973f28c до 35b604a37ec70d68b19dafd10bbacf1db505c9ca affected
Наблюдалось в версиях от 9f6ce4240a2bf456402c15c06768059e5973f28c до 2b7ec68869d50ea998908af43b643bca7e54577e affected
Наблюдалось в версиях от 9f6ce4240a2bf456402c15c06768059e5973f28c до c7f43900bc723203d7554d299a2ce844054fab8e affected
Наблюдалось в версиях от 9f6ce4240a2bf456402c15c06768059e5973f28c до 76c51146820c5dac629f21deafab0a7039bc3ccd affected
Linux
Product: Linux
Vendor: Linux
Default status: affected
Версии:
Затронутые версии Статус
Наблюдалось в версии 2.6.38 affected
Наблюдалось в версиях от 0 до 2.6.38 unaffected
Наблюдалось до версии 4.19.* unaffected
Наблюдалось до версии 5.4.* unaffected
Наблюдалось до версии 5.10.* unaffected
Наблюдалось до версии 5.15.* unaffected
Наблюдалось до версии 6.1.* unaffected
Наблюдалось до версии 6.6.* unaffected
Наблюдалось до версии 6.7.* unaffected
Наблюдалось до версии * unaffected
 

Ссылки

CISA ADP Vulnrichment

Обновлено: 28.01.2025
Этот блок содержит дополнительную информацию, предоставленную программой CVE для этой уязвимости.

CVSS

Оценка Severity Версия Базовый вектор
7.5 HIGH 3.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

SSVC

Exploitation Automatable Technical Impact Версия Дата доступа
none yes partial 2.0.3 28.01.2025

Мы используем cookie-файлы, чтобы получить статистику, которая помогает нам улучшить сервис для вас с целью персонализации сервисов и предложений. Вы может прочитать подробнее о cookie-файлах или изменить настройки браузера. Продолжая пользоваться сайтом, вы даёте согласие на использование ваших cookie-файлов и соглашаетесь с Политикой обработки персональных данных.