0Day CVE-2023-26612:某路由器缓冲区溢出漏洞分析

0Day CVE-2023-26612:某路由器缓冲区溢出漏洞分析

时间:2023-08-09 作者:安帝科技-CSX安全实验室

Part1 漏洞状态

Part2 漏洞描述

Part3 漏洞验证

1. 验证环境
路由器模拟器:192.168.0.1
2. 验证过程
运行PoC,浏览器出现崩溃现象

Part4 漏洞分析

C语言存在许多危险函数,如strcpy、strcat等,随后通过IDA发现web程序使用了高危函数函数strncpy。

点击函数名,查看交叉引用,发现sub_469F78函数调用了strncpy函数。

sub_469F78函数320行调用了strncpy函数。查看309至320行代码,可以得知v60为xml中的HostName元素的值,v11为v60字符串的大小,v62为申请的330大小的堆空间。320行代码调用strncpy函数时,并未检查v11大小,而直接使用v11+1作为目标缓冲区的大小,此时如果可以控制v45字符串则将导致缓冲区溢出。

点击函数名,按x查看引用,发现sub_469F78函数由sub_46B6E8函数调用。

sub_46B6E8函数检查了SetParentsControlInfo和UsersInfo元素,并且由00588E0C地址引用。

对表的首地址00588D80,按下x,可以得知sub_42383C函数引用该表。

追踪sub_42383C的引用,得到sub_423F90函数。

观察sub_423F90函数的第50行,发现/HNAP1路径的与处理程序sub_42383C进行关联。

sub_42383C函数中使用for循环依次比较off_588D80数值

查看地址off_588D80,可以确定为功能名和对应函数的数组。

Part5 修复缓解建议

厂商暂未发布修复措施解决此安全问题,建议使用此设备的用户随时关注厂商主页或参考网址以获取解决办法:
https://www.dlink.com/en/security-bulletin
————————————————
获取更多情报
联系我们,获取更多漏洞情报详情及处置建议,让企业远离漏洞威胁。
电话:18511745601
邮箱:shiliangang@andisec.com