1 poin oleh GN⁺ 2024-09-14 | 1 komentar | Bagikan ke WhatsApp
  • 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

 
GN⁺ 2024-09-14
Komentar Hacker News
  • Jika perusahaan teknologi besar tidak membayar bounty, kemungkinan besar ada alasan yang sah

    • Program bounty dirancang untuk membayar submission yang valid
    • Tidak membayar bounty bertentangan dengan tujuan program
    • Tim yang menjalankan program didorong untuk membayar lebih banyak bounty
  • Saya tidak menggunakan iCloud Photo Library, tetapi aneh jika lokasi pustaka foto diubah, lokasi baru itu tidak dilindungi

    • Setelah mengubah System Photo Library, aplikasi Photos seharusnya melindungi direktori tersebut
    • Hasil pengujian di sistem Sonoma 14.6.1 menunjukkan bahwa jika pustaka foto baru dibuat di ~/Pictures, akses ditolak
    • Namun, jika dibuat di /tmp, akses diizinkan
    • Jika Apple mendukung fitur untuk memindahkan pustaka foto ke lokasi mana pun di file system, perlindungan yang tepat harus diterapkan
  • Ada cara lain untuk memanipulasi quarantine flag

    • Terlalu banyak sistem yang memiliki kemampuan untuk mengubah flag ini
  • Tahap pertama itu sendiri sudah merupakan kerentanan yang serius

    • Penyerang dapat menetapkan path arbitrer di bagian ATTACH untuk melakukan serangan directory traversal
  • Penyerang dapat mencuri iCloud Photos milik korban melalui undangan kalender berbahaya

    • Saya penasaran apakah pengguna macOS bisa mengirim undangan acak ke siapa saja
  • Jika file yang ditentukan penyerang sudah ada, file itu akan disimpan sebagai "PoC.txt-2"

    • Ketika event/lampiran nanti dihapus, file asli ikut terhapus
    • Kerentanan ini dapat digunakan untuk menghapus file yang sudah ada di file system
  • Saya tidak suka status bounty ini

    • Saya penasaran apakah menunggu selama ini adalah hal yang umum bagi peneliti keamanan saat berurusan dengan Apple atau perusahaan FAANG lainnya
  • Saya merasa bersemangat setiap kali muncul kerentanan keamanan yang bukan terkait memory safety

    • Menyenangkan membayangkan waktu dan energi yang diinvestasikan ke Rust terbuang sia-sia oleh bug path traversal
  • Saya penasaran apakah Lockdown Mode mencegah ini

  • Ini exploit yang cukup lama

    • Saya ingat pernah membaca tentang nama file yang menyertakan path sekitar 10 tahun lalu