0Day CVE-2023-26612:某路由器缓冲区溢出漏洞分析
安帝Andisec
- 关注
0Day CVE-2023-26612:某路由器缓冲区溢出漏洞分析
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
本文为 安帝Andisec 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
安帝科技:OT网络安全破局之思考系列(二)
2023-09-04
OT网络安全术语辨析:弹性vs健壮性
2023-08-31
安帝科技-OT网络安全破局之思考系列(一)
2023-08-21
文章目录