【代码审计】CVE-2025-46836

admin 2026-01-20 01:43:50 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文分析了CVE-2025-46836漏洞,存在于Linuxnet-tools组件的lib/interface.c文件中。漏洞成因是由于if_readlist_proc函数未对输入长度进行校验,直接通过指针操作将大缓冲区数据复制到仅16字节的name数组中,导致缓冲区溢出,建议及时更新补丁。 综合评分: 80 文章分类: 代码审计,漏洞分析,漏洞预警


cover_image

【代码审计】CVE-2025-46836

原创

韭菜 韭菜

隐雾安全

2026年1月18日 09:01 四川

漏洞通告

net-tools 是一组程序,构成了 Linux 操作系统 NET-3 网络发行版的基础组件。

查看漏洞补丁

知道了删除了lib/interface.c下的while

漏洞分析

关于这里能修改的参数只有一个指针*name

逆向追踪调用函数if_readlist_proc

知道了name的长度char name[IFNAMSIZ];IFNAMSIZ的长度是16

回到

函数,重点关注

是否可能超过16

到这里大概知道如果*p 的长度大于16那么就会造成溢出

漏洞点:

*name++ = *p++;

从237行开始逆向关注*p,看看是否进行了什么处理

整体看来并没有对*p做什么处理,两个判断218行和220行

if (isspace(*p))判断*p是否为空

if (*p == ‘:’) {判断*p是否是:

大概知道*name 读取的是 *p 空格之后:之前的数据

接下来关注*p是哪里来的

*p=buf而buf是通过文件读取的fgets(buf, sizeof buf, fh),buf读取的是fh读取的是buf大小的数据

buf[512]buf大小是512很明显超过了16,那么fh文件超过了16那么就存在溢出

JOIN US~

代码审计其实并不神秘,核心就在于对 “数据流向” 的把控。

扫码添加微信,备注【审计】,获取更多审计资料。

往期内容:

课程推荐:


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:隐雾安全 韭菜 韭菜《【代码审计】CVE-2025-46836》

评论:0   参与:  0