[CVE-2022-2639]Linux Kernel openvswitch 模块权限提升漏洞

本文详细介绍了OpenvSwitch内核模块在处理大量网络设备动作时可能存在的越界写入漏洞。该漏洞可能导致本地认证攻击者获取ROOT权限。补丁通过改进流动作大小检查来修复此问题。提供了一个漏洞验证的POC,但使用时需谨慎,因为可能使系统崩溃。
摘要由CSDN通过智能技术生成

一、背景

Open vSwitch内核模块允许用户空间对所选网络设备上的流级包处理进行灵活控制。它可以实现普通以太网交换机、网络设备绑定、VLAN处理、网络访问控制、基于流的网络控制等。

通常openvswitch是默认安装在Linux Kernel内的。

二、漏洞分析

查看openvswitch信息:

modinfo openvswitch

filename:       /lib/modules/5.15.0-40-generic/kernel/net/openvswitch/openvswitch.ko
alias:          net-pf-16-proto-16-family-ovs_ct_limit
alias:          net-pf-16-proto-16-family-ovs_meter
alias:          net-pf-16-proto-16-family-ovs_packet
alias:          net-pf-16-proto-16-family-ovs_flow
alias:          net-pf-16-proto-16-family-ovs_vport
alias:          net-pf-16-proto-16-family-ovs_datapath
license:        GPL
description:    Open vSwitch switching datapath
srcversion:     27DDC0729231E3C74708FBB
depends:        nf_conntrack,nf_nat,nf_conncount,libcrc32c,nf_defrag_ipv6,nsh
retpoline:      Y
intree:         Y
name:           openvswitch
vermagic:       5.15.0-40-generic SMP mod_unload modversions 
sig_id:         PKCS#7
signer:         Build time autogenerated kernel key
sig_key:        7F:E1:D0:08:A1:F1:E2:EF:75:3C:B7:4F:A0:0E:1A:45:8A:3A:22:DC
sig_hashalgo:   sha512

Linux Kernel openvswitch 模块在处理大量actions的情况下可能会存在越界写入漏洞。本地经过身份认证的攻击者可利用此漏洞提升至ROOT权限。

三、修复补丁:

openvswitch: fix OOB access in reserve_sfa_size() · torvalds/linux@cefa91b · GitHub

给定足够多的action,同时复制和为新流的新动作保留内存,如果 next_offset 是大于 MAX_ACTIONS_BUFSIZE,函数 reserve_sfa_size() 会没有按预期返回 -EMSGSIZE,但它分配了 MAX_ACTIONS_BUFSIZE字节将 actions_len 增加 req_size。这可能会导致 OOB写访问权限,尤其是在需要复制进一步操作时。

补丁通过重新安排流动作大小检查来修复它。

四、漏洞验证POC:

https://github.com/avboy1337/CVE-2022-2639-PipeVersion

由于POC需要不断越界读写内存,可能导致系统crash,请谨慎使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值