跳转到帖子

SUSE: CVE-2021-47563: SUSE Linux Security Advisory

recommended_posts

发布于
  • Members

SUSE: CVE-2021-47563: SUSE Linux Security Advisory

Severity
4
CVSS
(AV:L/AC:M/Au:N/C:P/I:P/A:P)
Published
05/24/2024
Created
08/16/2024
Added
08/09/2024
Modified
08/09/2024

Description

In the Linux kernel, the following vulnerability has been resolved: ice: avoid bpf_prog refcount underflow Ice driver has the routines for managing XDP resources that are shared between ndo_bpf op and VSI rebuild flow. The latter takes place for example when user changes queue count on an interface via ethtool's set_channels(). There is an issue around the bpf_prog refcounting when VSI is being rebuilt - since ice_prepare_xdp_rings() is called with vsi->xdp_prog as an argument that is used later on by ice_vsi_assign_bpf_prog(), same bpf_prog pointers are swapped with each other. Then it is also interpreted as an 'old_prog' which in turn causes us to call bpf_prog_put on it that will decrement its refcount. Below splat can be interpreted in a way that due to zero refcount of a bpf_prog it is wiped out from the system while kernel still tries to refer to it: [481.069429] BUG: unable to handle page fault for address: ffffc9000640f038 [481.077390] #PF: supervisor read access in kernel mode [481.083335] #PF: error_code(0x0000) - not-present page [481.089276] PGD 100000067 P4D 100000067 PUD 1001cb067 PMD 106d2b067 PTE 0 [481.097141] Oops: 0000 [#1] PREEMPT SMP PTI [481.101980] CPU: 12 PID: 3339 Comm: sudo Tainted: G OE 5.15.0-rc5+ #1 [481.110840] Hardware name: Intel Corp. GRANTLEY/GRANTLEY, BIOS GRRFCRB1.86B.0276.D07.1605190235 05/19/2016 [481.122021] RIP: 0010:dev_xdp_prog_id+0x25/0x40 [481.127265] Code: 80 00 00 00 00 0f 1f 44 00 00 89 f6 48 c1 e6 04 48 01 fe 48 8b 86 98 08 00 00 48 85 c0 74 13 48 8b 50 18 31 c0 48 85 d2 74 07 <48> 8b 42 38 8b 40 20 c3 48 8b 96 90 08 00 00 eb e8 66 2e 0f 1f 84 [481.148991] RSP: 0018:ffffc90007b63868 EFLAGS: 00010286 [481.155034] RAX: 0000000000000000 RBX: ffff889080824000 RCX: 0000000000000000 [481.163278] RDX: ffffc9000640f000 RSI: ffff889080824010 RDI: ffff889080824000 [481.171527] RBP: ffff888107af7d00 R08: 0000000000000000 R09: ffff88810db5f6e0 [481.179776] R10: 0000000000000000 R11: ffff8890885b9988 R12: ffff88810db5f4bc [481.188026] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 [481.196276] FS:00007f5466d5bec0(0000) GS:ffff88903fb00000(0000) knlGS:0000000000000000 [481.205633] CS:0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [481.212279] CR2: ffffc9000640f038 CR3: 000000014429c006 CR4: 00000000003706e0 [481.220530] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [481.228771] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [481.237029] Call Trace: [481.239856]rtnl_fill_ifinfo+0x768/0x12e0 [481.244602]rtnl_dump_ifinfo+0x525/0x650 [481.249246]? __alloc_skb+0xa5/0x280 [481.253484]netlink_dump+0x168/0x3c0 [481.257725]netlink_recvmsg+0x21e/0x3e0 [481.262263]____sys_recvmsg+0x87/0x170 [481.266707]? __might_fault+0x20/0x30 [481.271046]? _copy_from_user+0x66/0xa0 [481.275591]? iovec_from_user+0xf6/0x1c0 [481.280226]___sys_recvmsg+0x82/0x100 [481.284566]? sock_sendmsg+0x5e/0x60 [481.288791]? __sys_sendto+0xee/0x150 [481.293129]__sys_recvmsg+0x56/0xa0 [481.297267]do_syscall_64+0x3b/0xc0 [481.301395]entry_SYSCALL_64_after_hwframe+0x44/0xae [481.307238] RIP: 0033:0x7f5466f39617 [481.311373] Code: 0c 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb bd 0f 1f 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 2f 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 51 c3 48 83 ec 28 89 54 24 1c 48 89 74 24 10 [481.342944] RSP: 002b:00007ffedc7f4308 EFLAGS: 00000246 ORIG_RAX: 000000000000002f [481.361783] RAX: ffffffffffffffda RBX: 00007ffedc7f5460 RCX: 00007f5466f39617 [481.380278] RDX: 0000000000000000 RSI: 00007ffedc7f5360 RDI: 0000000000000003 [481.398500] RBP: 00007ffedc7f53f0 R08: 0000000000000000 R09: 000055d556f04d50 [481.416463] R10: 0000000000000077 R11: 0000000000000246 R12: 00007ffedc7f5360 [481.434131] R13: 00007ffedc7f5350 R14: 00007ffedc7f5344 R15: 0000000000000e98 [481.451520] Modules linked in: ice ---truncated---

Solution(s)

  • suse-upgrade-cluster-md-kmp-64kb
  • suse-upgrade-cluster-md-kmp-azure
  • suse-upgrade-cluster-md-kmp-default
  • suse-upgrade-cluster-md-kmp-rt
  • suse-upgrade-dlm-kmp-64kb
  • suse-upgrade-dlm-kmp-azure
  • suse-upgrade-dlm-kmp-default
  • suse-upgrade-dlm-kmp-rt
  • suse-upgrade-dtb-allwinner
  • suse-upgrade-dtb-altera
  • suse-upgrade-dtb-amazon
  • suse-upgrade-dtb-amd
  • suse-upgrade-dtb-amlogic
  • suse-upgrade-dtb-apm
  • suse-upgrade-dtb-apple
  • suse-upgrade-dtb-arm
  • suse-upgrade-dtb-broadcom
  • suse-upgrade-dtb-cavium
  • suse-upgrade-dtb-exynos
  • suse-upgrade-dtb-freescale
  • suse-upgrade-dtb-hisilicon
  • suse-upgrade-dtb-lg
  • suse-upgrade-dtb-marvell
  • suse-upgrade-dtb-mediatek
  • suse-upgrade-dtb-nvidia
  • suse-upgrade-dtb-qcom
  • suse-upgrade-dtb-renesas
  • suse-upgrade-dtb-rockchip
  • suse-upgrade-dtb-socionext
  • suse-upgrade-dtb-sprd
  • suse-upgrade-dtb-xilinx
  • suse-upgrade-gfs2-kmp-64kb
  • suse-upgrade-gfs2-kmp-azure
  • suse-upgrade-gfs2-kmp-default
  • suse-upgrade-gfs2-kmp-rt
  • suse-upgrade-kernel-64kb
  • suse-upgrade-kernel-64kb-devel
  • suse-upgrade-kernel-64kb-extra
  • suse-upgrade-kernel-64kb-livepatch-devel
  • suse-upgrade-kernel-64kb-optional
  • suse-upgrade-kernel-azure
  • suse-upgrade-kernel-azure-devel
  • suse-upgrade-kernel-azure-extra
  • suse-upgrade-kernel-azure-livepatch-devel
  • suse-upgrade-kernel-azure-optional
  • suse-upgrade-kernel-azure-vdso
  • suse-upgrade-kernel-debug
  • suse-upgrade-kernel-debug-devel
  • suse-upgrade-kernel-debug-livepatch-devel
  • suse-upgrade-kernel-debug-vdso
  • suse-upgrade-kernel-default
  • suse-upgrade-kernel-default-base
  • suse-upgrade-kernel-default-base-rebuild
  • suse-upgrade-kernel-default-devel
  • suse-upgrade-kernel-default-extra
  • suse-upgrade-kernel-default-livepatch
  • suse-upgrade-kernel-default-livepatch-devel
  • suse-upgrade-kernel-default-optional
  • suse-upgrade-kernel-default-vdso
  • suse-upgrade-kernel-devel
  • suse-upgrade-kernel-devel-azure
  • suse-upgrade-kernel-devel-rt
  • suse-upgrade-kernel-docs
  • suse-upgrade-kernel-docs-html
  • suse-upgrade-kernel-kvmsmall
  • suse-upgrade-kernel-kvmsmall-devel
  • suse-upgrade-kernel-kvmsmall-livepatch-devel
  • suse-upgrade-kernel-kvmsmall-vdso
  • suse-upgrade-kernel-macros
  • suse-upgrade-kernel-obs-build
  • suse-upgrade-kernel-obs-qa
  • suse-upgrade-kernel-preempt
  • suse-upgrade-kernel-preempt-devel
  • suse-upgrade-kernel-rt
  • suse-upgrade-kernel-rt-devel
  • suse-upgrade-kernel-rt-extra
  • suse-upgrade-kernel-rt-livepatch
  • suse-upgrade-kernel-rt-livepatch-devel
  • suse-upgrade-kernel-rt-optional
  • suse-upgrade-kernel-rt-vdso
  • suse-upgrade-kernel-rt_debug
  • suse-upgrade-kernel-rt_debug-devel
  • suse-upgrade-kernel-rt_debug-livepatch-devel
  • suse-upgrade-kernel-rt_debug-vdso
  • suse-upgrade-kernel-source
  • suse-upgrade-kernel-source-azure
  • suse-upgrade-kernel-source-rt
  • suse-upgrade-kernel-source-vanilla
  • suse-upgrade-kernel-syms
  • suse-upgrade-kernel-syms-azure
  • suse-upgrade-kernel-syms-rt
  • suse-upgrade-kernel-zfcpdump
  • suse-upgrade-kselftests-kmp-64kb
  • suse-upgrade-kselftests-kmp-azure
  • suse-upgrade-kselftests-kmp-default
  • suse-upgrade-kselftests-kmp-rt
  • suse-upgrade-ocfs2-kmp-64kb
  • suse-upgrade-ocfs2-kmp-azure
  • suse-upgrade-ocfs2-kmp-default
  • suse-upgrade-ocfs2-kmp-rt
  • suse-upgrade-reiserfs-kmp-64kb
  • suse-upgrade-reiserfs-kmp-azure
  • suse-upgrade-reiserfs-kmp-default
  • suse-upgrade-reiserfs-kmp-rt

References

  • https://attackerkb.com/topics/cve-2021-47563
  • CVE - 2021-47563
  • 查看数 698
  • 已创建
  • 最后回复

参与讨论

你可立刻发布并稍后注册。 如果你有帐户,立刻登录发布帖子。

游客
回帖…