Quicksort 算法标准实现中发现严重安全漏洞

  • Ryan Slobojan
  • 郭晓刚

2009 年 4 月 1 日

话题:JavaSOA敏捷.NETRuby安全架构语言 & 开发文化 & 方法

L0pht Heavy Industries黑客组织的一位研究者发现了Quicksort 算法标准实现中的一处缺陷,论影响之广,这个漏洞肯定会在所有已知安全漏洞中名列前茅。InfoQ 向 L0pht 组织的Dildog询问了漏洞的详情及可能造成的后果。

Dildog 解释说这个漏洞属于利用缓冲区溢出的类型。在这类漏洞中,当用户执行带漏洞的程序时,其权限就会被恶意程序利用来执行任意代码。

本次发现的 Quicksort 安全漏洞代码还没有公开,但已有两家独立的安全分析公司确认 Quicksort 算法的标准实现中确实存在漏洞。Wikipedia 上给出的Quicksort 算法伪代码如下:

 function quicksort(array)
     var list less, greater
     if length(array) ≤ 1  
         return array  
     select and remove a pivot value pivot from array
     for each x in array
         if x ≤ pivot then append x to less
         else append x to greater
     return concatenate(quicksort(less), pivot, quicksort(greater))

目前已确认以下库、运行时、产品受到此漏洞的影响:

  • 多个 JVM 实现(包括来自 Sun、IBM、Oracle/BEA 和 Apache 的实现)
  • .Net CLR,3.5 SP1 及以下版本
  • Microsoft Visual C Runtime,9.0 及以下版本
  • Adobe Flash 运行时,10.0 及以下版本
  • glibc,2.6 及以下版本
  • Apache HTTPD,2.2.13 及以下版本
  • 众多集线器、交换机、路由器,包括部分来自 Cisco、Juniper、D-Link、Netgear 及 Linksys 的产品

据 Dildog 所说,该漏洞是在对一台受到未知恶意程序侵害的计算机分析取证时发现的。该恶意程序将受害计算机的所有系统声音都替换成了一曲 80 年代流行歌的片段(译注:Rick Astley,Never Gonna Give You Up),所有系统图片和图标都替换成了笑猫图Lolcat)。

尽管目前尚未发现第二例感染报告,但我们建议所有 InfoQ 读者提高警惕,若您在电脑上发现任何 Rick Astley 或者 Lolcat 的踪迹,请立即向有关部门报告。

查看英文原文:Critical Security Vulnerability Found in Quicksort

JavaSOA敏捷.NETRuby安全架构语言 & 开发文化 & 方法