Zum Inhalt springen
← Zurück zum Cyberlagebild
Zuletzt aktualisiert 23.10.2026 20:20

CVE-2026-79979

CVSS 7.81 Quelle

Beschreibung

Das arm64 MMU-Backend ungültig macht eine einzelne virtuelle Adresse aus dem TLB mit invalidate tlb page() in arch/arm64/core/mmu.c, die TLBI VAE1{IS} mit einem Operanden von virt >> 12. Dieser Operande codiert die ASID in Bits [63:48], so dass die Ungültigkeit immer nur mit ASID 0 (den Kernelseitentabellen) und globalen Einträgen übereinstimmt. Speicherdomänen werden jedoch ASIDs zugewiesen, die bei 1 in arch mem domain init() beginnen, und jedes von private map() erstellte domain-private Blatt wird mit MT NG abgebildet, d.h. nicht global. Die zwischengespeicherte Übersetzung einer Domain überlebte daher die Ungültigerklärung. Alle Aufrufer von invalidate tlb page() sind Demand-Pading-Pfade. Wenn der Räumungsalgorithmus einen Frame zurückfordert, ruft page frame prepare locked() in kernel/mmu.c arch mem page out() auf, was das Kernelblatt ungültig markiert, den ungültigen Deskriptor über sync domains() in jede Domäne propagiert und dann nur noch ASID 0 spült. do page fault() verwendet sofort denselben Seitenrahmen für die eingehende Zuordnung durch arch mem page in(). Ein Benutzerthread, der bereits die geräumte Seite berührt hat - eine k mem partition, die mit arch mem domain partition add() hinzugefügt wurde, oder ein eigener Stapel, der von map thread stack() abgebildet wurde - behält eine gültige EL0-Lese-/Schreibübersetzung in diesen physischen Frame unter seiner eigenen ASID. Unprivilegierter Code, der in einem Benutzer-Thread ausgeführt wird, kann den Speicherdruck erhöhen, um die Räumung zu erzwingen, und dann weiterhin auf die veraltete Adresse zugreifen, um Lese- und Schreibzugriff auf das zu erhalten, was der Kernel später in diesem Frame platziert hat: Supervisor-Daten, eine andere Speicherdomänenpartition oder einen anderen Thread-Stack. Dies besiegt die Isolation, die CONFIG USERSPACE durchsetzen soll, und ermöglicht die Offenlegung von Informationen und die Beschädigung des Speichers bis hin zur vollständigen Kompromittierung des Systems. Der Fix schaltet die Implementierung auf TLBI VAAE1{IS}, die alle ASID- und globalen und nicht-globalen Einträge abgleicht, so dass keine domänenmarkierte Übersetzung eine Seite aus, ein dirty-bit-Update oder ein Access-Flag-Clear überlebt. Exploitation erfordert einen arm64-Build, bei dem sowohl CONFIG USERSPACE als auch CONFIG DEMAND PAGING aktiviert sind, einen aktiven Backing-Store und mindestens eine nachfrageseitige Seite, die ebenfalls privat in eine Benutzerspeicherdomäne abgebildet ist. Der gleiche Commit verhindert außerdem, dass globalize table() die EL0-Berechtigung und nicht globale Attribute während der Paging-Synchronisierung von domain-privaten Blättern entfernt, was zuvor dazu geführt hat, dass Benutzerthreads den Zugriff auf ihre eigenen Partitionen und Stapel verloren haben.

Hersteller–
Produkt–
ProduktfamilieKeine Angaben
Betroffene VersionenKeine Angaben
Behobene VersionenKeine Angaben

Quellen & weiterführende Informationen

Hier werden ausschließlich tatsächlich zu dieser Schwachstelle gespeicherte Quellenbelege angezeigt.

Was ist zur Behebung zu tun?

Herstellerhinweise prüfen und das betroffene Produkt kurzfristig patchen oder kompensierende Schutzmaßnahmen aktivieren.

PrioritätGelb
EinordnungZeitnah behandeln: hohes technisches Risiko.

Empfohlene Schritte

  • Betroffene Systeme identifizieren.
  • Exposition prüfen: Internet-Erreichbarkeit, Admin-Oberflächen, VPN, Mail- oder Webdienste.
  • Hersteller-Advisory öffnen und verfügbare Updates, Workarounds oder Deaktivierungen prüfen.
  • Nacharbeiten dokumentieren: betroffene Assets, Maßnahme, Zeitpunkt, Restrestrisiko.

Übergangsmaßnahmen

  • Zugriff auf betroffene Dienste auf vertrauenswürdige Netze einschränken.
  • WAF/IDS/EDR-Regeln und Hersteller-IOCs aktivieren, sofern verfügbar.
  • Nicht benötigte Funktionen, Plugins oder Dienste temporär deaktivieren.
  • Administrative Zugänge besonders absichern: MFA, Passwortrotation, Session-Invalidierung.