安全研究

安全漏洞
Jetty可预测随机会话ID漏洞

发布日期:2007-02-05
更新日期:2007-02-06

受影响系统:
Jetty Jetty < 6.1.0pre3
Jetty Jetty < 6.0.2
Jetty Jetty < 5.1.12
Jetty Jetty < 4.2.27
不受影响系统:
Jetty Jetty 6.1.0 pre3
Jetty Jetty 6.0.2
Jetty Jetty 5.1.12
Jetty Jetty 4.2.27
描述:
BUGTRAQ  ID: 22405

Jetty是一款流行的Java Web服务器。

Jetty的会话ID随机生成实现上存在漏洞,远程攻击者可能利用此漏洞获取非授权访问。

Jetty使用java.util.Random生成会话ID。java.util.random实现以下形式的线性同余随机数生成器:

synchronized protected int next(int bits) {
           seed = (seed * 0x5DEECE66DL + 0xBL) & ((1L << 48) - 1);
           return (int)(seed >>> (48 - bits));
     }

Jetty以这种方式生成两个32位数以生成64位的会话,因此最后可以得到编码的64整数。如果将这个整数解码并拆分为两个所构成的32位整数的话,就可以暴力猜测到生成器的内部状态。一旦发现了这个状态,攻击者就可以向前或向后运行生成器,判断之前生成的及尚未生成的会话ID,这可能导致劫持已有的会话,执行原始会话用户可以执行的任意操作。

<*来源:Chris Anley (chrisanley@hushmail.com
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=117069769911073&w=2
*>

建议:
厂商补丁:

Jetty
-----
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://fisheye.codehaus.org/changelog/jetty/?cs=1274

浏览次数:3164
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障