lighttpd文件描述符数组远程拒绝服务漏洞

admin 2022-07-23 07:20:29 CNNVD漏洞 来源:ZONE.CI 全球网 0 阅读模式

漏洞信息详情

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  

补丁

    暂无

weinxin
特别声明
本站(ZONE.CI)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
评论:0   参与:  0