一个NTFS的BUG让Windows 7/8.1蓝屏,可嵌入图片缓存中

俄罗斯网站habrahabr.ru发现了一个NTFS的BUG,这个BUG可以令一些错误格式的文件导致Windows 7/8.1蓝屏。一些恶意网站可以使用这种格式不正确的文件名嵌入图片,浏览器就能将其保存在缓存中,从而让用户的电脑死机蓝屏。

这个BUG是怎么触发的呢?当用户尝试打开$mft文件时,NtfsFindStartingNode函数无法找到$mft文件,因为它与函数NtfsOpenSubdirectory(该文件始终找到该文件)相反,执行方式不同。因此,一个循环就从系统根目录开始了。接下来,函数NtfsOpenSubdirectory将打开$mft文件,由ERESOURCE运行。在下一次迭代时,循环将发现该文件不是一个目录,因此会中断其运行错误。

然后高潮来了,在$mft结束运行时,NtfsCommonCreate通过函数NtfsTeardownStructures将尝试关闭$mft,但NtfsTeardownStructures却面临着无法关闭的事实,因为$mft在文件系统被安装时就已经被打开了,在这种情况下会与NtfsTeardownStructure函数将不会放出ERESOURCE $mft文件。例如,当用户创建文件或读取文件时,NTFS文件系统就会捉取ERESOURCE $mft文件而且永久挂起。

链接在这,各位看官有谁能看懂俄文的欢迎研究。

(0)

相关推荐