lighttpd mod_auth模块base64 拒绝服务漏洞

2011-12-01T00:00:00
ID SSV:24275
Type seebug
Reporter Root
Modified 2011-12-01T00:00:00

Description

CVE-2011-4362

Lighttpd是一款轻型的开放源码Web Server软件包。

lighttpd在认证数据的解码实现上存在漏洞,攻击者可能利用此漏洞使应用程序崩溃造成拒绝服务。

http_auth.c中的代码在base64解码用户输入的认证数据时使用"const char *in"类型,并将每个字符转换为"int ch"作为映射表的索引,大于0x80的字符就会导致负索引,可能造成非法内存访问。

lighttpd <=1.4.29 厂商补丁:

LightTPD

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

http://www.lighttpd.net/

                                        
                                            
                                                ---
static const short base64_reverse_table[256] = ...;
static unsigned char * base64_decode(buffer *out, const char *in) {
    ...
    int ch, ...;
    size_t i;
    ...
    
        ch = in[i];
        ...
        ch = base64_reverse_table[ch];
    ...
}
---