iMessage Zero-Click Exploit (CVE-2021–30860)

Sezer Hüseyin
3 min readApr 12, 2023

Suudi aktitivisti’in cep telefonuna NSO grouplarının şubat 2021'den beri kullandığı, Apple’ın görüntü oluşturma kitaplığını hedef alan,dışarıdan kod çalıştırmaya imkan tanıyan zafiyetin nasıl oluştuğunu anlatacağım.

NSO Pegasus;
İçinde birden fazla mobil android ve iphone olmak üzere exploit barındıran yazılım, exploitlerin türlerine göre hedefi hacklemeyi sağlayan ara yazılım isterseniz satın alabiliyorsunuz. akıllara şöyle bir soru gelebilir, bu kadar zafiyet nereden geliyor, nasıl biliyorlar?

NSO hacker grubu, kendi bünyesinde birden fazla hacker barındırıyor, kendi buldukları güvenlik zaafiyetlerini asla dışarıya bildirmiyorlar, örneğin zamanında Whatsapp’ın size arama geldiğinde sizi hackletebilen bir exploiti vardı, hatta yanılmıyorsam türkiyeden biri biraz dolar vererek bunu almıştı, hacklesede ne olacak arada ssl var zart zurt diyenler için Whatsapp’ın uçtan uça şifreli bir protokol kullanır, yani biri sizin telefonuza fiziksel erişim yada başka zafiyetlerden yola çıkarak hacklerse mesajlarınızı okuyabiliyordu, daha sonradan telefonun lokalınde kalan mesajlarıda şifreli hale getirdiler, gelelim diğer güvenlik zafiyetine.

CVE-2021–30860 is an integer overflow in the CoreGraphics component, specifically the decoding of a JBIG2 data. JBIG2 (Joint Bi-level Image Experts Group) is an image compression format which can be embedded as a stream in a PDF or PSD document, or potentially other formats as well. You can read more about it here.

Görselleri sıkıştırıp pdf yada psd formatlarını ekrana basmaya saglayan ara JBIG2 (Joint Bi-level Image Experts Group) extension’da bir integer overflow olduktan sonra,uzaktan kod çalıştırmayı mümkün hala geliyor.

Iphone’da bulunan iMesages, kullanıcının telefonuna gönderilen bir gif, psd,pdf dosyalarını otomatik çalıştırıyor,yani aslinda siz chat ekranını açtığınızda oynatılan gif sonsuz bir döngüde oynatılıyor,zero click burada dahil oluyor. gif,pdf,psd dosylarını işleyen image kütüphanesi dahil edilen image dosyasını parse ederken, parse edilen kod satırında integer overflow yaşanıyormuş, bu taşmadan sonra saldırgan istediği kadar hassas veri okuması yapıp,okuduklarınıda sandbox dışına yazabiliyormuş(bir pdf oluştur pdf çıktısını şuraya oluştur gibi düşünebilirsiniz) Aslında apple bir sandbox içinde bu kodları çalıştırıyormuş,(BlastDoor) tıpkı bu güvenlik açıklarından kaçınabilmek için ama sandbox içine pdf ve psd’yi dahil etmemişler.

Suudi aktivistin telefonuna iMesages üzerinden 27 tane gif dosyası göndermişler,ilk bakıldığında gif dosyası gibi gözüken dosya aslında bir psd dosyasıymış, Bu dosyanın her kopyası, cihazda bir IMTranscoderAgent çökmesine neden olmuş, interger overflow’dan sonra dosya boyutu kadar verinin dışarıya aktarımı mümkün olmuş.

Bu exploit türü sadece Iphone için kısıtlı değilmiş aynı ve buna benzer zafiyetleri android’de bulmayı başarmışlar.

Figure 1: The GIF files we found on the phone.

PDF Comment '%PDF-1.3\n\n'

obj 1 0
Type: /XRef
Referencing:
Contains stream

<< /Type /XRef /Size 9 /W [1 3 1] /Length ... /Filter [/FlateDecode /FlateDecode /JBIG2Decode] /DecodeParms >>


trailer
<< /Size 2 >>

startxref 10

PDF Comment '%%EOF\n'

Saygılarımla,

https://objective-see.org/blog/blog_0x67.html

--

--