最新公告
  • 欢迎您光临悠哉网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • Linux内核af_packet内存破坏漏洞(CVE-2020-14386)

    Linux内核af_packet内存破坏漏洞(CVE-2020-14386)

    1 Linux Kernel介绍

    Linux Kernel是由 Linus Torvalds最初开发的开源的操作系统内核。实现了包括CPU、进程、内存、文件系统等核心模块,被广泛移植到Alpha、arc、arm、ia64、mips、powerpc、sparc、x86-64等许多体系结构上。目前多用于各种服务器和物联网终端等,也可在桌面终端使用Linux。

    2 漏洞分析

    该漏洞触发时需要本地低权限用户执行其具有执行权限的可执行文件,同时系统启用CAP_NET_RAW功能。CAP_NET_RAW是一种允许使用原始套接字的设置。

    漏洞位于net/packet/af_packet.c文件,该文件参与Linux的TCP/IP协议套件实现中的原始数据包套接字。

    Linux内核af_packet内存破坏漏洞(CVE-2020-14386)

    unsigned short类型变量macoff(对应数据链路层的偏移)和netoff(对应网络层的偏移)在收到回环网卡的原始套接字数据包时,按照以上方式赋值。其中类型为数据报套接字(用于UDP)时两者的值都为数据包头部长度+16,否则将netoff赋值为数据包头部长度+16和maclen中较大的一个,在po->has_vnet_hdr存在(即存在虚拟网络,如NAT等)时加上其大小,再将macoff赋值为netoff减去mac头部的值(即减去数据链路层头部)。这里计算netlen时,可能出现传入的长度异常而导致上溢,此后计算macoff时,将会计算出不正常的结果。

    Linux内核af_packet内存破坏漏洞(CVE-2020-14386)

    当执行virtio_net_hdr_from_skb函数时,该函数根据参数中的数值申请缓冲区,这里用到了macoff这一数值。从而分配异常长度的缓冲区,可能造成越界写从而出现容器逃逸,权限提升等。

    Linux内核af_packet内存破坏漏洞(CVE-2020-14386)

    分析补丁可以发现,补丁将netoff变量的类型改为了unsigned int,并且判断了该值是否大于unsigned_short的最大值,如过大则丢弃内存中的数据包,从而不会导致内存破坏。

    3 影响范围

    Linux kernel 4.6-5.9rc4

    4 解决方案

    4.1 检测方案

    输入以下命令查看本机的内核版本

    cat /proc/version

    如显示的Linux version大于4.6且小于5.9,则漏洞可能存在。

    4.2 修复方案

    升级内核版本,安全版本的链接如下:

    https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=acf69c946233259ab4d64f8869d4037a198c7f06

    或使用命令升级:

    sudo apt-get install linux-generic-lts-xenial linux-image-generic-lts-xenial (ubuntu,debian等系统使用)

    yum -y update kernel (CentOS,RedHat等系统使用)

    4.3 临时修复方案

    通过禁用CAP_NET_RAW可以临时缓解该漏洞,方法如下:

    setcap cap_net_raw-ep /bin/ping

    5 时间轴

    2020/9/3 Oh Cohen发布关于该漏洞的说明

    2020/9/23 深信服千里目安全实验室发布漏洞分析文章

    6 参考链接

    1. https://github.com/torvalds/linux/commit/8913336a7e8d56e984109a3137d6c0e3362596a4

    2. https://www.openwall.com/lists/oss-security/2020/09/03/3

    3. https://seclists.org/oss-sec/2020/q3/att-146/0001-net-packet-fix-overflow-in-tpacket_rcv.patch

    1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
    2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
    3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
    4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
    5. 如有链接无法下载、失效或广告,请联系管理员处理!
    6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
    7. 如遇到加密压缩包,默认解压密码为"www.yoozai.net",如遇到无法解压的请联系管理员!
    悠哉网 » Linux内核af_packet内存破坏漏洞(CVE-2020-14386)

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    悠哉网 WWW.YOOZAI.NET
    悠哉网,用户消费首选的网站,喜欢你就悠哉一下。

    发表评论

    • 699会员总数(位)
    • 5250资源总数(个)
    • 92本周发布(个)
    • 12 今日发布(个)
    • 212稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情