CVE-2026-46148 in Linux
Zusammenfassung
von VulDB • 28.05.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
spi: microchip-core-qspi: Steuerung des integrierten Chip-Selects manuell
Der CoreQSPI-IP-Core unterstützt nur einen einzelnen Chip-Select, der automatisch (automagisch) von der Hardware gesteuert wird – er wird auf Low gesetzt, wenn der Sendepuffer zum ersten Mal beschrieben wird, und auf High gesetzt, wenn die Anzahl der in das TOTALBYTES-Feld des FRAMES-Registers geschriebenen Bytes auf dem Bus gesendet wurde. Für zusätzliche Geräte müssen GPIOs für deren Chip-Selects verwendet werden.
Mir wurde gemeldet, dass bei zwei an diesem QSPI-Controller angeschlossenen Geräten der integrierte Chip-Select auf Low gesetzt wird, während Linux versucht, auf das über GPIOs angesteuerte Gerät zuzugreifen.
Dieses Problem wurde nicht erkannt, da die Boards, die mehrere Geräte an den SPI-Controller anschließen, ausschließlich GPIOs für die Chip-Selects verwendeten und sich überhaupt nicht auf den integrierten Chip-Select verließen. Es stellte sich heraus, dass der integrierte Chip-Select, wenn er automatisch gesteuert wird, im aktiven Zustand auf Low und im inaktiven Zustand auf High gesetzt ist, was seine Verwendung für aktiv-hoch Pegel (active-high) Geräte oder Geräte, die mit deaktiviertem Chip-Select senden müssen, ausschließt.
Ändern Sie den Treiber so, dass er den Chip-Select direkt steuert und dabei das Verhalten für mem_ops beibehält, bei dem der Chip-Select für die gesamte Dauer der Übertragung im exec_op-Callback aktiviert wird. Für reguläre Übertragungen implementieren Sie den set_cs-Callback, den der Core verwenden soll.
Im Zuge dieser Änderung wird der bestehende setup-Callback mchp_coreqspi_setup_op() entfernt. Das Ändern des CLKIDLE-Felds ist während des Betriebs bei mehreren Geräten nicht sicher, daher wird dieser Code vollständig entfernt. Das Setzen der MASTER- und ENABLE-Felder kann einmal beim Probe-Vorgang erfolgen; es muss nicht für jedes Gerät erneut ausgeführt werden. Stattdessen setzt der neue setup-Callback den integrierten Chip-Select für aktiv-niedrig Pegel (active-low) Geräte in seinen inaktiven Zustand, da der Reset-Wert des Chip-Selects im softwaregesteuerten Modus Low ist.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.