Tavis Ormandy, Sicherheitsforscher bei Google, hat eine neue Schwachstelle (CVE-2023-23583) in Intel-Prozessoren mit dem Codenamen Reptar identifiziert, die vor allem eine Bedrohung fĂŒr Cloud-Systeme darstellt, auf denen virtuelle Maschinen verschiedener Benutzer laufen. Die SicherheitslĂŒcke fĂŒhrt dazu, dass das System hĂ€ngen bleibt oder abstĂŒrzt, wenn bestimmte VorgĂ€nge auf unprivilegierten Gastsystemen ausgefĂŒhrt werden. Zum Testen Ihrer Systeme wurde ein Dienstprogramm veröffentlicht, das Bedingungen fĂŒr die Manifestation von Schwachstellen schafft.
Theoretisch kann die Schwachstelle genutzt werden, um Privilegien vom dritten auf den Null-Schutz-Ring (CPL0) zu eskalieren und aus isolierten Umgebungen zu entkommen, aber dieses Szenario hat sich in der Praxis aufgrund der Schwierigkeiten beim Debuggen auf mikroarchitektonischer Ebene noch nicht bestĂ€tigt. Eine interne ĂberprĂŒfung bei Intel zeigte auĂerdem, dass die SicherheitslĂŒcke unter bestimmten Bedingungen ausgenutzt werden kann, um Berechtigungen auszuweiten.
Nach Angaben des Forschers besteht die Schwachstelle in den Prozessorfamilien Intel Ice Lake, Rocket Lake, Tiger Lake, Raptor Lake, Alder Lake und Sapphire Rapids. Im Intel-Bericht wird erwÀhnt, dass das Problem ab der 10. Generation (Ice Lake) der Intel Core-Prozessoren und der dritten Generation der skalierbaren Xeon-Prozessoren sowie bei Xeon E/D/W-Prozessoren (Ice Lake, Skylake, Haswell, Broadwell) auftritt , Skylake, Sapphire Rapids, Emerald Rapids, Cascade Lake, Cooper Lake, Comet Lake, Rocket Lake) und Atom (Apollo Lake, Jasper Lake, Arizona Beach, Alder Lake, Parker Ridge, Snow Ridge, Elkhart Lake und Denverton). Die betreffende Schwachstelle wurde im gestrigen Microcode-Update 20231114 behoben.
Die Schwachstelle wird durch die Tatsache verursacht, dass unter bestimmten mikroarchitektonischen UmstĂ€nden die AusfĂŒhrung der âREP MOVSBâ-Anweisung mit einem ĂŒbermĂ€Ăigen âREXâ-PrĂ€fix codiert wird, was zu undefiniertem Verhalten fĂŒhrt. Das Problem wurde beim Testen redundanter PrĂ€fixe entdeckt, die theoretisch ignoriert werden sollten, in der Praxis jedoch zu seltsamen Effekten fĂŒhrten, wie z. B. dem Ignorieren unbedingter Verzweigungen und dem Unterbrechen der Zeigerspeicherung in den xsave- und Aufrufanweisungen. Weitere Analysen zeigten, dass das HinzufĂŒgen eines redundanten PrĂ€fixes zum âREP MOVSBâ-Befehl zu einer BeschĂ€digung des Inhalts des ROB-Puffers (ReOrder Buffer) fĂŒhrt, der zum Bestellen von Befehlen verwendet wird.
Es wird angenommen, dass der Fehler durch eine falsche Berechnung der GröĂe des âMOVSBâ-Befehls verursacht wird, was zu einer Verletzung der Adressierung von Befehlen fĂŒhrt, die nach dem MOVSB ââââmit einem ĂŒbermĂ€Ăigen PrĂ€fix und dem Offset in den ROB-Puffer geschrieben werden des Anweisungszeigers. Eine solche Desynchronisation kann sich auf die Unterbrechung von Zwischenberechnungen mit anschlieĂender Wiederherstellung des Integralzustands beschrĂ€nken. Wenn Sie jedoch mehrere Kerne oder SMT-Threads gleichzeitig zum Absturz bringen, kann der Zustand der Mikroarchitektur so stark beschĂ€digt werden, dass es zum Absturz kommt.
Source: opennet.ru
