flawopen.com/Incidents/bluemoon-chrome-v8-windows-alpc-september-2026
BlueMoon: tiga celah melintasi batas isolasi Chrome dan Windows
Proofpoint melaporkan kampanye BlueMoon tertarget yang merangkai CVE-2026-85046 (type confusion V8), CVE-2026-87491 (sandbox escape V8), dan CVE-2026-85880 (eskalasi hak lokal kernel Windows). Google dan Microsoft mengonfirmasi eksploitasi sebelum perbaikan masing-masing; perbarui browser Chromium dan Windows secara terpisah.[1], [2], [3], [4]
Bayangkan petugas sortir memastikan semua kotak berisi buku, tetapi membiarkan pengunjung menukar isinya sebelum menyortir berdasarkan label lama. Kesalahan pertama membuka ruang sortir terkunci; kesalahan berikut membuka pagarnya, lalu kartu akses gedung diubah. Ketiga kunci harus diperbaiki.[1]
Konsep Kunci & Istilah
V8 / type confusion- V8 menjalankan JavaScript.
CVE-2026-85046menyangkut asumsi optimisasi Array.prototype.sort yang gugur ketikafill()mengubah jenis elemen.[1], [2]
Pemetaan kerangka kerja
- Referensi CWE untuk kelemahan yang dijelaskan dalam panduan ini: CWE-122 CWE-787 CWE-843
- CISA KEV — ditambahkan 2026-09-04 — CVE-2026-85046
Tahap rantai BlueMoon dan keputusan patch
| Tahap / CVE / batas | Hal yang didukung sumber | Tindakan defensif |
|---|---|---|
Type confusion JIT V8 — CVE-2026-85046 | Proofpoint menjelaskan perubahan array melalui fill() pada comparator Array.prototype.sort yang membatalkan asumsi elements-kind. Google menyatakan eksploit telah digunakan di lapangan. | Pasang Chrome/Chromium 152.0.7977.82/.83 (Windows/Mac) atau .82 (Linux), atau versi lebih baru; mulai ulang browser. Rilis Google 3 September memuat perbaikannya. |
Sandbox escape V8 — CVE-2026-87491 | Proofpoint melaporkan korupsi metadata WebAssembly yang menembus sandbox memori V8, berbeda dari sandbox proses renderer. Google menyatakan eksploit telah digunakan di lapangan. | Pasang Chrome/Chromium 153.0.8010.36/.37 (Windows/Mac) atau .36 (Linux), atau versi lebih baru; mulai ulang browser. Rilis Google 8 September memuat perbaikannya. |
LPE kernel Windows — CVE-2026-85880 | Proofpoint menjelaskan jalur ALPC/WNF menuju SeDebugPrivilege dan mencantumkan build Windows lama yang ditargetkan kit. Microsoft mengonfirmasi eksploitasi sebelum pembaruan 8 September. Daftar target tersebut bukan inventaris lengkap versi terdampak. | Pasang pembaruan keamanan Windows yang masih didukung, termasuk pembaruan 8 September 2026 atau yang lebih baru; gunakan MSRC untuk paket khusus OS dan selesaikan reboot yang diperlukan. Patch Windows terpisah dari Chrome. |
Kronologi Insiden
Proofpoint pertama kali melihat aktivitas BlueMoon.[1]
Chrome Stable memperbaiki CVE-2026-85046 pada 152.0.7977.82/.83 untuk Windows dan Mac, serta .82 untuk Linux.[2]
Alur Serangan Langkah demi Langkah
Pengiriman yang diamati
Proofpoint mengamati kampanye spear-phishing tertarget yang mengirimkan tautan ke exploit kit. Tahap browser mengharuskan penerima membuka tautan pada browser berbasis Chromium yang rentan.[1]
Type confusion V8 — CVE-2026-85046
Proofpoint menjelaskan jalur Array.prototype.sort yang dioptimalkan; asumsi tipenya dapat dibatalkan ketika comparator mengubah array dengan fill(). Type confusion ini menjadi kerentanan awal pada renderer; Google menyatakan eksploit telah digunakan di lapangan.[1], [2]
Kode Sumber: Rentan vs Aman
Ilustrasi Python yang aman tentang asumsi yang gugur, bukan kode V8, eksploit, atau tambalan vendor. Panggilan balik jinak bisa mengubah bilangan menjadi teks sesudah pemeriksaan awal. Perbaikan memvalidasi salinan berbatas setelah panggilan balik dan menggunakannya tanpa panggilan tambahan. Python melempar pengecualian pada contoh rentan; kerusakan memori asli tidak ditiru. Hanya panggilan balik sinkron tepercaya yang berbatas sesuai untuk contoh ini.
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)
# Callback mungkin telah membatalkan asumsi tipe.
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")
# Gunakan snapshot yang sudah divalidasi tanpa callback tambahan.
return sum(snapshot)
Daftar Periksa Penguatan Sistem Rekayasa
- ✓Inventaris versi peramban dan Windows secara terpisah; pasang pembaruan vendor yang didukung dan periksa restart peramban serta sistem.[2], [3], [4], [5]
- ✓Tambahkan pengujian perubahan oleh panggilan balik: tipe berubah dan kumpulan terlalu besar harus ditolak sebelum pemrosesan teroptimasi; bilangan normal tetap dijumlahkan dengan benar.[1]
- ✓Tinjau jalur teroptimasi yang menjalankan kode terkontrol di antara validasi dan pemakaian. Validasi ulang syaratnya atau gunakan salinan tetap yang telah diperiksa.[1]
- ✓Lacak setiap CVE sendiri. Chrome menilai
CVE-2026-85046Tinggi danCVE-2026-87491Sedang; Microsoft menilaiCVE-2026-85880Tinggi (CVSS 7.8,CWE-122). Mitigasi platform tidak menggantikan tambalan.[2], [3], [4], [5]