作为12.4 iOS更新的一部分,Apple修补的iMessage漏洞允许潜在的攻击者远程读取存储在iOS设备上的文件内容而无需用户交互,因为用户移动没有沙箱。
谷歌Project Zero安全研究员娜塔莉·西尔瓦诺维奇 (Natalie Silvanovich)在5月份向苹果公司报告了CVE-2019-8646的安全漏洞 。
Silvanovich创建的概念证明仅适用于运行iOS 12或更高版本的设备,它被设计为“一个简单的示例,用于演示Springboard中类的触及能力。该错误的实际后果可能更严重。”
CVE-2019-8646允许攻击者从没有用户交互的远程设备上读取文件,因为没有沙箱的用户移动设备https://t.co/uGXHYjOXBe
- Natalie Silvanovich(@natashenka),2019年7月29日
Google安全研究员表示,iMessage问题是由_NSDataFileBackedFuture类引起的,即使启用了安全编码,也可以“反序列化。此类是文件支持的NSData对象,当[NSData bytes]选择器将本地文件加载到内存中叫做。”
Silvanovich 在Project Zero的错误跟踪器中详细描述了这个问题:
“首先,如果反序列化缓冲区的代码共享它,它可能会允许对本地文件进行不希望的访问(这更可能导致使用序列化对象进行本地通信的组件出现问题而不是iMessage)。其次,它允许创建一个NSData对象,其长度不同于其字节数组的长度。这违反了一个非常基本的属性,该属性应始终适用于NSData对象。这可以允许越界读取,并且还可能导致越界写入,因为现在可以创建具有非常大的NSData对象,如果缓冲区被备份则是不可能的。”
苹果公司在 7月22日发布的iOS 12.4版本中修补了这个问题,“除非明确地将其添加到允许列表中,否则将阻止此类进行解码。此外,还实现了对文件URL的更好过滤。”
根据iOS发行说明,Siri和Core Data iOS组件中存在越界读取缺陷,它会影响所有iPhone 5s或更高版本,iPad Air或更高版本以及iPod touch第6代或更高版本的设备。
由于概念验证现已公开用于此漏洞,iOS 12.4最近才发布,因此强烈建议用户尽快升级到最新版本的iOS。
在iOS 12.4中修补了更多iMessage漏洞
Silvanovich发现在与谷歌的Project Zero的合作,其他两个漏洞的iMessage 塞缪尔·格罗斯,也得到了在iOS的12.4更新修补漏洞。
第一个是Core Data中的内存漏洞,跟踪为CVE-2019-8660, 通过改进的长度检查进行修复,它使远程攻击者可能在iPhone 5s或更高版本,iPad Air或更高版本以及iPod上导致意外的应用程序终止或任意代码执行触摸第6代或更高版本的iOS设备。
第二个是 在CVE-2019-8647跟踪免费问题 后使用Core Data,可能允许远程攻击者在iPhone 5s或更高版本,iPad Air或更高版本以及iPod touch第6代或更高版本iOS设备上执行任意代码执行。
总的来说,Silvanovich发现了五个iMessage错误,最后两个是输入验证问题,这可能会导致设备出现格式不正确的消息(在5月13日发布的iOS 12.3中打补丁)和一个越界读取导致内存泄漏(在7月22日发布的watchOS 5.3中修复 )。