瑞星 HookCont.sys <= 24.0.0.5 驱动本地拒绝服务漏洞

漏洞概要

缺陷编号:WooYun-2010-0120

漏洞标题:瑞星 HookCont.sys <= 24.0.0.5 驱动本地拒绝服务漏洞

相关厂商:RiSing

漏洞作者:shineast

提交时间:2010-07-27 15:04

公开时间:2010-08-26 18:00

漏洞类型:拒绝服务

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

Tags标签:

漏洞详情

披露状态:

2010-07-27: 细节已通知厂商并且等待厂商处理中
1970-01-01: 厂商已经确认,细节仅向厂商公开
1970-01-04: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航、无声信息)
1970-02-25: 细节向核心白帽子及相关领域专家公开
1970-03-07: 细节向普通白帽子公开
1970-03-17: 细节向实习白帽子公开
2010-08-26: 细节向公众公开

简要描述:

瑞星 HookCont.sys <= 24.0.0.5 驱动程序派遣例程中,对IoControlCode为0x83003C07的处理中,对UserBuffer检查中,使用ProbeForWrite函数不当造成本地拒绝服务漏洞。

详细说明:

从瑞星的DriverDispatch处理,可以看出其对UserBuffer虽然做了严格的MmUserProbeAddress比较检查,也做了ProbeForWrite探测,但是使用ProbeForWrite函数不当!因为处理过程中相信了用户输入的OutputBufferLength,那么只要用户输入的OutputBufferLength为0,就可以躲过ProbeForWrite检查。最终在 *(_DWORD *)UserBuffer = v7; 这句中发生了内存访问错误,导致拒绝服务。

漏洞证明:

修复方案:

建议瑞星驱动中不要相信用户输入的OutputBufferLength,而使用自己需要写入的长度作为ProbeForWrite的第二个参数(即长度)。本驱动中,应该是sizeof(DWORD).

漏洞回应

厂商回应:

危害等级:低

漏洞Rank:5

确认时间:2010-07-27 15:04

厂商回复:

哈哈,搞定.3Q

最新状态:

暂无

评价

  1. 2010-01-01 00:00 iebug 白帽子 | Rank:0 漏洞数:0)

    支持