FlawOpen

flawopen.com/Incidents/bluemoon-chrome-v8-windows-alpc-september-2026

● BlueMoon · CVE-2026-85046 · September 2026 · Tinggi
Riset Keamanan · FlawOpen

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]

💡 Penjelasan Sederhana (ELI5)

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-85046 menyangkut asumsi optimisasi Array.prototype.sort yang gugur ketika fill() mengubah jenis elemen.[1], [2]
V8 sandbox / WebAssembly
Sandbox V8 mengisolasi memori yang dikelola mesin di dalam proses perender. CVE-2026-87491 melintasinya melalui kerusakan metadata WebAssembly; ini berbeda dari sandbox proses perender.[1], [3]
ALPC / WNF / privilege
ALPC dan WNF adalah mekanisme kernel Windows yang terlibat dalam CVE-2026-85880. Rantai yang dilaporkan mengaktifkan SeDebugPrivilege, hak untuk menelusuri proses.[1], [4]

Pemetaan kerangka kerja

Tahap rantai BlueMoon dan keputusan patch

Tahap / CVE / batasHal yang didukung sumberTindakan defensif
Type confusion JIT V8 — CVE-2026-85046Proofpoint 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-87491Proofpoint 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-85880Proofpoint 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

2026-08-28

Proofpoint pertama kali melihat aktivitas BlueMoon.[1]

2026-09-03

Chrome Stable memperbaiki CVE-2026-85046 pada 152.0.7977.82/.83 untuk Windows dan Mac, serta .82 untuk Linux.[2]

2026-09-08

Chrome Stable memperbaiki CVE-2026-87491 pada 153.0.8010.36/.37 untuk Windows dan Mac, serta .36 untuk Linux; Microsoft memperbaiki CVE-2026-85880 dalam pembaruan September. Microsoft mengonfirmasi bahwa CVE-2026-85880 dieksploitasi sebelum pembaruan Windows 8 September.[3], [4], [5]

Alur Serangan Langkah demi Langkah

Langkah 1

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]

Langkah 2

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]

Langkah 3

Sandbox escape V8 — CVE-2026-87491

Proofpoint melaporkan korupsi metadata modul WebAssembly untuk menembus sandbox memori V8. Batas ini berbeda dari sandbox proses renderer Chrome; Google juga menyatakan eksploit telah digunakan di lapangan.[1], [3]

Langkah 4

LPE kernel Windows — CVE-2026-85880

Proofpoint menjelaskan jalur kernel ALPC/WNF untuk mengaktifkan SeDebugPrivilege pada renderer di beberapa build Windows lama. Microsoft secara terpisah mengonfirmasi eksploitasi sebelum pembaruan keamanan 8 September 2026.[1], [4]

Langkah 5

Keluar dari proses renderer

Dengan tahap browser dan target Windows yang didukung, rantai yang dilaporkan dapat keluar dari renderer melalui LPE Windows menuju proses induk browser. Contoh Python di bawah hanya menunjukkan asumsi usang, bukan rantai eksploit.[1], [4]

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.

IMPLEMENTASI RENTAN
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)
PERBAIKAN AMAN & KUAT
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

Sumber