CVE-2026-46148 in LinuxИнформация

Сводка

по VulDB • 28.05.2026

В ядре Linux устранена следующая уязвимость:

spi: microchip-core-qspi: ручное управление встроенным сигналом выбора чипа (CS)

Ядро IP-модуля coreQSPI поддерживает только один сигнал выбора чипа, который управляется аппаратно «автоматически» (automagically): он устанавливается в низкий уровень при первой записи в буфер передачи и возвращается в высокий уровень после отправки количества байт, указанного в поле TOTALBYTES регистра FRAMES, в шину. Для дополнительных устройств необходимо использовать выводы общего назначения (GPIO) для их сигналов выбора чипа.

Мне сообщили, что если к этому контроллеру QSPI подключено два устройства, то встроенный сигнал выбора чипа устанавливается в низкий уровень, пока Linux пытается получить доступ к устройству, подключенному через GPIO.

Эта проблема оставалась незамеченной, поскольку платы, к которым подключено несколько устройств к контроллеру SPI, использовали исключительно GPIO для сигналов выбора чипа, вообще не полагаясь на встроенный сигнал выбора чипа. Выяснилось, что это связано с тем, что встроенный сигнал выбора чипа при автоматическом управлении устанавливается в низкий уровень при активном состоянии и в высокий уровень при неактивном, что исключает возможность его использования для устройств с активным высоким уровнем или устройств, которым требуется передача при отключенном сигнале выбора чипа.

Измените драйвер так, чтобы он управлял сигналом выбора чипа напрямую, сохраняя поведение для операций с памятью (mem_ops), при котором сигнал выбора чипа устанавливается в активное состояние на протяжении всей передачи в колбэке exec_op. Для обычных передач реализуйте колбэк set_cs для использования ядром.

В рамках этого изменения существующий колбэк настройки mchp_coreqspi_setup_op() удаляется. Изменение поля CLKIDLE небезопасно во время работы при наличии нескольких устройств, поэтому этот код удаляется полностью. Установка полей MASTER и ENABLE выполняется один раз при инициализации (probe), и нет необходимости выполнять её повторно для каждого устройства. Вместо этого новый колбэк настройки устанавливает встроенный сигнал выбора чипа в неактивное состояние для устройств с активным низким уровнем, поскольку значение сброса сигнала выбора чипа в режиме программного управления равно низкому уровню.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Ответственный

Linux

Резервировать

13.05.2026

Раскрытие

28.05.2026

Модерация

принято

Вход

VDB-366619

EPSS

0.00022

KEV

Нет

Деятельности

Очень низкий

Источники

Do you need the next level of professionalism?

Upgrade your account now!