linux缓冲区漏洞,Linux Libc Realpath存在缓冲区下溢漏洞

最近OSS-SEC邮件组披露,Linux基准Libc函数库中的Realpath函数存在缓冲区下溢漏洞,CVE编号为CVE-2018-1000001。漏洞的产生是由于GNU C库没有正确处理getcwd()系统调用返回的相对路径,并且没有对缓冲区边界进行检查,其他库也很可能受此影响。

该漏洞为高风险漏洞,可直接用于Linux本地提权,目前已经有攻击EXP公开,相关机器应尽快完成相应更新。

漏洞分析

该漏洞涉及到两个方面:

1.kernel的getcwd系统调用

2.glibc的realpath函数

虽然官方认为这不是内核的问题,但是内核还是提供了补丁。

getcwd()函数用于返回当前工作目录的绝对路径,如果该目录不属于当前进程的根目录(例如:该进程使用chroot设置了一个新的文件系统根目录,但是没有将当前目录的根目录替换成新的),从linux 2.6.36开始,getcwd会返回“(unreachable)”。通过改变当前目录到另一个挂载的用户空间,普通用户可以完成上述的行为。所以当处理不可信来源的路径时,应该检查返回的路径是否以”/”或”(“开头,避免返回一个不可达地址,被认为是相对地址。

漏洞发生处:glibc stdlib/canonicalize.c 的__realpath函数:

如果解析的是一个相对路径(不是以’/’开头的路径)时,就会调用__getcwd()

if (name[0] != '/')

{ if (!__getcwd (rpath, path_max))

{

rpath[0] = '0';

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值