- Di beta dan kandidat rilis macOS 14 Sonoma, firewall PF gagal memfilter lalu lintas dengan benar sehingga aplikasi Mullvad VPN tidak dapat berfungsi normal
- Jika beberapa pengaturan seperti berbagi jaringan lokal diaktifkan, hal ini dapat menyebabkan kebocoran lalu lintas, sehingga Mullvad menilai sulit menjamin fungsi dan keamanan di macOS 14
- Mullvad menyelidiki masalah ini sejak beta ke-6 dan melaporkannya ke Apple, tetapi bug tersebut tetap ada di beta berikutnya dan kandidat rilis
- Mereka meninjau apakah masalah ini bisa diakali dengan patch pada aplikasi itu sendiri, tetapi tidak menemukan solusi yang aman, dan pada dasarnya diperlukan perbaikan firewall dari Apple
- Pengguna yang bergantung pada pemfilteran PF atau aplikasi terkait perlu berhati-hati saat meningkatkan ke macOS 14, dan jika bug ini masih ada maka lebih aman tetap menggunakan macOS 13 Ventura
Masalah firewall PF di macOS 14 Sonoma
- Selama masa beta macOS 14 Sonoma, Apple memperkenalkan bug pada packet filter (PF), firewall macOS
- Akibat bug ini, aplikasi Mullvad VPN tidak berfungsi, dan jika pengaturan tertentu diaktifkan dapat terjadi kebocoran lalu lintas
- Contoh pengaturan yang disebut adalah berbagi jaringan lokal
- Mullvad menyelidiki masalah ini setelah beta macOS 14 ke-6 dirilis dan melaporkan bug tersebut ke Apple
- Masalah yang sama tetap bertahan pada beta macOS 14 berikutnya dan kandidat rilis
- Mereka mengevaluasi cara agar aplikasi VPN saja dipatch untuk tetap menjaga fungsi dan keamanan di macOS 14, tetapi saat ini menilai belum ada solusi yang baik
- Dampaknya tidak terbatas pada aplikasi Mullvad VPN saja
- Aturan firewall tidak diterapkan dengan benar pada lalu lintas jaringan
- Lalu lintas yang seharusnya tidak diizinkan bisa lolos
- Pengguna yang bergantung pada pemfilteran PF atau aplikasi yang menggunakannya di latar belakang perlu berhati-hati saat meningkatkan ke macOS 14
- macOS 14 Sonoma dijadwalkan rilis pada 26 September, dan jika bug ini masih ada, pengguna Mullvad disarankan tetap menggunakan macOS 13 Ventura sampai ada perbaikan
Langkah reproduksi dan hasil aktual
- Masalah ini dapat direproduksi di macOS 14, dan percobaan ini menghapus aturan firewall yang dimuat di PF
- Di terminal, buat antarmuka logging virtual lalu pantau lalu lintas yang cocok dengan aturan yang akan ditambahkan nanti
sudo ifconfig pflog1 create
sudo tcpdump -nnn -e -ttt -i pflog1
- Tulis aturan firewall berikut di file
pfrules
pass quick log (all, to pflog1) inet from any to 127.0.0.1
block drop quick log (all, to pflog1)
- Di terminal lain, aktifkan PF dan muat aturannya
sudo pfctl -e
sudo pfctl -f pfrules
ping 45.83.223.209
- Hasil yang diharapkan adalah ping diblokir karena tidak cocok dengan satu-satunya kondisi aturan
pass, dan lalu lintas tercatat di pflog1 sebagai cocok dengan aturan block
- Namun pada kenyataannya, ping keluar ke internet dan respons kembali, sementara lalu lintas tidak tercatat di
pflog1
- Setelah percobaan selesai, nonaktifkan firewall dan hapus semua aturan
sudo pfctl -d
sudo pfctl -f /etc/pf.conf
1 komentar
Komentar Hacker News
Bug PF yang sama juga merusak salah satu fitur jaringan OrbStack
Saat berhasil mempersempit penyebabnya sampai sejauh ini, rasanya sulit dipercaya, tetapi sepertinya bukan cuma saya yang mengalaminya. Semoga benar-benar diperbaiki sebelum rilis stabil
Saya baru bisa melaporkannya ke Apple kemarin; ini tampaknya regresi yang cukup baru, mungkin muncul sekitar beta 6
PF seharusnya merupakan firewall di mana aturan terakhir yang cocok diterapkan, tetapi macOS tampaknya bertindak hampir seperti aturan pertama yang cocok. Aturan
blockdi bagian depan menimpa aturanpassdari anchor lain bahkan tanpaquick, jadi wajar saja muncul masalahKalau versi stabil keluar dalam kondisi seperti ini, itu tidak bisa diterima, dan bagi saya pribadi akan menjadi alasan untuk meninggalkan Mac OS. Jika ingin dipakai untuk pekerjaan serius, produk dengan regresi seperti ini tidak boleh dirilis
Tulisannya sangat ringkas dan informatif, dan bagus karena juga menyertakan langkah reproduksi bug yang sederhana
Saya suka Mullvad
Sedikit menyimpang, tetapi macOS secara umum punya banyak bug firewall aneh dalam beberapa rilis terakhir, dan saya penasaran mengapa bagian firewall sampai perlu dirombak dan dibuat ulang
Apa pun mesin lokal dan sistem operasinya, browsing bisa dijalankan melalui server khusus. Ini tidak membungkus seluruh koneksi jaringan, hanya browsing, tetapi dalam cakupan itu ia dapat mengganti alamat IP, menyembunyikan lokasi, dan menambahkan perlindungan dari zero-day browser
BrowserBox terus menambahkan fitur yang menghormati dan melindungi privasi serta meningkatkan keseluruhan pengalaman. Karena open source, Anda juga bisa mengubahnya sesuka hati. Jika AGPL-3.0 tidak cocok, lisensi komersial juga tersedia: https://github.com/dosyago/BrowserBoxPro
Jika tidak suka open source dan lebih menyukai kenyamanan dari perusahaan besar, Mullvad juga tampaknya punya Mullvad Browser yang melakukan hal serupa
Tulisan lama terkait: https://9to5mac.com/2015/05/26/apple-drops-discoveryd-in-lat...
Kode reproduksi ini benar-benar enak dilihat
Tentu saja memang itulah cakupan bug-nya, tetapi pemeriksaan ini tidak terlihat sangat canggih atau indah bagi saya
Entah terkait atau tidak, tetapi setelah dua upgrade macOS terakhir, jaringan tidak berfungsi
Saya bisa terhubung ke Wi‑Fi, ethernet, dan hotspot, tetapi tidak ada koneksi nyata seperti browser atau ping yang berjalan, bahkan router pun tidak bisa dijangkau
Dalam kedua kasus, cukup membuka aplikasi Mullvad VPN sekali saja membuat semuanya berfungsi lagi. Saya tidak tahu mengapa hanya membuka aplikasinya bisa memperbaiki masalah
Tidak sepenuhnya terkait, tetapi ada juga bug lama lainnya: bug macOS
Popen()yang sudah berumur 11 tahun: https://news.ycombinator.com/item?id=37238433Sebagai catatan, saya mengalami masalah koneksi dengan Mullvad.app, tetapi menjalankan konfigurasi Mullvad WireGuard di Wireguard.app berfungsi dengan baik
Saya baru-baru ini memasang Sonoma beta terbaru, dan sekarang masuk akal kenapa saya sama sekali tidak bisa membuat Mullvad berjalan
Syukurlah Mullvad sedang mengerjakan workaround. Tadi pagi saya bahkan sempat berpikir untuk downgrade ke Ventura, tetapi sekarang rasanya memang masalahnya ada di sini
Senang Mullvad meningkatkan tekanan publik atas masalah ini. Bug ini jelas terlihat dan cukup mengkhawatirkan
Di teks aslinya tertulis “we have investigated this issue after the 6th beta was released and reported the bug to Apple”
Dalam kasus saya, solusinya adalah mengunduh konfigurasi WireGuard dan memakai aplikasi Wireguard
PostUpdanPostDownke konfigurasi WireGuard. Kalau begitu, sulit disebut solusiPertanyaan: jika
pflog1tidak dibuat, apakah pf bekerja seperti yang diharapkan?Jika
tcpdumptidak mencatat apa pun yang keluar kepflog1, itu tampaknya berarti data tidak dikirim kepflog1. Maka masalahnya ada di lapisan sebelum ituApakah
pflog1sudah terhubung dan dalam keadaan up? Dulu antarmuka harus dihubungkan dan dinaikkan secara manual. Apakah MacOS melakukannya otomatis?Tentu saja memisahkan hal ini bukan tugas pelapor bug. Namun pada suatu titik engineer yang menangani akan menanyakan hal seperti ini, jadi lebih baik jawabannya disiapkan lebih dulu
ifconfig pflog1 destroy