Im Linux-Kern 6.2 wurde eine Schwachstelle (CVE-2023-1998) entdeckt, die den Schutz vor Spectre v2-Angriffen aufhebt, wodurch auf den Speicher anderer Prozesse zugegriffen werden kann, die in verschiedenen SMT- oder Hyper-Threading-Threads, jedoch auf demselben physischen Prozessorkern ausgeführt werden. Die Schwachstelle kann unter anderem verwendet werden, um Datenlecks zwischen virtuellen Maschinen in Cloud-Systemen zu organisieren. Das Problem betrifft ausschließlich den Linux-Kern 6.2 und wurde durch eine fehlerhafte Implementierung von Optimierungen verursacht, die darauf abzielen, die erheblichen Overheads zu reduzieren, die beim Einsatz des Schutzes vor Spectre v2 entstehen. Die Schwachstelle wurde im experimentellen Zweig des Linux-Kerns 6.3 behoben.
Im Benutzerspeicher können Prozesse zum Schutz vor Spectre-Angriffen die spekulative Ausführung von Anweisungen selektiv über prctl PR_SET_SPECULATION_CTRL deaktivieren oder Systemaufruf-Filtrierung auf Basis des seccomp-Mechanismus verwenden. Nach Angaben der Forscher, die das Problem identifiziert haben, ließ eine fehlerhafte Optimierung im Kern 6.2 mindestens einen großen Cloud-Anbieter unzureichend geschützt. virtuelle Maschinen trotz der Aktivierung des Angriffsblocks modus spectre-BTI über prctl. Die Schwachstelle tritt auch bei normalen Servern Kernen 6.2 auf, bei denen die Einstellung "spectre_v2=ibrs" verwendet wird.
Die Essenz der Schwachstelle besteht darin, dass bei der Auswahl der Schutzmodi IBRS oder eIBRS die vorgenommenen Optimierungen die Anwendung des STIBP-Mechanismus (Single Thread Indirect Branch Predictors), der zur Blockierung von Lecks bei der Anwendung von Simultaneous Multithreading (SMT oder Hyper-Threading) erforderlich ist, deaktivierten. Dabei bietet nur der eIBRS-Modus Schutz gegen Leaks zwischen Threads, nicht jedoch der IBRS-Modus, da in letzterem der IBRS-Bit, der den Schutz gegen Lecks zwischen logischen Kernen gewährleistet, aus Leistungsgründen bei der Rückkehr in den Benutzerspeicher gelöscht wird, wodurch die Threads im Benutzerspeicher nicht gegen Spectre v2-Angriffe geschützt sind.
Quelle: opennet.ru
