Cacat keamanan di Apple Safari yang dieksploitasi di alam liar awal tahun ini awalnya diperbaiki pada 2013 dan diperkenalkan kembali pada Desember 2016, menurut laporan baru dari Google Project Zero.
Masalah ini, dilacak sebagai CVE-2022-22620 (skor CVSS: 8,8), menyangkut kasus kerentanan penggunaan setelah bebas dalam komponen WebKit yang dapat dieksploitasi oleh sepotong konten web yang dibuat khusus untuk mendapatkan eksekusi kode arbitrer.
Pada awal Februari 2022, Apple mengirimkan patch untuk bug di Safari, iOS, iPadOS, dan macOS, sambil mengakui bahwa itu “mungkin telah dieksploitasi secara aktif.”

“Dalam hal ini, varian telah sepenuhnya ditambal ketika kerentanan pertama kali dilaporkan pada 2013,” kata Maddie Stone dari Google Project Zero. “Namun, varian itu diperkenalkan kembali tiga tahun kemudian selama upaya refactoring besar-besaran. Kerentanan itu kemudian terus ada selama 5 tahun hingga ditetapkan sebagai zero-day di alam liar pada Januari 2022.”
Meskipun bug 2013 dan 2022 di History API pada dasarnya sama, jalur untuk memicu kerentanan berbeda. Kemudian perubahan kode berikutnya yang dilakukan bertahun-tahun kemudian menghidupkan kembali cacat zero-day dari kematian seperti “zombie”.

Menyatakan insiden itu tidak unik untuk Safari, Stone lebih lanjut menekankan meluangkan waktu yang cukup untuk mengaudit kode dan tambalan untuk menghindari contoh duplikasi perbaikan dan memahami dampak keamanan dari perubahan yang dilakukan.
“Baik komit Oktober 2016 dan Desember 2016 sangat besar. Komit pada Oktober mengubah 40 file dengan 900 tambahan dan 1225 penghapusan. Komit pada Desember mengubah 95 file dengan 1336 penambahan dan 1325 penghapusan,” kata Stone.
“Tampaknya tidak dapat dipertahankan bagi pengembang atau pengulas mana pun untuk memahami implikasi keamanan dari setiap perubahan dalam komitmen tersebut secara rinci, terutama karena mereka terkait dengan semantik seumur hidup.”