flawopen.com/Incidents/bluemoon-chrome-v8-windows-alpc-september-2026
BlueMoon: Drei Schwachstellen überwanden die Grenzen von Chrome und Windows
Proofpoint berichtete über gezielte BlueMoon-Kampagnen, die CVE-2026-85046 (V8-Typverwechslung), CVE-2026-87491 (V8-Sandbox-Ausbruch) und CVE-2026-85880 (lokale Rechteausweitung im Windows-Kernel) verketteten. Google und Microsoft bestätigten Ausnutzung vor den jeweiligen Korrekturen; Chromium-Browser und Windows müssen getrennt aktualisiert werden.[1], [2], [3], [4]
Stellen Sie sich eine Sortiererin vor, die prüft, ob alle Kisten Bücher enthalten, dann aber zulässt, dass ein Besucher den Inhalt vor der Sortierung nach alten Etiketten austauscht. Der erste Fehler öffnet einen verschlossenen Bereich; ein weiterer dessen Gitter und ein dritter verändert die Zutrittskarten. Jedes Schloss braucht eine eigene Reparatur.[1]
Kernkonzepte & Begriffe
V8 / type confusion- V8 führt JavaScript aus. Bei
CVE-2026-85046wurden Optimierungsannahmen von Array.prototype.sort ungültig, alsfill()die Elementart änderte.[1], [2]
Framework-Zuordnungen
- CWE-Referenz für die in diesem Leitfaden beschriebene Schwachstelle: CWE-122 CWE-787 CWE-843
- CISA KEV — aufgenommen am 2026-09-04 — CVE-2026-85046
BlueMoon-Kettenstufen und Update-Entscheidungen
| Stufe / CVE / Grenze | Belegte Angaben der Quellen | Abwehrmaßnahme |
|---|---|---|
V8-JIT-Typverwechslung — CVE-2026-85046 | Proofpoint beschreibt eine Comparator-Mutation von Array.prototype.sort über fill(), die eine Annahme zum Elementtyp ungültig macht. Google meldete einen Exploit in freier Wildbahn. | Installieren Sie Chrome/Chromium 152.0.7977.82/.83 (Windows/Mac) oder .82 (Linux) oder neuer; starten Sie den Browser neu. Googles Release vom 3. September enthält die Korrektur. |
V8-Sandbox-Ausbruch — CVE-2026-87491 | Proofpoint berichtet über beschädigte WebAssembly-Metadaten, die die V8-Speichersandbox überwinden; diese ist von der Renderer-Prozesssandbox getrennt. Google meldete einen Exploit in freier Wildbahn. | Installieren Sie Chrome/Chromium 153.0.8010.36/.37 (Windows/Mac) oder .36 (Linux) oder neuer; starten Sie den Browser neu. Googles Release vom 8. September enthält die Korrektur. |
Windows-Kernel-LPE — CVE-2026-85880 | Proofpoint beschreibt einen ALPC/WNF-Pfad zu SeDebugPrivilege und nennt die älteren vom Kit angegriffenen Windows-Builds. Microsoft bestätigt Ausnutzung vor den Updates vom 8. September. Die Kit-Zielliste ist kein vollständiger Bestand betroffener Versionen. | Installieren Sie aktuelle unterstützte Windows-Sicherheitsupdates, einschließlich des Updates vom 8. September 2026 oder neuer; nutzen Sie MSRC für das OS-spezifische Paket und führen Sie erforderliche Neustarts aus. Windows getrennt von Chrome patchen. |
Vorfall-Zeitstrahl
Proofpoint beobachtete BlueMoon erstmals.[1]
Chrome Stable behob CVE-2026-85046 in 152.0.7977.82/.83 für Windows und Mac sowie .82 für Linux.[2]
Schritt-für-Schritt Angriffsablauf
Beobachtete Zustellung
Proofpoint beobachtete gezielte Spearphishing-Kampagnen mit einem Link zum Exploit-Kit. Die Browser-Stufen setzten voraus, dass das Opfer den Link in einem verwundbaren Chromium-Browser öffnet.[1]
V8-Typverwechslung — CVE-2026-85046
Proofpoint beschreibt einen optimierten Array.prototype.sort-Pfad, dessen Typannahme ungültig werden konnte, wenn der Comparator das Array mit fill() änderte. Die daraus entstehende Typverwechslung war die erste Schwachstelle im Renderer; Google meldete einen Exploit in freier Wildbahn.[1], [2]
Ausbruch aus dem Renderer-Prozess
Mit den Browser-Stufen und einem unterstützten Windows-Ziel konnte die berichtete Kette über die lokale Rechteausweitung aus dem Renderer in den übergeordneten Browserprozess gelangen. Das Python-Beispiel zeigt nur die veraltete Annahme, nicht die Exploit-Kette.[1], [4]
Quellcode: Verwundbar vs. Sicher
Sicheres Python-Lehrbeispiel für ungültige Annahmen, kein V8-Code, Exploit oder Herstellerpatch. Ein harmloser Rückruf kann Ganzzahlen nach der Prüfung durch Text ersetzen. Die Korrektur prüft nach dem Rückruf eine begrenzte Kopie und verarbeitet sie ohne weitere Rückrufe. Im fehlerhaften Fall wirft Python eine Ausnahme; native Speicherfehler werden nicht simuliert. Nur vertrauenswürdige, begrenzte synchrone Rückrufe verwenden.
def numeric_total(values, callback):
if type(values) is not list or len(values) > 1024:
raise ValueError("Invalid batch")
if any(type(x) is not int for x in values):
raise ValueError("Expected integers")
callback(values)
# Der Callback könnte die Typannahme ungültig gemacht haben.
return sum(values)
def numeric_total(values, callback):
if type(values) is not list or len(values) > 1024:
raise ValueError("Invalid batch")
callback(values)
if len(values) > 1024:
raise ValueError("Invalid batch")
snapshot = tuple(values)
if any(type(x) is not int or abs(x) > 1_000_000
for x in snapshot):
raise ValueError("Expected bounded integers")
# Den geprüften Snapshot ohne weiteren Callback verwenden.
return sum(snapshot)
Checkliste für Engineering & Systemsicherheit
- ✓Erfassen Sie Browser- und Windows-Versionen getrennt; installieren Sie unterstützte Herstellerupdates und prüfen Sie Neustarts von Browser und System.[2], [3], [4], [5]
- ✓Testen Sie Änderungen durch Rückrufe: andere Elementtypen und übergroße Stapel müssen vor optimierter Verarbeitung abgewiesen werden; normale Ganzzahlen müssen korrekt summiert werden.[1]
- ✓Prüfen Sie optimierte Pfade mit aufrufbarem Code zwischen Validierung und Nutzung. Prüfen Sie Annahmen erneut oder verwenden Sie eine validierte unveränderliche Kopie.[1]
- ✓Verfolgen Sie jedes CVE separat. Chrome bewertete
CVE-2026-85046als Hoch undCVE-2026-87491als Mittel; Microsoft bewerteteCVE-2026-85880als Hoch (CVSS 7.8,CWE-122). Plattformschutz ersetzt keine Patches.[2], [3], [4], [5]