漏洞信息详情
lighttpd文件描述符数组远程拒绝服务漏洞
- CNNVD编号:CNNVD-200802-469
- 危害等级: 中危
- CVE编号: CVE-2008-0983
- 漏洞类型: 资源管理错误
- 发布时间: 2008-02-26
- 威胁类型: 远程
- 更新时间: 2008-09-11
- 厂 商: lighttpd
- 漏洞来源: fdeletang
漏洞简介
lighttpd是德国软件开发者Jan Kneschke所研发的一款开源的Web服务器,它的主要特点是仅需少量的内存及CPU资源即可达到同类网页服务器的性能。
Lighttpd在分配全局文件描述符数组时存在计算错误,远程攻击者可能利用此漏洞导致服务不可用。
创建文件描述符数组的方式如下:
fdevent.c:
15 fdevents *fdevent_init(size_t maxfds, fdevent_handler_t type) {
19 ev->fdarray = calloc(maxfds, sizeof(*ev->fdarray));
server.c:
1076 if (NULL == (srv->ev = fdevent_init(srv->max_fds + 1, srv->event_handler))) {
在同一文件中的之前部分:
679 if (0 != getrlimit(RLIMIT_NOFILE, &rlim)) {
680 log_error_write(srv, __FILE__, __LINE__,
681 \"ss\", \"couldn\'\'t get \'\'max filedescriptors\'\'\",
682 strerror(errno));
683 return -1;
684 }
685
686 if (use_rlimit && srv->srvconf.max_fds) {
687 /* set rlimits */
688
689 rlim.rlim_cur = srv->srvconf.max_fds;
690 rlim.rlim_max = srv->srvconf.max_fds;
691
692 if (0 != setrlimit(RLIMIT_NOFILE, &rlim)) {
693 log_error_write(srv, __FILE__, __LINE__,
694 \"ss\", \"couldn\'\'t set \'\'max filedescriptors\'\'\",
695 strerror(errno));
696 return -1;
697 }
698 }
700 /* #372: solaris need some fds extra for devpoll * 701 if (rlim.rlim_cur > 10) rlim.rlim_cur -= 10;
827 srv->max_fds = rlim.rlim_cur;
进程获取当前所配置的rlimit并保存到rlim中。如果配置设置了max_fds,就会覆盖当前任务所配置的。然后,max_fds以10递减,使用max_fds大小分配文件描述符数组。最终,系统可能给出多于max_fds个文件描述符,出现分段错误,导致崩溃。
漏洞公告
目前厂商已经发布了升级补丁以修复这个安全问题,补丁下载链接:
http://trac.lighttpd.net/trac/attachment/ticket/1562/Fix-372-and-1562.patch
参考网址
来源: BID
名称: 27943
链接:http://www.securityfocus.com/bid/27943
来源: trac.lighttpd.net
链接:http://trac.lighttpd.net/trac/ticket/1562
来源: SECUNIA
名称: 29066
链接:http://secunia.com/advisories/29066
来源: VUPEN
名称: ADV-2008-0659
链接:http://www.frsirt.com/english/advisories/2008/0659/references
来源: DEBIAN
名称: DSA-1609
链接:http://www.debian.org/security/2008/dsa-1609
来源: SECUNIA
名称: 31104
链接:http://secunia.com/advisories/31104
来源: FEDORA
名称: FEDORA-2008-2278
链接:https://www.redhat.com/archives/fedora-package-announce/2008-March/msg00180.HTML
来源: FEDORA
名称: FEDORA-2008-2262
链接:https://www.redhat.com/archives/fedora-package-announce/2008-March/msg00162.HTML
来源: issues.rpath.com
链接:https://issues.rpath.com/browse/RPL-2284
来源: BUGTRAQ
名称: 20080228 rPSA-2008-0084-1 lighttpd
链接:http://www.securityfocus.com/archive/1/archive/1/488926/100/0/threaded
来源: wiki.rpath.com
链接:http://wiki.rpath.com/Advisories:rPSA-2008-0084
来源: GENTOO
名称: GLSA-200803-10
链接:http://security.gentoo.org/glsa/glsa-200803-10.xml
来源: SECUNIA
名称: 29622
链接:http://secunia.com/advisories/29622
来源: SECUNIA
名称: 29268
链接:http://secunia.com/advisories/29268
来源: SECUNIA
名称: 29209
链接:http://secunia.com/advisories/29209
来源: SECUNIA
名称: 29166
链接:http://secunia.com/advisories/29166
来源: SUSE
名称: SUSE-SR:2008:008
链接:http://lists.opensuse.org/opensuse-security-announce/2008-04/msg00005.HTML
受影响实体
- Lighttpd Lighttpd:1.4.9
- Lighttpd Lighttpd:1.4.8
- Lighttpd Lighttpd:1.4.7
- Lighttpd Lighttpd:1.4.18
- Lighttpd Lighttpd:1.4.17
补丁
暂无
评论