В ядре Linux устранена следующая уязвимость: wifi: radiotap: отклонить радиотап с неизвестными битами Парсер Radiotap в настоящее время используется только с Radiotap. пространство имен (не с пространствами имен поставщиков), но если неопределенное используется поле 18, выравнивание/размер также неизвестно. В в этом случае итератор->_next_ns_data не инициализируется (это установлено только для пропуска пространств имен поставщиков) и точек syzbot что мы позже сравним это значение с этим неинициализированным значением. Исправьте это, переместив отклонение неизвестных полей радиотапа. вплоть до после поиска в пространстве имен, поэтому он действительно будет использовать итератор->_next_ns_data только для пространств имен поставщиков, даже в присутствуют неопределенные поля случая.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: wifi: radiotap: reject radiotap with unknown bits The radiotap parser is currently only used with the radiotap namespace (not with vendor namespaces), but if the undefined field 18 is used, the alignment/size is unknown as well. In this case, iterator->_next_ns_data isn't initialized (it's only set for skipping vendor namespaces), and syzbot points out that we later compare against this uninitialized value. Fix this by moving the rejection of unknown radiotap fields down to after the in-namespace lookup, so it will really use iterator->_next_ns_data only for vendor namespaces, even in case undefined fields are present.