- GrapheneOS memperbaiki kerentanan bypass VPN dalam pembaruan terbaru yang dapat membocorkan alamat IP nyata meskipun “Always-On VPN” dan “Block connections without VPN” di Android aktif
- Kerentanan ini berasal dari fitur pengakhiran koneksi QUIC di stack jaringan Android 16, dan memungkinkan aplikasi biasa mendaftarkan payload UDP ke system_server hanya dengan izin standar
- Saat soket UDP aplikasi dihancurkan, system_server yang memiliki hak istimewa mengirim payload yang tersimpan langsung melalui antarmuka jaringan fisik, bukan melalui terowongan VPN, sehingga melewati perlindungan penguncian VPN
- Google mengklasifikasikan masalah ini sebagai “Won’t Fix (Infeasible)” dan “NSBC”, serta mempertahankan posisinya bahwa masalah tersebut tidak memenuhi kriteria untuk advisori keamanan Android
- GrapheneOS menonaktifkan “registerQuicConnectionClosePayload optimization” pada release 2026050400, dan juga menyertakan patch keamanan Android Mei 2026, peningkatan hardened_malloc, pembaruan kernel Linux, serta perbaikan backport untuk libpng CVE-2026-33636
Cara kerja kerentanan
- Menurut analisis teknis Yusuf, API yang rentan memungkinkan aplikasi biasa yang hanya memiliki izin INTERNET dan ACCESS_NETWORK_STATE yang diberikan otomatis untuk mendaftarkan payload UDP arbitrer ke system_server
- Setelah itu, ketika soket UDP aplikasi dihancurkan, proses system_server Android yang memiliki hak istimewa mengirim payload yang tersimpan langsung melalui antarmuka jaringan fisik perangkat, bukan melalui terowongan VPN
- Karena system_server berjalan dengan hak jaringan yang ditingkatkan dan dikecualikan dari pembatasan perutean VPN, paket tersebut sepenuhnya melewati perlindungan penguncian VPN Android
- Peneliti keamanan lowlevel/Yusuf mendemonstrasikan kerentanan ini pada Pixel 8 berbasis Android 16 dengan Proton VPN dan mode penguncian Android aktif bersamaan
- Aplikasi tersebut membocorkan alamat IP publik asli perangkat ke server jarak jauh bahkan ketika perlindungan VPN sepenuhnya aktif
Penyebab dan penanganan oleh Google
- Google memperkenalkan fitur ini agar aplikasi dapat menutup sesi QUIC secara normal ketika soket dihancurkan secara tak terduga
- Implementasinya menerima payload arbitrer tanpa memverifikasi apakah payload tersebut adalah frame QUIC CONNECTION_CLOSE yang sah
- Implementasi itu juga awalnya tidak memeriksa apakah aplikasi dibatasi hanya pada lalu lintas khusus VPN
- Peneliti melaporkan masalah ini kepada tim keamanan Android, tetapi Google mengklasifikasikannya sebagai “Won’t Fix (Infeasible)” dan “NSBC” (Not Security Bulletin Class)
- Google menilai masalah ini tidak memenuhi kriteria untuk dimasukkan ke dalam advisori keamanan Android
- Peneliti meminta peninjauan ulang dengan alasan aplikasi apa pun dapat membocorkan informasi jaringan yang dapat diidentifikasi hanya dengan izin standar, tetapi Google mempertahankan posisinya dan menyetujui pengungkapan pada 29 April
Pembaruan dan mitigasi GrapheneOS
- GrapheneOS adalah sistem operasi berbasis Android yang berfokus pada privasi dan keamanan, terutama dikembangkan untuk perangkat Google Pixel, dan digunakan oleh mereka yang menginginkan sandboxing aplikasi yang lebih kuat, mitigasi eksploitasi, serta ketergantungan yang lebih rendah pada layanan Google
- GrapheneOS sepenuhnya menonaktifkan optimisasi tersebut dalam release 2026050400 untuk mencegah kebocoran VPN
- Yusuf menyatakan bahwa GrapheneOS menyelesaikan distribusi perbaikannya dalam waktu kurang dari satu minggu
- Selain perbaikan kebocoran VPN, rilis terbaru juga mencakup seluruh patch keamanan Android level Mei 2026
- Pembaruan ini mencakup berbagai peningkatan hardened_malloc, pembaruan kernel Linux di seluruh cabang Android 6.1, 6.6, dan 6.12, serta perbaikan backport untuk CVE-2026-33636 pada libpng
- Build browser Vanadium baru dan pembatasan Dynamic Code Loading yang diperluas juga disertakan
- Pengguna Android standar dapat memitigasi masalah ini sementara dengan menonaktifkan flag DeviceConfig close_quic_connection melalui ADB
- Solusi sementara ini memerlukan akses pengembang
- Jika Google menghapus flag fitur tersebut dalam pembaruan mendatang, mitigasi ini mungkin tidak akan tetap tersedia
1 komentar
Komentar Hacker News
Jika
system_serverberjalan dengan hak jaringan tingkat tinggi dan dikecualikan dari pembatasan routing VPN, bukankah di Android VPN pada dasarnya bukan VPN?Terlepas dari bug ini, saya jadi penasaran apakah OS terkunci lain juga bekerja dengan cara yang sama
Mullvad dan lainnya juga sudah lama membahas masalah ini
Yang saya khawatirkan adalah orang melihat kata dengan ejaan yang sama lalu gagal menangkap perbedaan konteks, sehingga keliru memperluas model kepercayaan komputer menjadi kepercayaan antarmanusia
Saya tidak tahu apakah pernah ada kerentanan atau celah yang memungkinkan trafik dikirim langsung ke tujuan arbitrer
system_serverdan jalur bypass lainnyaMirip dengan Manifest V3, mencegah pengintaian tidak sejalan dengan kepentingan Google
Pembatasan seperti itu merugikan model bisnis mereka
Alasan teknis mengapa masalah ini serius adalah karena kebocoran terjadi pada proses berprivilege
system_serverMode penguncian bawaan Android secara eksplisit menjanjikan bahwa tidak ada trafik yang akan melewati VPN. Jika sistem sendiri mengirim paket lewat antarmuka fisik, maka janji itu dilanggar pada level kernel, bukan user space, jadi sulit mengatakan ini “bukan level pengumuman keamanan”
Jika Google mengizinkan pengungkapan pada 29 April, mengejutkan juga bahwa embargo tetap dipatuhi dan distribusi perbaikan ditunda sampai Mei
Saya tidak paham kenapa tidak langsung diungkapkan
Suka atau tidak, GrapheneOS bergantung pada Android yang dikendalikan Google
Saya paham ada alasan bisnis yang buruk di baliknya, tapi saya tidak tahu bagaimana mereka bisa menjaga harga diri sambil mengklasifikasikan kebocoran VPN sebagai bukan isu keamanan
Awalnya VPN dipakai untuk mengakses jaringan privat atau jaringan kerja lewat jaringan lain, misalnya menghubungkan kantor ke kantor atau rumah ke kantor. Baru belakangan ia berubah menjadi semacam alat keamanan
Jika kode VPN dipandang sekadar “ponsel bisa mengakses printer kantor lewat 5G”, ini bisa dianggap bug kecil karena koneksi QUIC tidak tertutup dengan benar. Sebaliknya, jika Anda memandang “tunnel WireGuard ini harus melindungi identitas saya apa pun yang terjadi” atau “ini harus menjadi salinan yang akurat dari semua trafik yang keluar-masuk internet”, maka ini masalah besar
Saya rasa Android VPN, atau praktis VPN mana pun, tidak pernah dirancang sebagai sarana privasi/keamanan. Terutama terhadap aplikasi yang dapat menjalankan kode di perangkat, dan perangkat itu sendiri juga melakukan berbagai interaksi jaringan termasuk di dalam chip modem
Google keliru menutup bug ini, tetapi saya bisa memahami mengapa program bug bounty mereka tidak menganggapnya sebagai bug keamanan
Google adalah perusahaan iklan sekaligus kontraktor ofensif, jadi pengguna VPN yang membocorkan paket menguntungkan mereka dalam kedua hal itu
Ini juga mirip dengan Meta yang menghapus enkripsi end-to-end
Kurang lebih seperti, “tidak, kami ingin melihat semua yang Anda katakan dan lakukan”
Saya penasaran cara yang bagus untuk mendapatkan ponsel GrapheneOS
Saya ingin mencoba GrapheneOS, tetapi ragu membeli Pixel sungguhan. Bahkan unit bekas biasanya di atas 300 dolar, termasuk seri “a”, jadi harus turun beberapa generasi. Belum lagi soal apakah bootloader-nya bisa dibuka. Mengeluarkan 449 dolar untuk Pixel 10a baru masih berat
Sebagai referensi, saya membeli Pixel 10a saat peluncuran Google Fi dengan harga sekitar 300 dolar
Pixel 9a hampir perangkat yang sama dan masih dijual baru
Lebih aman membeli baru di toko umum atau Google Store, bukan toko operator
Unit bekas nyaris seperti berjudi karena masalah penanganan OEM unlock, jadi pastikan kebijakan retur bagus dan verifikasi bahwa OEM unlock bisa diakses sebelum membeli
Pada dasarnya, beli perangkat Pixel 6 atau lebih baru yang dipastikan bisa unlock bootloader. Tapi karena Pixel 6 segera hanya mendapat dukungan minimum, saya merekomendasikan Pixel 7 atau lebih baru. Sebagian besar unit bekas tidak bisa unlock bootloader
Jadi sebaiknya beli langsung dari Google, atau beli listing eBay yang sudah terpasang GrapheneOS/CalyxOS/LineageOS, atau beli perangkat yang penjualnya secara eksplisit menyatakan bootloader unlock memungkinkan
Secara pribadi, jika penjual belum menyebutkannya, meminta mereka memeriksa status bootloader biasanya tidak banyak gunanya. Hampir tak ada yang mau melalui prosedur pengecekan, jawabannya biasanya “tidak bisa”, mereka juga bisa salah paham lalu sekadar menjawab “ponsel unlocked”, atau mungkin sudah lelah dengan pertanyaan seperti itu
Sedang ada pekerjaan untuk mendukung lebih banyak hardware ponsel, dan untuk sementara mereknya jadi bahan spekulasi
Saya membeli Pixel 6 bekas murah untuk mencoba GrapheneOS, tetapi saya kurang suka
Pengalaman pengguna LineageOS terasa jauh lebih baik. Struktur package manager-nya terasa aneh seperti boneka Rusia. “App Store” bawaannya hanya berisi beberapa program dasar, salah satunya adalah package manager lain bernama Accrescent, yang jumlah aplikasinya masih sangat sedikit sehingga butuh package manager lain lagi. Pihak GrapheneOS tampaknya lebih menyukai Obtainium daripada F-Droid, dan itu juga terasa seperti keputusan yang aneh
Saya jauh lebih suka package manager yang sepenuhnya open source, dan ada nilai nyata dalam membangun dari source di luar sana, idealnya secara reproducible, alih-alih sekadar mempercayai paket GitHub. Model keamanan GrapheneOS terasa agak terpusat secara aneh. Manfaat privasi dan keamanan yang dilaporkan juga sulit saya nilai sendiri
Saya tidak paham kenapa harus ngotot bahwa app store deterministik dan pra-instal itu wajib ada
Menjalankan app store itu hampir sama beratnya dengan memelihara fork Android, dan dengan sudah adanya pilihan seperti F-Droid, Play Store dan Aurora Store, Obtainium, dan lain-lain, sulit menyalahkan pengembang GrapheneOS karena tidak mencurahkan upaya besar ke sana
Dalam kondisi default hanya ada launcher dan OS minimum, dan bagi kaum minimalis itu sudah cukup
Jika butuh lebih, pengguna tinggal memutuskan akan ke mana. Saya menyebut ini cara memberdayakan pengguna, sementara Anda tampaknya menyebutnya ketidaknyamanan. Kalau begitu mungkin OS itu memang tidak cocok untuk Anda
“Open source” pada dasarnya hanyalah istilah lisensi
“App Store” GrapheneOS ada untuk menyediakan aplikasi paling mendasar yang dibutuhkan untuk penggunaan umum. Alasan Accrescent didistribusikan di sana adalah karena sebagai app repository nyata ia mengikuti baseline keamanan Android, sedangkan F-Droid dan Aurora Store tidak
Saya tidak melihat banyak nilai dalam pendekatan pihak ketiga seperti F-Droid yang membangun aplikasi lalu memeriksa perilaku berbahaya. Pemeriksaan seperti itu tidak terlalu andal dan pernah berhasil dilewati. Itu juga salah satu alasan WireGuard tidak lagi ada di F-Droid. Jika Anda tidak cukup percaya pada aplikasi untuk menerimanya langsung dari pengembangnya, maka memang sebaiknya jangan dipakai
Manfaat privasi dan keamanan GrapheneOS dirancang agar hampir tidak terlihat bagi pengguna rata-rata. Contohnya ada allocator memori yang diperkeras dan memory tagging extension untuk mencegah bug korupsi memori, serta kemampuan memasang Google Play yang disandbox agar tetap bisa memakai layanan Google tanpa memberi Google kendali atas seluruh perangkat
App Store GrapheneOS ada untuk mengisi peran primary app store yang diwajibkan AOSP. Ia juga berfungsi memperbarui aplikasi pihak pertama secara terpisah dari update OS, dan dalam beberapa kasus mencerminkan aplikasi
Accrescent dicerminkan karena fokus pada privasi dan keamanan. Saat ini masih berstatus alpha dan pengiriman aplikasi masih ditutup, tetapi akan segera dibuka
Google Play dicerminkan demi kompatibilitas dengan aplikasi yang memerlukan Google Play, dan juga untuk akses ke Play Store
Alasan komunitas GrapheneOS menyukai Obtainium adalah karena ia bisa mengambil aplikasi yang ditandatangani pengembang dari tempat seperti GitHub. F-Droid menandatangani dan membangun hampir semua aplikasi di repositori utamanya dengan infrastruktur build yang usang dan sistem kurasi yang lemah
Model keamanan GrapheneOS mewarisi model keamanan AOSP lalu memperkerasnya lebih lanjut
GrapheneOS punya banyak implementasi teknis yang keren, tetapi Calyx tampaknya menangani banyak hal dengan cara yang lebih sederhana dan lebih mendekati Android murni
GrapheneOS katanya menonaktifkan optimasi
registerQuicConnectionClosePayloaduntuk “memperbaiki kebocoran VPN” dan secara efektif meniadakan vektor serangan pada perangkat Pixel yang didukungJadi GrapheneOS “memperbaiki” kebocoran itu dengan mematikan optimasinya
Dulu di HN orang memuji QUIC, dan komentar yang bertanya QUIC paling menguntungkan siapa malah diberi penilaian rendah. Penggunaan QUIC mungkin sejalan dengan kepentingan pihak lain, tetapi bagi saya trade-off-nya tidak masuk akal sehingga trafik QUIC saya blokir
QUIC pada perangkat lunak yang didistribusikan Google, seperti Android, kadang aktif secara default, dan dalam beberapa kasus tidak ada cara untuk mematikannya
Yang dihapus GrapheneOS hanyalah cara bagi aplikasi untuk meminta OS menutup koneksi QUIC secara otomatis dalam situasi seperti aplikasi mati. Dari sudut pandang server ini adalah optimasi karena menghindari koneksi tetap terbuka, menahan resource, lalu baru melalui proses penutupan setelah batas idle tercapai, tetapi ini bukan optimasi dari sisi klien
Selain itu GrapheneOS juga telah memperbaiki sekitar 5 kebocoran VPN lain dan masih ada perbaikan tambahan yang sedang dikerjakan. Implementasi VPN Android saat ini adalah VPN per profil, tetapi profil tersebut belum menggunakan network namespace sendiri, dan resolver DNS serta berbagai layanan terpusat harus menangani dukungan VPN dengan benar, sehingga rentan bocor
Ke depan mereka berencana memperbaiki arsitektur VPN agar jauh lebih tahan terhadap kebocoran. Dukungan untuk menjalankan aplikasi atau grup aplikasi di mesin virtual juga akan hadir, yang bisa memberi perlindungan lebih kuat
QUIC sendiri bagus, dan ini lebih merupakan fitur dari Google Android sebagai OS pengawasan daripada fitur protokolnya
Lagi pula, saat diuji pada OS sebelum rilis terbaru pun itu tidak bekerja dengan benar
Android bawaan itu spyware sekaligus adware
Dulu perangkat lunak seperti ini akan disebut berbahaya dan dihapus, tapi sekarang justru jadi default
Karena kita tahu 99% pengguna tidak peduli, satu-satunya titik tekan adalah produsen ponsel. Rasanya tidak berdaya karena saya tidak punya kekuatan untuk memengaruhi siapa pun yang punya pengaruh berarti di bidang ini