安全研究

安全漏洞
Linux Kernel sctp_process_unk_param()函数远程拒绝服务漏洞

发布日期:2010-04-29
更新日期:2010-04-30

受影响系统:
Linux kernel 2.6.x
描述:
BUGTRAQ  ID: 39794
CVE(CAN) ID: CVE-2010-1173

Linux Kernel是开放源码操作系统Linux所使用的内核。

Linux Kernel的sctp_process_unk_param()函数在处理无效参数时存在拒绝服务漏洞:

if (NULL == *errp)
*errp = sctp_make_op_error_space(asoc, chunk,
      ntohs(chunk->chunk_hdr->length));

if (*errp) {
  sctp_init_cause(*errp, SCTP_ERROR_UNKNOWN_PARAM,
     WORD_ROUND(ntohs(param.p->length)));
  sctp_addto_chunk(*errp,
   WORD_ROUND(ntohs(param.p->length)),
      param.v);

在分配error块时,对所假设的最坏情况要求分配chunk_hdr->length的数据,但在sctp_init_cause中向error块注入了sctp_errhdr_t结构,因此对于所有参数都被破坏的最坏情况中要求的数据为chunk_hdr->length+(sizeof(sctp_errhdr_t)*param_count)字节。

<*来源:Chris Guo
  
  链接:https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=584645
        http://article.gmane.org/gmane.linux.network/159531
        http://secunia.com/advisories/41321/
        https://www.redhat.com/support/errata/RHSA-2010-0504.html
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

http://www.exploit-db.com/download/14594

建议:
厂商补丁:

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

http://article.gmane.org/gmane.linux.network/159531

RedHat
------
RedHat已经为此发布了一个安全公告(RHSA-2010:0504-01)以及相应补丁:
RHSA-2010:0504-01:Important: kernel security and bug fix update
链接:https://www.redhat.com/support/errata/RHSA-2010-0504.html

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