GNU Radius远程拒绝服务攻击漏洞 CVE-2004-0131 CNNVD-200403-025

5.0 AV AC AU C I A
发布: 2004-03-03
修订: 2017-10-10

GNU Radius是一款开放源代码远程用户验证和审计服务器。 GNU Radius在处理部分UDP数据包时存在问题,远程攻击者可以利用这个漏洞对服务程序进行拒绝服务攻击。 问题存在于lib/logger.c文件定义的rad_print_request()中: [0] stat_pair = avl_find(req->request, DA_ACCT_STATUS_TYPE); if (stat_pair) { [1] VALUE_PAIR *sid_pair = avl_find(req->request, DA_ACCT_SESSION_ID); [2] DICT_VALUE *dval = value_lookup(stat_pair->avp_lvalue, \"Acct-Status-Type\"); char nbuf[64], *stat; [3] if (dval) stat = dval->name; else { [4] snprintf(nbuf, sizeof nbuf, \"\\%ld\", sid_pair->avp_lvalue); stat = sbuf; ... 接收到包含属性Acct-Status-Type,但没有任何数据的UDP包时会触发此漏洞。rad_print_request() 的[0]行Acct-Status-Type被调用,在[1]行Acct-Session-Id也被调用,而在[2]上本地指针dval指向Acct-Status-Type,由于没有任何值赋给此变量,因此dval会变为NULL,程序会由于引用非法而导致崩溃。

0%
暂无可用Exp或PoC
当前有1条受影响产品信息