- Ditemukan kerentanan zero-click di Calendar macOS
- Penyerang dapat menambahkan atau menghapus file arbitrer di dalam lingkungan sandbox Calendar
- Jika digabungkan dengan eksekusi kode berbahaya dan pengelakan perlindungan keamanan, hal ini dapat membahayakan data sensitif iCloud Photos milik pengguna
- Apple telah memperbaiki seluruh kerentanan antara Oktober 2022 hingga September 2023
Detail kerentanan
Tahap 1: Kerentanan penulisan dan penghapusan file arbitrer di Calendar (CVE-2022-46723)
- Penyerang dapat menyertakan lampiran file melalui undangan kalender berbahaya
- Nama file lampiran tidak divalidasi dengan benar
- Dengan menetapkan path arbitrer pada bagian ATTACH, serangan directory traversal dapat dilakukan
- Contoh:
FILENAME=../../../PoC.txt
- File ditambahkan ke
~/Library/Calendar/PoC.txt
- Jika file sudah ada, file akan disimpan sebagai
PoC.txt-2
- Saat event/lampiran yang dikirim penyerang dihapus, file asli (
PoC.txt) ikut terhapus
- Kerentanan ini dapat digunakan untuk menghapus file yang sudah ada di dalam sistem file
- Kerentanan ada di macOS Montrey 12.5. Tidak rentan di macOS 13.0 beta4
Tahap 2: Mendapatkan eksekusi kode jarak jauh (RCE) menggunakan kerentanan penulisan file arbitrer
- Ditemukan tepat sebelum rilis macOS Ventura
- Dengan memanfaatkan proses upgrade versi macOS, eksekusi kode jarak jauh dapat diperoleh melalui fitur Open File milik Calendar
- Beberapa file diinfeksi untuk memicu eksploit RCE
File yang disuntikkan #1: 000Hacked-$RANDOM.calendar
- Berisi data kalender yang terlihat seperti data kalender yang disarankan Siri
- Mencakup event berulang dan fitur pengingat
File yang disuntikkan #2: file CalendarTruthFileMigrationInProgress
- Meningkatkan dan menggabungkan kalender yang ada ke database baru
File yang disuntikkan #3: CalPoCInit.dmg
- Pengingat yang disertakan dalam event kalender membuka file tersebut
- CalPoCInit.dmg berisi referensi yang menunjuk ke server Samba eksternal
File yang disuntikkan #4: stage1.url
- Pengingat kedua yang disertakan dalam event kalender membuka file tersebut
- Berisi URL yang menunjuk ke aplikasi pada mount Samba
File yang disuntikkan #5: stage2.url
- Pengingat ketiga yang disertakan dalam event kalender membuka file tersebut
- Menjalankan aplikasi berbahaya tanpa interaksi pengguna
Tahap 3: Mengakses data Photos yang sensitif
- Dengan mengubah konfigurasi Photos, dimungkinkan untuk mengakses foto yang disimpan di iCloud
- Perlindungan TCC dapat dilewati untuk mengekfiltrasi data sensitif pengguna
Akses file iCloud melalui perubahan konfigurasi Photos
- Penyerang membuat file konfigurasi yang menetapkan System Photo Library milik Photos ke path lain
- Saat
PhotosPoC.sh dijalankan, file konfigurasi baru akan diimpor
- Konfigurasi asli dicadangkan dan konfigurasi baru disimpan di
/var/tmp/mypictures/
- Menjalankan Photos dengan System Photo Library baru dan mengaktifkan sinkronisasi iCloud
Rantai keseluruhan
- Untuk melewati semua penghalang keamanan di macOS, diperlukan beberapa tahap
- Melewati sandbox dan menggunakan trik SMB untuk mengelabui mitigasi Gatekeeper
- Dapat melewati perlindungan TCC untuk mengakses data sensitif
Linimasa
- 2022-08-08: Dilaporkan penulisan dan penghapusan file arbitrer dari sandbox Calendar
- 2022-10-24: Diperbaiki di macOS Monterey 12.6.1 dan Ventura 13
- 2022-11-14: PoC dikirim, metode eksekusi kode arbitrer menggunakan kerentanan Calendar
- 2022-12-04: PoC dikirim, metode akses foto iCloud
- 2023-02-20: Kredit CVE-2022-46723 dan penambahan CVE
- 2023-03-27: Perbaikan bypass Gatekeeper di macOS Ventura 13.3
- 2023-09-26: Perbaikan dan kredit untuk kerentanan Photos CVE-2023-40434
- 2023-10-09: Pengumuman bug bounty terkait bypass Gatekeeper dan kerentanan Photos
- 2023-12-21: Kredit bypass Gatekeeper CVE-2023-40433
Ringkasan GN⁺
- Artikel ini membahas kerentanan zero-click di Calendar macOS dan menjelaskan bagaimana kerentanan tersebut dapat digunakan penyerang untuk mengakses data sensitif iCloud Photos milik pengguna
- Rantai kerentanan ini melewati beberapa tahap untuk menembus sandbox, mengelabui perlindungan Gatekeeper dan TCC, sehingga memungkinkan eksekusi kode jarak jauh serta akses ke data sensitif
- Artikel ini memberikan informasi penting bagi peneliti keamanan dan pengguna macOS, serta menekankan bahwa Apple telah memperbaiki kerentanan-kerentanan tersebut
- Proyek lain dengan fungsi serupa mencakup aplikasi kalender lain seperti Google Calendar
1 komentar
Komentar Hacker News
Jika perusahaan teknologi besar tidak membayar bounty, kemungkinan besar ada alasan yang sah
Saya tidak menggunakan iCloud Photo Library, tetapi aneh jika lokasi pustaka foto diubah, lokasi baru itu tidak dilindungi
Ada cara lain untuk memanipulasi quarantine flag
Tahap pertama itu sendiri sudah merupakan kerentanan yang serius
Penyerang dapat mencuri iCloud Photos milik korban melalui undangan kalender berbahaya
Jika file yang ditentukan penyerang sudah ada, file itu akan disimpan sebagai "PoC.txt-2"
Saya tidak suka status bounty ini
Saya merasa bersemangat setiap kali muncul kerentanan keamanan yang bukan terkait memory safety
Saya penasaran apakah Lockdown Mode mencegah ini
Ini exploit yang cukup lama