file://被阻止了?哦,好的,我们会使用File://或 fiLE://......。
苹果的macOS Finder应用程序目前很容易受到远程代码执行漏洞的影响,尽管该公司显然试图解决这个问题。
周二,SSD Secure Disclosure Program网站代表研究人员Park Minchan发布的一份安全公告解释,macOS Finder(提供用于操作处理文件的可视化界面)容易受到扩展名为.inetloc 的文档的攻击。
安全公告称:“这些文件可以嵌入到电子邮件中,如果用户点击文件,将执行嵌入在其中的命令,而不会向用户发出提示或警告。”
如果下载并双击这些文件,文件也会执行命令。从理论上讲,苹果的两种macOS安全机制 Quarantine(用于防止下载件在没有用户操作的情况下启动)和Gatekeeper(用于强制执行代码签名)应该可以防止这类问题。
但是当IT外媒The Register测试概念证明(PoC)文件时,该文件在没有任何警告的情况下执行。据安全研究人员Patrick Wardle声称,PoC代码绕过了这两种机制。
十多年前,苹果的操作系统软件受到了类似缺陷(CVE-2009-2811)的影响,当时曝出问题的是Mac OS X 10.5.8 中的.fileloc 扩展名。
.inetloc文件扩展名似乎可以追溯到2004年左右,但没有完备的文档记录。苹果自己的开发者网站无法识别inetloc这个词。不过,macOS将此类文件视为互联网位置。
据安全公告显示,.inetloc文件充当互联网资源(比如RSS新闻源或telnet位置)的快捷方式,可能含有服务器地址和SSH或telnet会话的登录信息。如果格式和拖放在Finder应用程序内得到支持,可以通过在文本编辑器中输入URL并将文本拖到macOS桌面上来创建.inetloc文件。
这是PoC文件的样子。如果在macOS中打开,它将启动macOS计算器应用程序。
安全公告称,苹果告诉SSD Disclosure Program网站,从Big Sur开始,较新版本的macOS已通过com.apple.generic-internet-location中的检查机制,阻止了file://前缀。但苹果的工程师们显然没有考虑大小写字母的变化,因此文件处理程序的替代版(比如File://或fIle://)仍然绕过检查机制。
安全公告称:“我们已经告知苹果FiLe://(只是把值弄乱了)似乎没有被阻止,但自报告这一情况以来没有收到对方的任何回应。据我们所知,眼下,这个漏洞尚未打上补丁。”