98 Star 56 Fork 227

src-openEuler / kernel

 / 详情

CVE-2021-47099

已完成
CVE和安全问题 拥有者
创建于  
2024-03-05 02:38

一、漏洞信息
漏洞编号:CVE-2021-47099
漏洞归属组件:kernel
漏洞归属的版本:4.19.140,4.19.194,4.19.90,5.10.0,6.1.0,6.1.14,6.1.19,6.1.5,6.1.6,6.1.8,6.4.0
CVSS V2.0分值:
BaseScore:0.0 Low
Vector:CVSS:2.0/
漏洞简述:
In the Linux kernel, the following vulnerability has been resolved:veth: ensure skb entering GRO are not cloned.After commit d3256efd8e8b ( veth: allow enabling NAPI even without XDP ),if GRO is enabled on a veth device and TSO is disabled on the peerdevice, TCP skbs will go through the NAPI callback. If there is no XDPprogram attached, the veth code does not perform any share check, andshared/cloned skbs could enter the GRO engine.Ignat reported a BUG triggered later-on due to the above condition:[ 53.970529][ C1] kernel BUG at net/core/skbuff.c:3574![ 53.981755][ C1] invalid opcode: 0000 [#1] PREEMPT SMP KASAN PTI[ 53.982634][ C1] CPU: 1 PID: 19 Comm: ksoftirqd/1 Not tainted 5.16.0-rc5+ #25[ 53.982634][ C1] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015[ 53.982634][ C1] RIP: 0010:skb_shift+0x13ef/0x23b0[ 53.982634][ C1] Code: ea 03 0f b6 04 02 48 89 fa 83 e2 07 38 d07f 08 84 c0 0f 85 41 0c 00 00 41 80 7f 02 00 4d 8d b5 d0 00 00 00 0f85 74 f5 ff ff <0f> 0b 4d 8d 77 20 be 04 00 00 00 4c 89 44 24 78 4c 89f7 4c 89 8c[ 53.982634][ C1] RSP: 0018:ffff8881008f7008 EFLAGS: 00010246[ 53.982634][ C1] RAX: 0000000000000000 RBX: ffff8881180b4c80 RCX: 0000000000000000[ 53.982634][ C1] RDX: 0000000000000002 RSI: ffff8881180b4d3c RDI: ffff88810bc9cac2[ 53.982634][ C1] RBP: ffff8881008f70b8 R08: ffff8881180b4cf4 R09: ffff8881180b4cf0[ 53.982634][ C1] R10: ffffed1022999e5c R11: 0000000000000002 R12: 0000000000000590[ 53.982634][ C1] R13: ffff88810f940c80 R14: ffff88810f940d50 R15: ffff88810bc9cac0[ 53.982634][ C1] FS: 0000000000000000(0000) GS:ffff888235880000(0000) knlGS:0000000000000000[ 53.982634][ C1] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033[ 53.982634][ C1] CR2: 00007ff5f9b86680 CR3: 0000000108ce8004 CR4: 0000000000170ee0[ 53.982634][ C1] Call Trace:[ 53.982634][ C1] [ 53.982634][ C1] tcp_sacktag_walk+0xaba/0x18e0[ 53.982634][ C1] tcp_sacktag_write_queue+0xe7b/0x3460[ 53.982634][ C1] tcp_ack+0x2666/0x54b0[ 53.982634][ C1] tcp_rcv_established+0x4d9/0x20f0[ 53.982634][ C1] tcp_v4_do_rcv+0x551/0x810[ 53.982634][ C1] tcp_v4_rcv+0x22ed/0x2ed0[ 53.982634][ C1] ip_protocol_deliver_rcu+0x96/0xaf0[ 53.982634][ C1] ip_local_deliver_finish+0x1e0/0x2f0[ 53.982634][ C1] ip_sublist_rcv_finish+0x211/0x440[ 53.982634][ C1] ip_list_rcv_finish.constprop.0+0x424/0x660[ 53.982634][ C1] ip_list_rcv+0x2c8/0x410[ 53.982634][ C1] __netif_receive_skb_list_core+0x65c/0x910[ 53.982634][ C1] netif_receive_skb_list_internal+0x5f9/0xcb0[ 53.982634][ C1] napi_complete_done+0x188/0x6e0[ 53.982634][ C1] gro_cell_poll+0x10c/0x1d0[ 53.982634][ C1] __napi_poll+0xa1/0x530[ 53.982634][ C1] net_rx_action+0x567/0x1270[ 53.982634][ C1] __do_softirq+0x28a/0x9ba[ 53.982634][ C1] run_ksoftirqd+0x32/0x60[ 53.982634][ C1] smpboot_thread_fn+0x559/0x8c0[ 53.982634][ C1] kthread+0x3b9/0x490[ 53.982634][ C1] ret_from_fork+0x22/0x30[ 53.982634][ C1] Address the issue by skipping the GRO stage for shared or cloned skbs.To reduce the chance of OoO, try to unclone the skbs before giving up.v1 -> v2: - use avoid skb_copy and fallback to netif_receive_skb - Eric
漏洞公开时间:2024-03-05 02:15:08
漏洞创建时间:2024-03-05 02:38:32
漏洞详情参考链接:
https://nvd.nist.gov/vuln/detail/CVE-2021-47099

更多参考(点击展开)
参考来源 参考链接 来源链接
416baaa9-dc9f-4396-8d5f-8c081fb06d67 https://git.kernel.org/stable/c/9695b7de5b4760ed22132aca919570c0190cb0ce
416baaa9-dc9f-4396-8d5f-8c081fb06d67 https://git.kernel.org/stable/c/d2269ae48598e05b59ec9ea9e6e44fd33941130d
suse_bugzilla http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2021-47099 https://bugzilla.suse.com/show_bug.cgi?id=1220955
suse_bugzilla https://www.cve.org/CVERecord?id=CVE-2021-47099 https://bugzilla.suse.com/show_bug.cgi?id=1220955
suse_bugzilla https://git.kernel.org/stable/c/9695b7de5b4760ed22132aca919570c0190cb0ce https://bugzilla.suse.com/show_bug.cgi?id=1220955
suse_bugzilla https://git.kernel.org/stable/c/d2269ae48598e05b59ec9ea9e6e44fd33941130d https://bugzilla.suse.com/show_bug.cgi?id=1220955
redhat_bugzilla https://lore.kernel.org/linux-cve-announce/2024030415-CVE-2021-47099-3127@gregkh/T https://bugzilla.redhat.com/show_bug.cgi?id=2267919
ubuntu https://git.kernel.org/linus/9695b7de5b4760ed22132aca919570c0190cb0ce (5.16-rc7) https://ubuntu.com/security/CVE-2021-47099
ubuntu https://git.kernel.org/stable/c/d2269ae48598e05b59ec9ea9e6e44fd33941130d https://ubuntu.com/security/CVE-2021-47099
ubuntu https://git.kernel.org/stable/c/9695b7de5b4760ed22132aca919570c0190cb0ce https://ubuntu.com/security/CVE-2021-47099
ubuntu https://www.cve.org/CVERecord?id=CVE-2021-47099 https://ubuntu.com/security/CVE-2021-47099
ubuntu https://nvd.nist.gov/vuln/detail/CVE-2021-47099 https://ubuntu.com/security/CVE-2021-47099
ubuntu https://launchpad.net/bugs/cve/CVE-2021-47099 https://ubuntu.com/security/CVE-2021-47099
ubuntu https://security-tracker.debian.org/tracker/CVE-2021-47099 https://ubuntu.com/security/CVE-2021-47099
cve_search https://git.kernel.org/stable/c/d2269ae48598e05b59ec9ea9e6e44fd33941130d
cve_search https://git.kernel.org/stable/c/9695b7de5b4760ed22132aca919570c0190cb0ce
ubuntu https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-47099 https://ubuntu.com/security/CVE-2021-47099

漏洞分析指导链接:
https://gitee.com/openeuler/cve-manager/blob/master/cve-vulner-manager/doc/md/manual.md
漏洞数据来源:
openBrain开源漏洞感知系统
漏洞补丁信息:

详情(点击展开)
影响的包 修复版本 修复补丁 问题引入补丁 来源
linux https://git.kernel.org/linus/9695b7de5b4760ed22132aca919570c0190cb0ce https://git.kernel.org/linus/d3256efd8e8b234a6251e4d4580bd2c3c31fdc4c ubuntu

二、漏洞分析结构反馈
影响性分析说明:
In the Linux kernel, the following vulnerability has been resolved:veth: ensure skb entering GRO are not cloned.After commit d3256efd8e8b ( veth: allow enabling NAPI even without XDP ),if GRO is enabled on a veth device and TSO is disabled on the peerdevice, TCP skbs will go through the NAPI callback. If there is no XDPprogram attached, the veth code does not perform any share check, andshared/cloned skbs could enter the GRO engine.Ignat reported a BUG triggered later-on due to the above condition:[ 53.970529][ C1] kernel BUG at net/core/skbuff.c:3574![ 53.981755][ C1] invalid opcode: 0000 [#1] PREEMPT SMP KASAN PTI[ 53.982634][ C1] CPU: 1 PID: 19 Comm: ksoftirqd/1 Not tainted 5.16.0-rc5+ #25[ 53.982634][ C1] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015[ 53.982634][ C1] RIP: 0010:skb_shift+0x13ef/0x23b0[ 53.982634][ C1] Code: ea 03 0f b6 04 02 48 89 fa 83 e2 07 38 d07f 08 84 c0 0f 85 41 0c 00 00 41 80 7f 02 00 4d 8d b5 d0 00 00 00 0f85 74 f5 ff ff <0f> 0b 4d 8d 77 20 be 04 00 00 00 4c 89 44 24 78 4c 89f7 4c 89 8c[ 53.982634][ C1] RSP: 0018:ffff8881008f7008 EFLAGS: 00010246[ 53.982634][ C1] RAX: 0000000000000000 RBX: ffff8881180b4c80 RCX: 0000000000000000[ 53.982634][ C1] RDX: 0000000000000002 RSI: ffff8881180b4d3c RDI: ffff88810bc9cac2[ 53.982634][ C1] RBP: ffff8881008f70b8 R08: ffff8881180b4cf4 R09: ffff8881180b4cf0[ 53.982634][ C1] R10: ffffed1022999e5c R11: 0000000000000002 R12: 0000000000000590[ 53.982634][ C1] R13: ffff88810f940c80 R14: ffff88810f940d50 R15: ffff88810bc9cac0[ 53.982634][ C1] FS: 0000000000000000(0000) GS:ffff888235880000(0000) knlGS:0000000000000000[ 53.982634][ C1] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033[ 53.982634][ C1] CR2: 00007ff5f9b86680 CR3: 0000000108ce8004 CR4: 0000000000170ee0[ 53.982634][ C1] Call Trace:[ 53.982634][ C1] [ 53.982634][ C1] tcp_sacktag_walk+0xaba/0x18e0[ 53.982634][ C1] tcp_sacktag_write_queue+0xe7b/0x3460[ 53.982634][ C1] tcp_ack+0x2666/0x54b0[ 53.982634][ C1] tcp_rcv_established+0x4d9/0x20f0[ 53.982634][ C1] tcp_v4_do_rcv+0x551/0x810[ 53.982634][ C1] tcp_v4_rcv+0x22ed/0x2ed0[ 53.982634][ C1] ip_protocol_deliver_rcu+0x96/0xaf0[ 53.982634][ C1] ip_local_deliver_finish+0x1e0/0x2f0[ 53.982634][ C1] ip_sublist_rcv_finish+0x211/0x440[ 53.982634][ C1] ip_list_rcv_finish.constprop.0+0x424/0x660[ 53.982634][ C1] ip_list_rcv+0x2c8/0x410[ 53.982634][ C1] __netif_receive_skb_list_core+0x65c/0x910[ 53.982634][ C1] netif_receive_skb_list_internal+0x5f9/0xcb0[ 53.982634][ C1] napi_complete_done+0x188/0x6e0[ 53.982634][ C1] gro_cell_poll+0x10c/0x1d0[ 53.982634][ C1] __napi_poll+0xa1/0x530[ 53.982634][ C1] net_rx_action+0x567/0x1270[ 53.982634][ C1] __do_softirq+0x28a/0x9ba[ 53.982634][ C1] run_ksoftirqd+0x32/0x60[ 53.982634][ C1] smpboot_thread_fn+0x559/0x8c0[ 53.982634][ C1] kthread+0x3b9/0x490[ 53.982634][ C1] ret_from_fork+0x22/0x30[ 53.982634][ C1] Address the issue by skipping the GRO stage for shared or cloned skbs.To reduce the chance of OoO, try to unclone the skbs before giving up.v1 -> v2: - use avoid skb_copy and fallback to netif_receive_skb - Eric
openEuler评分:
5.5
Vector:CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
受影响版本排查(受影响/不受影响):
1.openEuler-20.03-LTS-SP1(4.19.90):不受影响
2.openEuler-20.03-LTS-SP4(4.19.90):不受影响
3.openEuler-22.03-LTS(5.10.0):不受影响
4.openEuler-22.03-LTS-SP1(5.10.0):不受影响
5.openEuler-22.03-LTS-SP2(5.10.0):不受影响
6.openEuler-22.03-LTS-SP3(5.10.0):不受影响
7.master(6.1.0):不受影响
8.openEuler-22.03-LTS-Next(5.10.0):不受影响
9.openEuler-24.03-LTS:不受影响
10.openEuler-24.03-LTS-Next:不受影响

修复是否涉及abi变化(是/否):
1.openEuler-20.03-LTS-SP1(4.19.90):否
2.openEuler-20.03-LTS-SP4(4.19.90):否
3.openEuler-22.03-LTS(5.10.0):否
4.openEuler-22.03-LTS-SP1(5.10.0):否
5.openEuler-22.03-LTS-SP2(5.10.0):否
6.openEuler-22.03-LTS-SP3(5.10.0):否
7.master(6.1.0):否
8.openEuler-22.03-LTS-Next(5.10.0):否
9.openEuler-24.03-LTS:否
10.openEuler-24.03-LTS-Next:否

评论 (5)

openeuler-ci-bot 创建了CVE和安全问题
openeuler-ci-bot 添加了
 
CVE/UNFIXED
标签
展开全部操作日志

Hi openeuler-ci-bot, welcome to the openEuler Community.
I'm the Bot here serving you. You can find the instructions on how to interact with me at Here.
If you have any questions, please contact the SIG: Kernel, and any of the maintainers.

@YangYingliang ,@成坚 (CHENG Jian) ,@jiaoff ,@AlexGuo ,@hanjun-guo ,@woqidaideshi ,@Jackie Liu ,@Zhang Yi ,@colyli ,@ThunderTown ,@htforge ,@Chiqijun ,@冷嘲啊 ,@zhujianwei001 ,@kylin-mayukun ,@wangxiongfeng ,@Kefeng ,@SuperSix173 ,@WangShaoBo ,@Zheng Zucheng
issue处理注意事项:
1. 当前issue受影响的分支提交pr时, 须在pr描述中填写当前issue编号进行关联, 否则无法关闭当前issue;
2. 模板内容需要填写完整, 无论是受影响或者不受影响都需要填写完整内容,未引入的分支不需要填写, 否则无法关闭当前issue;
3. 以下为模板中需要填写完整的内容, 请复制到评论区回复, 注: 内容的标题名称(影响性分析说明, openEuler评分, 受影响版本排查(受影响/不受影响), 修复是否涉及abi变化(是/否))不能省略,省略后cve-manager将无法正常解析填写内容.


影响性分析说明:

openEuler评分: (评分和向量)

受影响版本排查(受影响/不受影响):
1.master(6.1.0):
2.openEuler-20.03-LTS-SP1(4.19.90):
3.openEuler-20.03-LTS-SP4(4.19.90):
4.openEuler-22.03-LTS(5.10.0):
5.openEuler-22.03-LTS-Next(5.10.0):
6.openEuler-22.03-LTS-SP1(5.10.0):
7.openEuler-22.03-LTS-SP2(5.10.0):
8.openEuler-22.03-LTS-SP3(5.10.0):

修复是否涉及abi变化(是/否):
1.master(6.1.0):
2.openEuler-20.03-LTS-SP1(4.19.90):
3.openEuler-20.03-LTS-SP4(4.19.90):
4.openEuler-22.03-LTS(5.10.0):
5.openEuler-22.03-LTS-Next(5.10.0):
6.openEuler-22.03-LTS-SP1(5.10.0):
7.openEuler-22.03-LTS-SP2(5.10.0):
8.openEuler-22.03-LTS-SP3(5.10.0):


issue处理具体操作请参考:
https://gitee.com/openeuler/cve-manager/blob/master/cve-vulner-manager/doc/md/manual.md
pr关联issue具体操作请参考:
https://gitee.com/help/articles/4142

openeuler-ci-bot 添加了
 
sig/Kernel
标签
参考网址 关联pr 状态 补丁链接
https://nvd.nist.gov/vuln/detail/CVE-2021-47099 None None https://git.kernel.org/stable/c/d2269ae48598e05b59ec9ea9e6e44fd33941130d
https://git.kernel.org/stable/c/9695b7de5b4760ed22132aca919570c0190cb0ce
https://ubuntu.com/security/CVE-2021-47099 None None https://discourse.ubuntu.com/c/ubuntu-pro
https://www.opencve.io/cve/CVE-2021-47099 None None https://git.kernel.org/stable/c/d2269ae48598e05b59ec9ea9e6e44fd33941130d
https://git.kernel.org/stable/c/9695b7de5b4760ed22132aca919570c0190cb0ce
https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2021-47099
https://security-tracker.debian.org/tracker/CVE-2021-47099

说明:补丁链接仅供初步排查参考,实际可用性请人工再次确认,补丁下载验证可使用CVE补丁工具
若补丁不准确,烦请在此issue下评论 '/report-patch 参考网址 补丁链接1,补丁链接2' 反馈正确信息,便于我们不断优化工具,不胜感激。
如 /report-patch https://security-tracker.debian.org/tracker/CVE-2021-3997 https://github.com/systemd/systemd/commit/5b1cf7a9be37e20133c0208005274ce4a5b5c6a1

openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述

CVE-2021-47099

影响性分析说明:
In the Linux kernel, the following vulnerability has been resolved:

veth: ensure skb entering GRO are not cloned.

After commit d3256efd8e8b ("veth: allow enabling NAPI even without XDP"),
if GRO is enabled on a veth device and TSO is disabled on the peer
device, TCP skbs will go through the NAPI callback. If there is no XDP
program attached, the veth code does not perform any share check, and
shared/cloned skbs could enter the GRO engine.

Ignat reported a BUG triggered later-on due to the above condition:

[ 53.970529][ C1] kernel BUG at net/core/skbuff.c:3574!
[ 53.981755][ C1] invalid opcode: 0000 [#1] PREEMPT SMP KASAN PTI
[ 53.982634][ C1] CPU: 1 PID: 19 Comm: ksoftirqd/1 Not tainted 5.16.0-rc5+ #25
[ 53.982634][ C1] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015
[ 53.982634][ C1] RIP: 0010:skb_shift+0x13ef/0x23b0
[ 53.982634][ C1] Code: ea 03 0f b6 04 02 48 89 fa 83 e2 07 38 d0
7f 08 84 c0 0f 85 41 0c 00 00 41 80 7f 02 00 4d 8d b5 d0 00 00 00 0f
85 74 f5 ff ff <0f> 0b 4d 8d 77 20 be 04 00 00 00 4c 89 44 24 78 4c 89
f7 4c 89 8c
[ 53.982634][ C1] RSP: 0018:ffff8881008f7008 EFLAGS: 00010246
[ 53.982634][ C1] RAX: 0000000000000000 RBX: ffff8881180b4c80 RCX: 0000000000000000
[ 53.982634][ C1] RDX: 0000000000000002 RSI: ffff8881180b4d3c RDI: ffff88810bc9cac2
[ 53.982634][ C1] RBP: ffff8881008f70b8 R08: ffff8881180b4cf4 R09: ffff8881180b4cf0
[ 53.982634][ C1] R10: ffffed1022999e5c R11: 0000000000000002 R12: 0000000000000590
[ 53.982634][ C1] R13: ffff88810f940c80 R14: ffff88810f940d50 R15: ffff88810bc9cac0
[ 53.982634][ C1] FS: 0000000000000000(0000) GS:ffff888235880000(0000) knlGS:0000000000000000
[ 53.982634][ C1] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 53.982634][ C1] CR2: 00007ff5f9b86680 CR3: 0000000108ce8004 CR4: 0000000000170ee0
[ 53.982634][ C1] Call Trace:
[ 53.982634][ C1]
[ 53.982634][ C1] tcp_sacktag_walk+0xaba/0x18e0
[ 53.982634][ C1] tcp_sacktag_write_queue+0xe7b/0x3460
[ 53.982634][ C1] tcp_ack+0x2666/0x54b0
[ 53.982634][ C1] tcp_rcv_established+0x4d9/0x20f0
[ 53.982634][ C1] tcp_v4_do_rcv+0x551/0x810
[ 53.982634][ C1] tcp_v4_rcv+0x22ed/0x2ed0
[ 53.982634][ C1] ip_protocol_deliver_rcu+0x96/0xaf0
[ 53.982634][ C1] ip_local_deliver_finish+0x1e0/0x2f0
[ 53.982634][ C1] ip_sublist_rcv_finish+0x211/0x440
[ 53.982634][ C1] ip_list_rcv_finish.constprop.0+0x424/0x660
[ 53.982634][ C1] ip_list_rcv+0x2c8/0x410
[ 53.982634][ C1] __netif_receive_skb_list_core+0x65c/0x910
[ 53.982634][ C1] netif_receive_skb_list_internal+0x5f9/0xcb0
[ 53.982634][ C1] napi_complete_done+0x188/0x6e0
[ 53.982634][ C1] gro_cell_poll+0x10c/0x1d0
[ 53.982634][ C1] __napi_poll+0xa1/0x530
[ 53.982634][ C1] net_rx_action+0x567/0x1270
[ 53.982634][ C1] __do_softirq+0x28a/0x9ba
[ 53.982634][ C1] run_ksoftirqd+0x32/0x60
[ 53.982634][ C1] smpboot_thread_fn+0x559/0x8c0
[ 53.982634][ C1] kthread+0x3b9/0x490
[ 53.982634][ C1] ret_from_fork+0x22/0x30
[ 53.982634][ C1]

Address the issue by skipping the GRO stage for shared or cloned skbs.
To reduce the chance of OoO, try to unclone the skbs before giving up.

v1 -> v2:

  • use avoid skb_copy and fallback to netif_receive_skb - Eric

openEuler评分:(评分和向量)
6.0
CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:H

受影响版本排查(受影响/不受影响):
1.openEuler-20.03-LTS-SP1(4.19.90):不受影响
2.openEuler-20.03-LTS-SP4:不受影响
3.openEuler-22.03-LTS:不受影响
4.openEuler-22.03-LTS-SP1:不受影响
5.openEuler-22.03-LTS-SP2:不受影响
6.openEuler-22.03-LTS-SP3:不受影响
7.master(6.1.0):不受影响
8.openEuler-22.03-LTS-Next:不受影响
9.openEuler-24.03-LTS:不受影响

修复是否涉及abi变化(是/否):
1.openEuler-20.03-LTS-SP1(4.19.90):否
2.openEuler-20.03-LTS-SP4:否
3.openEuler-22.03-LTS:否
4.openEuler-22.03-LTS-SP1:否
5.openEuler-22.03-LTS-SP2:否
6.openEuler-22.03-LTS-SP3:否
7.master(6.1.0):否
8.openEuler-22.03-LTS-Next:否
9.openEuler-24.03-LTS:否

openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 负责人设置为sanglipeng
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述
openeuler-ci-bot 修改了描述

CVE-2021-47099

影响性分析说明:
In the Linux kernel, the following vulnerability has been resolved:

veth: ensure skb entering GRO are not cloned.

After commit d3256efd8e8b ("veth: allow enabling NAPI even without XDP"),
if GRO is enabled on a veth device and TSO is disabled on the peer
device, TCP skbs will go through the NAPI callback. If there is no XDP
program attached, the veth code does not perform any share check, and
shared/cloned skbs could enter the GRO engine.

Ignat reported a BUG triggered later-on due to the above condition:

[ 53.970529][ C1] kernel BUG at net/core/skbuff.c:3574!
[ 53.981755][ C1] invalid opcode: 0000 [#1] PREEMPT SMP KASAN PTI
[ 53.982634][ C1] CPU: 1 PID: 19 Comm: ksoftirqd/1 Not tainted 5.16.0-rc5+ #25
[ 53.982634][ C1] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015
[ 53.982634][ C1] RIP: 0010:skb_shift+0x13ef/0x23b0
[ 53.982634][ C1] Code: ea 03 0f b6 04 02 48 89 fa 83 e2 07 38 d0
7f 08 84 c0 0f 85 41 0c 00 00 41 80 7f 02 00 4d 8d b5 d0 00 00 00 0f
85 74 f5 ff ff <0f> 0b 4d 8d 77 20 be 04 00 00 00 4c 89 44 24 78 4c 89
f7 4c 89 8c
[ 53.982634][ C1] RSP: 0018:ffff8881008f7008 EFLAGS: 00010246
[ 53.982634][ C1] RAX: 0000000000000000 RBX: ffff8881180b4c80 RCX: 0000000000000000
[ 53.982634][ C1] RDX: 0000000000000002 RSI: ffff8881180b4d3c RDI: ffff88810bc9cac2
[ 53.982634][ C1] RBP: ffff8881008f70b8 R08: ffff8881180b4cf4 R09: ffff8881180b4cf0
[ 53.982634][ C1] R10: ffffed1022999e5c R11: 0000000000000002 R12: 0000000000000590
[ 53.982634][ C1] R13: ffff88810f940c80 R14: ffff88810f940d50 R15: ffff88810bc9cac0
[ 53.982634][ C1] FS: 0000000000000000(0000) GS:ffff888235880000(0000) knlGS:0000000000000000
[ 53.982634][ C1] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 53.982634][ C1] CR2: 00007ff5f9b86680 CR3: 0000000108ce8004 CR4: 0000000000170ee0
[ 53.982634][ C1] Call Trace:
[ 53.982634][ C1]
[ 53.982634][ C1] tcp_sacktag_walk+0xaba/0x18e0
[ 53.982634][ C1] tcp_sacktag_write_queue+0xe7b/0x3460
[ 53.982634][ C1] tcp_ack+0x2666/0x54b0
[ 53.982634][ C1] tcp_rcv_established+0x4d9/0x20f0
[ 53.982634][ C1] tcp_v4_do_rcv+0x551/0x810
[ 53.982634][ C1] tcp_v4_rcv+0x22ed/0x2ed0
[ 53.982634][ C1] ip_protocol_deliver_rcu+0x96/0xaf0
[ 53.982634][ C1] ip_local_deliver_finish+0x1e0/0x2f0
[ 53.982634][ C1] ip_sublist_rcv_finish+0x211/0x440
[ 53.982634][ C1] ip_list_rcv_finish.constprop.0+0x424/0x660
[ 53.982634][ C1] ip_list_rcv+0x2c8/0x410
[ 53.982634][ C1] __netif_receive_skb_list_core+0x65c/0x910
[ 53.982634][ C1] netif_receive_skb_list_internal+0x5f9/0xcb0
[ 53.982634][ C1] napi_complete_done+0x188/0x6e0
[ 53.982634][ C1] gro_cell_poll+0x10c/0x1d0
[ 53.982634][ C1] __napi_poll+0xa1/0x530
[ 53.982634][ C1] net_rx_action+0x567/0x1270
[ 53.982634][ C1] __do_softirq+0x28a/0x9ba
[ 53.982634][ C1] run_ksoftirqd+0x32/0x60
[ 53.982634][ C1] smpboot_thread_fn+0x559/0x8c0
[ 53.982634][ C1] kthread+0x3b9/0x490
[ 53.982634][ C1] ret_from_fork+0x22/0x30
[ 53.982634][ C1]

Address the issue by skipping the GRO stage for shared or cloned skbs.
To reduce the chance of OoO, try to unclone the skbs before giving up.

v1 -> v2:

  • use avoid skb_copy and fallback to netif_receive_skb - Eric

openEuler评分:(评分和向量)
5.5
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

受影响版本排查(受影响/不受影响):
1.openEuler-20.03-LTS-SP1:不受影响
2.openEuler-20.03-LTS-SP4:不受影响
3.openEuler-22.03-LTS:不受影响
4.openEuler-22.03-LTS-SP1:不受影响
5.openEuler-22.03-LTS-SP2:不受影响
6.openEuler-22.03-LTS-SP3:不受影响
7.master(6.1.0):不受影响
8.openEuler-22.03-LTS-Next:不受影响
9.openEuler-24.03-LTS:不受影响
10.openEuler-24.03-LTS-Next:不受影响

修复是否涉及abi变化(是/否):
1.openEuler-20.03-LTS-SP1(4.19.90):否
2.openEuler-20.03-LTS-SP4:否
3.openEuler-22.03-LTS:否
4.openEuler-22.03-LTS-SP1:否
5.openEuler-22.03-LTS-SP2:否
6.openEuler-22.03-LTS-SP3:否
7.master(6.1.0):否
8.openEuler-22.03-LTS-Next:否
9.openEuler-24.03-LTS:否
10.openEuler-24.03-LTS-Next:否

===========================================================

openeuler-ci-bot 修改了描述
郭梦琪 任务状态待办的 修改为已完成
openeuler-ci-bot 移除了
 
CVE/UNFIXED
标签
openeuler-ci-bot 移除了
 
sig/Kernel
标签
openeuler-ci-bot 添加了
 
CVE/UNAFFECTED
标签
openeuler-ci-bot 添加了
 
sig/Kernel
标签

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(2)
5329419 openeuler ci bot 1632792936
1
https://gitee.com/src-openeuler/kernel.git
git@gitee.com:src-openeuler/kernel.git
src-openeuler
kernel
kernel

搜索帮助