当前位置: 主页 > 外烟分类 > linux内核学习锁的机制教程(如何做好linux内核安全处理)

linux内核学习锁的机制教程(如何做好linux内核安全处理)

发布日期:2021-12-25 21:56 作者:shunf外烟
外烟资讯

如何分析Linux内核XFRM的权限提升漏洞,相信很多没有经验的人都不知所措。因此,本文总结了这个问题的原因和解决方法,希望大家通过这篇文章能够解决这个问题。

360CERT的实际验证证明该漏洞确实存在,但poc作者认为存在UAF漏洞,可以撤销许可。但是我们认为没有UAF,只是利用链表未初始化导致的崩溃(空指针引用),使用的内存已经初始化,实际上不能提前布局,也不能进一步利用来达到提升权限的目的。

Netlink是一种特殊的套接字,是内核和用户之间双向数据传输的一种方式。用户模式的应用可以通过使用标准的套接字API来使用Netlink提供的强大功能,而内核模式的应用则需要使用特殊的内核API来使用Netlink。

XFRM是Linux 2.6内核为安全处理引入的可扩展功能框架,用于在路由路径期间修改数据包。

出现此漏洞的原因是,如果在调用xfrm_dump_policy_done函数之前没有调用xfrm_dump_policy _ done函数,链表将不会被初始化,从而导致空指针引用和崩溃。正式修订的补丁添加了xfrm_dump_policy_start函数,以确保在调用done之前进行初始化。

该漏洞已作为1137 b5e(“IpSec :修复异常xfrm策略转储崩溃补丁”)的一部分得到解决,该补丁已在4.14-rc7版本中修复。

Xfrm_dump_policy()将检查回调中的双向链表是否初始化,如果没有,则初始化它(空链)。

当使用xfrm_dump_policy_done()时,默认情况下,上述链表已经初始化,不再检查,直接读写。如前所述,多次发送会导致:

如果这个内存可以预先布局,任何地址都可以写入(通过双向链表del操作)。但是,无论是否触发初始化链表的操作,该内存将在以下时间之前被memset(0):

所以这只是使用未初始化链表导致的崩溃(空指针引用),使用的内存已经初始化,实际上无法提前布局,也无法进一步利用来达到提升权限的目的。

1.相关的Linux发行版已经提供了安全更新。请以百胜或apt-get的形式更新。

看完以上内容,你掌握了如何分析Linux内核XFRM的权限提升漏洞了吗?如果您想学习更多技能或了解更多相关内容,请关注行业资讯频道,感谢您的阅读!

网友转载外烟请保留链接:本文链接linux内核学习锁的机制教程(如何做好linux内核安全处理),http://fiows.com/lunwenfenxiang/49632.html谢谢合作!



<<apache apiaix 开发语言(ache http server是干啥的)   转出本月未交增值税是啥意思(增值税结转是转出未交吗)>>

相关阅读:

iphone 11 pro max与iphone 12pro(2 max1) CES 2022-在Covid Surge、AMD和一加退学,加入微软、谷歌和英特尔。 iPhone 14谣言 – 发布日期,价格,SIM卡等(iphone14最新官方消息) 2022年最佳小手机