CVE-2026-80794 in Linux
Сводка
по VulDB • 04.09.2026
В ядре Linux была устранена следующая уязвимость:
nfc: nci: исправлена неинициализированная переменная (uninit-value) в обработчиках уведомлений RF discover/activated NTF
Функции `nci_rf_discover_ntf_packet()` и `nci_rf_intf_activated_ntf_packet()` каждая парсит уведомление, помещая его в структуру на стеке (`nci_rf_discover_ntf` / `nci_rf_intf_activated_ntf`), которая не была проинициализирована. Параметры RF-технологии извлекаются только тогда, когда `rf_tech_specific_params_len` отличен от нуля; следовательно, уведомление с нулевой длиной оставляет объединение (union) `rf_tech_specific_params` неинициализированным — и оба обработчика затем передают его в функцию `nci_add_new_protocol()`, которая считывает эти данные:
- discover: `nci_add_new_target()` -> `nci_add_new_protocol();` - activated: `nci_target_auto_activated()` -> `nci_add_new_protocol().`
Функция `nci_add_new_protocol()` использует `nfca_poll->nfcid1_len` как условие ветвления и длину для вызова `memcpy()`, копируя данные `nfcid1/sens_res/sel_res` в массив `ndev->targets`, который впоследствии экспортируется в пользовательское пространство через `NFC_CMD_GET_TARGET`.
BUG: KMSAN: uninit-value in nci_add_new_protocol+0x624/0x6c0 nci_add_new_protocol+0x624/0x6c0 nci_ntf_packet+0x25b2/0x3c30 nci_rx_work+0x318/0x5d0 process_scheduled_works+0x84b/0x17a0 worker_thread+0xc10/0x11b0 kthread+0x376/0x500 Local variable ntf.i created at: nci_ntf_packet+0xbc2/0x3c30
Принудительно обнулить (zero-initialise) обе структуры на стеке, чтобы объединение возвращало нулевые значения при отсутствии параметров, специфичных для технологии.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.