109 Star 72 Fork 300

src-openEuler/kernel

CVE-2022-49910

已完成
CVE和安全问题 拥有者
创建于  
2025-05-02 01:02

一、漏洞信息
漏洞编号:CVE-2022-49910
漏洞归属组件:kernel
漏洞归属的版本:4.19.140,4.19.194,4.19.90,5.10.0,6.1.19,6.4.0,6.6.0
CVSS V3.0分值:
BaseScore:N/A None
Vector:CVSS:3.0/
漏洞简述:
In the Linux kernel, the following vulnerability has been resolved:Bluetooth: L2CAP: Fix use-after-free caused by l2cap_reassemble_sduFix the race condition between the following two flows that run inparallel:1. l2cap_reassemble_sdu -> chan->ops->recv (l2cap_sock_recv_cb) -> __sock_queue_rcv_skb.2. bt_sock_recvmsg -> skb_recv_datagram, skb_free_datagram.An SKB can be queued by the first flow and immediately dequeued andfreed by the second flow, therefore the callers of l2cap_reassemble_sducan t use the SKB after that function returns. However, some placescontinue accessing struct l2cap_ctrl that resides in the SKB s CB for ashort time after l2cap_reassemble_sdu returns, leading to ause-after-free condition (the stack trace is below, line numbers forkernel 5.19.8).Fix it by keeping a local copy of struct l2cap_ctrl.BUG: KASAN: use-after-free in l2cap_rx_state_recv (net/bluetooth/l2cap_core.c:6906) bluetoothRead of size 1 at addr ffff88812025f2f0 by task kworker/u17:3/43169Workqueue: hci0 hci_rx_work [bluetooth]Call Trace: dump_stack_lvl (lib/dump_stack.c:107 (discriminator 4)) print_report.cold (mm/kasan/report.c:314 mm/kasan/report.c:429) ? l2cap_rx_state_recv (net/bluetooth/l2cap_core.c:6906) bluetooth kasan_report (mm/kasan/report.c:162 mm/kasan/report.c:493) ? l2cap_rx_state_recv (net/bluetooth/l2cap_core.c:6906) bluetooth l2cap_rx_state_recv (net/bluetooth/l2cap_core.c:6906) bluetooth l2cap_rx (net/bluetooth/l2cap_core.c:7236 net/bluetooth/l2cap_core.c:7271) bluetooth ret_from_fork (arch/x86/entry/entry_64.S:306) Allocated by task 43169: kasan_save_stack (mm/kasan/common.c:39) __kasan_slab_alloc (mm/kasan/common.c:45 mm/kasan/common.c:436 mm/kasan/common.c:469) kmem_cache_alloc_node (mm/slab.h:750 mm/slub.c:3243 mm/slub.c:3293) __alloc_skb (net/core/skbuff.c:414) l2cap_recv_frag (./include/net/bluetooth/bluetooth.h:425 net/bluetooth/l2cap_core.c:8329) bluetooth l2cap_recv_acldata (net/bluetooth/l2cap_core.c:8442) bluetooth hci_rx_work (net/bluetooth/hci_core.c:3642 net/bluetooth/hci_core.c:3832) bluetooth process_one_work (kernel/workqueue.c:2289) worker_thread (./include/linux/list.h:292 kernel/workqueue.c:2437) kthread (kernel/kthread.c:376) ret_from_fork (arch/x86/entry/entry_64.S:306)Freed by task 27920: kasan_save_stack (mm/kasan/common.c:39) kasan_set_track (mm/kasan/common.c:45) kasan_set_free_info (mm/kasan/generic.c:372) ____kasan_slab_free (mm/kasan/common.c:368 mm/kasan/common.c:328) slab_free_freelist_hook (mm/slub.c:1780) kmem_cache_free (mm/slub.c:3536 mm/slub.c:3553) skb_free_datagram (./include/net/sock.h:1578 ./include/net/sock.h:1639 net/core/datagram.c:323) bt_sock_recvmsg (net/bluetooth/af_bluetooth.c:295) bluetooth l2cap_sock_recvmsg (net/bluetooth/l2cap_sock.c:1212) bluetooth sock_read_iter (net/socket.c:1087) new_sync_read (./include/linux/fs.h:2052 fs/read_write.c:401) vfs_read (fs/read_write.c:482) ksys_read (fs/read_write.c:620) do_syscall_64 (arch/x86/entry/common.c:50 arch/x86/entry/common.c:80) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:120)
漏洞公开时间:2025-05-01 23:16:16
漏洞创建时间:2025-05-02 01:02:37
漏洞详情参考链接:
https://nvd.nist.gov/vuln/detail/CVE-2022-49910

更多参考(点击展开)
参考来源 参考链接 来源链接
416baaa9-dc9f-4396-8d5f-8c081fb06d67 https://git.kernel.org/stable/c/03af22e23b96fb7ef75fb7885407ef457e8b403d
416baaa9-dc9f-4396-8d5f-8c081fb06d67 https://git.kernel.org/stable/c/3aff8aaca4e36dc8b17eaa011684881a80238966
416baaa9-dc9f-4396-8d5f-8c081fb06d67 https://git.kernel.org/stable/c/4cd094fd5d872862ca278e15b9b51b07e915ef3f
416baaa9-dc9f-4396-8d5f-8c081fb06d67 https://git.kernel.org/stable/c/6c7407bfbeafc80a04e6eaedcf34d378532a04f2
416baaa9-dc9f-4396-8d5f-8c081fb06d67 https://git.kernel.org/stable/c/8278a87bb1eeea94350d675ef961ee5a03341fde
416baaa9-dc9f-4396-8d5f-8c081fb06d67 https://git.kernel.org/stable/c/9a04161244603f502c6e453913e51edd59cb70c1
416baaa9-dc9f-4396-8d5f-8c081fb06d67 https://git.kernel.org/stable/c/cb1c012099ef5904cd468bdb8d6fcdfdd9bcb569
416baaa9-dc9f-4396-8d5f-8c081fb06d67 https://git.kernel.org/stable/c/dc30e05bb18852303084430c03ca76e69257d9ea
suse_bugzilla http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2022-49910 https://bugzilla.suse.com/show_bug.cgi?id=1242452
suse_bugzilla https://www.cve.org/CVERecord?id=CVE-2022-49910 https://bugzilla.suse.com/show_bug.cgi?id=1242452
suse_bugzilla https://git.kernel.org/stable/c/03af22e23b96fb7ef75fb7885407ef457e8b403d https://bugzilla.suse.com/show_bug.cgi?id=1242452
suse_bugzilla https://git.kernel.org/stable/c/3aff8aaca4e36dc8b17eaa011684881a80238966 https://bugzilla.suse.com/show_bug.cgi?id=1242452
suse_bugzilla https://git.kernel.org/stable/c/4cd094fd5d872862ca278e15b9b51b07e915ef3f https://bugzilla.suse.com/show_bug.cgi?id=1242452
suse_bugzilla https://git.kernel.org/stable/c/6c7407bfbeafc80a04e6eaedcf34d378532a04f2 https://bugzilla.suse.com/show_bug.cgi?id=1242452
suse_bugzilla https://git.kernel.org/stable/c/8278a87bb1eeea94350d675ef961ee5a03341fde https://bugzilla.suse.com/show_bug.cgi?id=1242452
suse_bugzilla https://git.kernel.org/stable/c/9a04161244603f502c6e453913e51edd59cb70c1 https://bugzilla.suse.com/show_bug.cgi?id=1242452
suse_bugzilla https://git.kernel.org/stable/c/cb1c012099ef5904cd468bdb8d6fcdfdd9bcb569 https://bugzilla.suse.com/show_bug.cgi?id=1242452
suse_bugzilla https://git.kernel.org/stable/c/dc30e05bb18852303084430c03ca76e69257d9ea https://bugzilla.suse.com/show_bug.cgi?id=1242452
suse_bugzilla https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2022/CVE-2022-49910.mbox https://bugzilla.suse.com/show_bug.cgi?id=1242452
suse_bugzilla https://bugzilla.redhat.com/show_bug.cgi?id=2363393 https://bugzilla.suse.com/show_bug.cgi?id=1242452
anolis https://anas.openanolis.cn/cves/detail/CVE-2022-49910

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

详情(点击展开)
影响的包 修复版本 修复补丁 问题引入补丁 来源
linux_kernel 4.9.333 https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=dc30e05bb18852303084430c03ca76e69257d9ea https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=4b51dae96731c9d82f5634e75ac7ffd3b9c1b060 linuxkernelcves
linux_kernel 4.14.299 https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=03af22e23b96fb7ef75fb7885407ef457e8b403d https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=4b51dae96731c9d82f5634e75ac7ffd3b9c1b060 linuxkernelcves
linux_kernel 4.19.265 https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=6c7407bfbeafc80a04e6eaedcf34d378532a04f2 https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=4b51dae96731c9d82f5634e75ac7ffd3b9c1b060 linuxkernelcves
linux_kernel 5.4.224 https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=4cd094fd5d872862ca278e15b9b51b07e915ef3f https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=4b51dae96731c9d82f5634e75ac7ffd3b9c1b060 linuxkernelcves
linux_kernel 5.10.154 https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=cb1c012099ef5904cd468bdb8d6fcdfdd9bcb569 https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=4b51dae96731c9d82f5634e75ac7ffd3b9c1b060 linuxkernelcves
linux_kernel 5.15.78 https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=8278a87bb1eeea94350d675ef961ee5a03341fde https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=4b51dae96731c9d82f5634e75ac7ffd3b9c1b060 linuxkernelcves
linux_kernel 6.0.8 https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=9a04161244603f502c6e453913e51edd59cb70c1 https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=4b51dae96731c9d82f5634e75ac7ffd3b9c1b060 linuxkernelcves
linux_kernel 6.1 https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=3aff8aaca4e36dc8b17eaa011684881a80238966 https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=4b51dae96731c9d82f5634e75ac7ffd3b9c1b060 linuxkernelcves

二、漏洞分析结构反馈
影响性分析说明:
In the Linux kernel, the following vulnerability has been resolved:Bluetooth: L2CAP: Fix use-after-free caused by l2cap_reassemble_sduFix the race condition between the following two flows that run inparallel:1. l2cap_reassemble_sdu -> chan->ops->recv (l2cap_sock_recv_cb) -> __sock_queue_rcv_skb.2. bt_sock_recvmsg -> skb_recv_datagram, skb_free_datagram.An SKB can be queued by the first flow and immediately dequeued andfreed by the second flow, therefore the callers of l2cap_reassemble_sducan't use the SKB after that function returns. However, some placescontinue accessing struct l2cap_ctrl that resides in the SKB's CB for ashort time after l2cap_reassemble_sdu returns, leading to ause-after-free condition (the stack trace is below, line numbers forkernel 5.19.8).Fix it by keeping a local copy of struct l2cap_ctrl.BUG: KASAN: use-after-free in l2cap_rx_state_recv (net/bluetooth/l2cap_core.c:6906) bluetoothRead of size 1 at addr ffff88812025f2f0 by task kworker/u17:3/43169Workqueue: hci0 hci_rx_work [bluetooth]Call Trace: <TASK> dump_stack_lvl (lib/dump_stack.c:107 (discriminator 4)) print_report.cold (mm/kasan/report.c:314 mm/kasan/report.c:429) ? l2cap_rx_state_recv (net/bluetooth/l2cap_core.c:6906) bluetooth kasan_report (mm/kasan/report.c:162 mm/kasan/report.c:493) ? l2cap_rx_state_recv (net/bluetooth/l2cap_core.c:6906) bluetooth l2cap_rx_state_recv (net/bluetooth/l2cap_core.c:6906) bluetooth l2cap_rx (net/bluetooth/l2cap_core.c:7236 net/bluetooth/l2cap_core.c:7271) bluetooth ret_from_fork (arch/x86/entry/entry_64.S:306) </TASK>Allocated by task 43169: kasan_save_stack (mm/kasan/common.c:39) __kasan_slab_alloc (mm/kasan/common.c:45 mm/kasan/common.c:436 mm/kasan/common.c:469) kmem_cache_alloc_node (mm/slab.h:750 mm/slub.c:3243 mm/slub.c:3293) __alloc_skb (net/core/skbuff.c:414) l2cap_recv_frag (./include/net/bluetooth/bluetooth.h:425 net/bluetooth/l2cap_core.c:8329) bluetooth l2cap_recv_acldata (net/bluetooth/l2cap_core.c:8442) bluetooth hci_rx_work (net/bluetooth/hci_core.c:3642 net/bluetooth/hci_core.c:3832) bluetooth process_one_work (kernel/workqueue.c:2289) worker_thread (./include/linux/list.h:292 kernel/workqueue.c:2437) kthread (kernel/kthread.c:376) ret_from_fork (arch/x86/entry/entry_64.S:306)Freed by task 27920: kasan_save_stack (mm/kasan/common.c:39) kasan_set_track (mm/kasan/common.c:45) kasan_set_free_info (mm/kasan/generic.c:372) ____kasan_slab_free (mm/kasan/common.c:368 mm/kasan/common.c:328) slab_free_freelist_hook (mm/slub.c:1780) kmem_cache_free (mm/slub.c:3536 mm/slub.c:3553) skb_free_datagram (./include/net/sock.h:1578 ./include/net/sock.h:1639 net/core/datagram.c:323) bt_sock_recvmsg (net/bluetooth/af_bluetooth.c:295) bluetooth l2cap_sock_recvmsg (net/bluetooth/l2cap_sock.c:1212) bluetooth sock_read_iter (net/socket.c:1087) new_sync_read (./include/linux/fs.h:2052 fs/read_write.c:401) vfs_read (fs/read_write.c:482) ksys_read (fs/read_write.c:620) do_syscall_64 (arch/x86/entry/common.c:50 arch/x86/entry/common.c:80) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:120)The Linux kernel CVE team has assigned CVE-2022-49910 to this issue.
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-SP4(4.19.90):受影响
2.openEuler-22.03-LTS-SP3(5.10.0):受影响
3.openEuler-22.03-LTS-SP4(5.10.0):受影响
4.master(6.6.0):不受影响
5.openEuler-24.03-LTS(6.6.0):不受影响
6.openEuler-24.03-LTS-Next(6.6.0):不受影响
7.openEuler-24.03-LTS-SP1(6.6.0):不受影响
8.openEuler-24.03-LTS-SP2(6.6.0):不受影响

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

原因说明:
1.openEuler-20.03-LTS-SP4(4.19.90):不修复-超出修复范围
2.openEuler-22.03-LTS-SP3(5.10.0):不修复-超出修复范围
3.openEuler-22.03-LTS-SP4(5.10.0):不修复-超出修复范围
4.master(6.6.0):不受影响-漏洞代码不能被攻击者触发
5.openEuler-24.03-LTS(6.6.0):不受影响-漏洞代码不能被攻击者触发
6.openEuler-24.03-LTS-Next(6.6.0):不受影响-漏洞代码不能被攻击者触发
7.openEuler-24.03-LTS-SP1(6.6.0):不受影响-漏洞代码不能被攻击者触发
8.openEuler-24.03-LTS-SP2(6.6.0):不受影响-漏洞代码不能被攻击者触发

评论 (6)

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 ,@jiaoff ,@guohaocs2c ,@hanjun-guo ,@woqidaideshi ,@newbeats ,@zhangyi089 ,@colyli ,@thundertown ,@htforge ,@chiqijun ,@lengchao ,@zhujianwei001 ,@kylin-mayukun ,@wangxiongfeng ,@wkfxxx ,@SuperSix173 ,@jentlestea ,@oskernel0719 ,@gasonchen
issue处理注意事项:
1. 当前issue受影响的分支提交pr时, 须在pr描述中填写当前issue编号进行关联, 否则无法关闭当前issue;
2. 模板内容需要填写完整, 无论是受影响或者不受影响都需要填写完整内容,未引入的分支不需要填写, 否则无法关闭当前issue;
3. 以下为模板中需要填写完整的内容, 请复制到评论区回复, 注: 内容的标题名称(影响性分析说明, openEuler评分, 受影响版本排查(受影响/不受影响), 修复是否涉及abi变化(是/否), 原因说明)不能省略,省略后cve-manager将无法正常解析填写内容.


影响性分析说明:

openEuler评分: (评分和向量)

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

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

原因说明:
1.master(6.6.0):
2.openEuler-20.03-LTS-SP4(4.19.90):
3.openEuler-22.03-LTS-SP3(5.10.0):
4.openEuler-22.03-LTS-SP4(5.10.0):
5.openEuler-24.03-LTS(6.6.0):
6.openEuler-24.03-LTS-Next(6.6.0):
7.openEuler-24.03-LTS-SP1(6.6.0):
8.openEuler-24.03-LTS-SP2(6.6.0):


原因说明填写请参考下方表格(注意:版本是否受影响和版本的原因说明必须对应,例如master版本分支受影响,那原因说明只能是受影响对应的原因之一!):

分支状态 原因说明
受影响 正常修复
受影响 暂不修复-漏洞仍在分析中
受影响 暂不修复-暂无解决方案或补丁
受影响 暂不修复-待升级版本修复
受影响 不修复-超出修复范围
受影响 不修复-特殊原因导致不再修复
不受影响 不受影响-组件不存在
不受影响 不受影响-已有内置的内联控制或缓解措施
不受影响 不受影响-漏洞代码不能被攻击者触发
不受影响 不受影响-漏洞代码不在执行路径
不受影响 不受影响-漏洞代码不存在

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 创建了CVE和安全问题 1个月前
openeuler-ci-bot 添加了
 
CVE/UNFIXED
标签
1个月前
openeuler-ci-bot 添加了
 
sig/Kernel
标签
1个月前
展开全部操作日志
参考网址 关联pr 状态 补丁链接
https://nvd.nist.gov/vuln/detail/CVE-2022-49910NoneNonehttps://git.kernel.org/stable/c/4cd094fd5d872862ca278e15b9b51b07e915ef3f
https://git.kernel.org/stable/c/cb1c012099ef5904cd468bdb8d6fcdfdd9bcb569
https://git.kernel.org/stable/c/03af22e23b96fb7ef75fb7885407ef457e8b403d
https://git.kernel.org/stable/c/3aff8aaca4e36dc8b17eaa011684881a80238966
https://git.kernel.org/stable/c/6c7407bfbeafc80a04e6eaedcf34d378532a04f2
https://git.kernel.org/stable/c/9a04161244603f502c6e453913e51edd59cb70c1
https://git.kernel.org/stable/c/dc30e05bb18852303084430c03ca76e69257d9ea
https://git.kernel.org/stable/c/8278a87bb1eeea94350d675ef961ee5a03341fde
https://ubuntu.com/security/CVE-2022-49910
https://www.opencve.io/cve/CVE-2022-49910NoneNonehttps://git.kernel.org/stable/c/4cd094fd5d872862ca278e15b9b51b07e915ef3f
https://git.kernel.org/stable/c/cb1c012099ef5904cd468bdb8d6fcdfdd9bcb569
https://git.kernel.org/stable/c/03af22e23b96fb7ef75fb7885407ef457e8b403d
https://git.kernel.org/stable/c/3aff8aaca4e36dc8b17eaa011684881a80238966
https://git.kernel.org/stable/c/6c7407bfbeafc80a04e6eaedcf34d378532a04f2
https://git.kernel.org/stable/c/9a04161244603f502c6e453913e51edd59cb70c1
https://git.kernel.org/stable/c/dc30e05bb18852303084430c03ca76e69257d9ea
https://git.kernel.org/stable/c/8278a87bb1eeea94350d675ef961ee5a03341fde
https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2022-49910
https://security-tracker.debian.org/tracker/CVE-2022-49910NoneNonehttps://git.kernel.org/linus/3aff8aaca4e36dc8b17eaa011684881a80238966
http://www.cnnvd.org.cn/web/vulnerability/queryLds.tag?qcvCnnvdid=CVE-2022-49910

说明:补丁链接仅供初步排查参考,实际可用性请人工再次确认,补丁下载验证可使用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 修改了描述 1个月前
openeuler-ci-bot 修改了描述 1个月前
openeuler-ci-bot 修改了描述 1个月前
openeuler-ci-bot 修改了描述 23天前
openeuler-ci-bot 修改了描述 19天前

CVE-2022-49910

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

Bluetooth: L2CAP: Fix use-after-free caused by l2cap_reassemble_sdu

Fix the race condition between the following two flows that run in
parallel:

  1. l2cap_reassemble_sdu -> chan->ops->recv (l2cap_sock_recv_cb) ->
    __sock_queue_rcv_skb.

  2. bt_sock_recvmsg -> skb_recv_datagram, skb_free_datagram.

An SKB can be queued by the first flow and immediately dequeued and
freed by the second flow, therefore the callers of l2cap_reassemble_sdu
can't use the SKB after that function returns. However, some places
continue accessing struct l2cap_ctrl that resides in the SKB's CB for a
short time after l2cap_reassemble_sdu returns, leading to a
use-after-free condition (the stack trace is below, line numbers for
kernel 5.19.8).

Fix it by keeping a local copy of struct l2cap_ctrl.

BUG: KASAN: use-after-free in l2cap_rx_state_recv (net/bluetooth/l2cap_core.c:6906) bluetooth
Read of size 1 at addr ffff88812025f2f0 by task kworker/u17:3/43169

Workqueue: hci0 hci_rx_work [bluetooth]
Call Trace:
<TASK>
dump_stack_lvl (lib/dump_stack.c:107 (discriminator 4))
print_report.cold (mm/kasan/report.c:314 mm/kasan/report.c:429)
? l2cap_rx_state_recv (net/bluetooth/l2cap_core.c:6906) bluetooth
kasan_report (mm/kasan/report.c:162 mm/kasan/report.c:493)
? l2cap_rx_state_recv (net/bluetooth/l2cap_core.c:6906) bluetooth
l2cap_rx_state_recv (net/bluetooth/l2cap_core.c:6906) bluetooth
l2cap_rx (net/bluetooth/l2cap_core.c:7236 net/bluetooth/l2cap_core.c:7271) bluetooth
ret_from_fork (arch/x86/entry/entry_64.S:306)
</TASK>

Allocated by task 43169:
kasan_save_stack (mm/kasan/common.c:39)
__kasan_slab_alloc (mm/kasan/common.c:45 mm/kasan/common.c:436 mm/kasan/common.c:469)
kmem_cache_alloc_node (mm/slab.h:750 mm/slub.c:3243 mm/slub.c:3293)
__alloc_skb (net/core/skbuff.c:414)
l2cap_recv_frag (./include/net/bluetooth/bluetooth.h:425 net/bluetooth/l2cap_core.c:8329) bluetooth
l2cap_recv_acldata (net/bluetooth/l2cap_core.c:8442) bluetooth
hci_rx_work (net/bluetooth/hci_core.c:3642 net/bluetooth/hci_core.c:3832) bluetooth
process_one_work (kernel/workqueue.c:2289)
worker_thread (./include/linux/list.h:292 kernel/workqueue.c:2437)
kthread (kernel/kthread.c:376)
ret_from_fork (arch/x86/entry/entry_64.S:306)

Freed by task 27920:
kasan_save_stack (mm/kasan/common.c:39)
kasan_set_track (mm/kasan/common.c:45)
kasan_set_free_info (mm/kasan/generic.c:372)
____kasan_slab_free (mm/kasan/common.c:368 mm/kasan/common.c:328)
slab_free_freelist_hook (mm/slub.c:1780)
kmem_cache_free (mm/slub.c:3536 mm/slub.c:3553)
skb_free_datagram (./include/net/sock.h:1578 ./include/net/sock.h:1639 net/core/datagram.c:323)
bt_sock_recvmsg (net/bluetooth/af_bluetooth.c:295) bluetooth
l2cap_sock_recvmsg (net/bluetooth/l2cap_sock.c:1212) bluetooth
sock_read_iter (net/socket.c:1087)
new_sync_read (./include/linux/fs.h:2052 fs/read_write.c:401)
vfs_read (fs/read_write.c:482)
ksys_read (fs/read_write.c:620)
do_syscall_64 (arch/x86/entry/common.c:50 arch/x86/entry/common.c:80)
entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:120)

The Linux kernel CVE team has assigned CVE-2022-49910 to this issue.

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

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

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

原因说明:
1.master(23.08.5):不受影响-漏洞代码不能被攻击者触发
2.openEuler-20.03-LTS-SP4:不修复-超出修复范围
3.openEuler-22.03-LTS-SP3:不修复-超出修复范围
4.openEuler-22.03-LTS-SP4:不修复-超出修复范围
5.openEuler-24.03-LTS:不受影响-漏洞代码不能被攻击者触发
6.openEuler-24.03-LTS-Next:不受影响-漏洞代码不能被攻击者触发
7.openEuler-24.03-LTS-SP1:不受影响-漏洞代码不能被攻击者触发
8.openEuler-24.03-LTS-SP2:不受影响-漏洞代码不能被攻击者触发

CVE-2022-49910

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

Bluetooth: L2CAP: Fix use-after-free caused by l2cap_reassemble_sdu

Fix the race condition between the following two flows that run in
parallel:

  1. l2cap_reassemble_sdu -> chan->ops->recv (l2cap_sock_recv_cb) ->
    __sock_queue_rcv_skb.

  2. bt_sock_recvmsg -> skb_recv_datagram, skb_free_datagram.

An SKB can be queued by the first flow and immediately dequeued and
freed by the second flow, therefore the callers of l2cap_reassemble_sdu
can't use the SKB after that function returns. However, some places
continue accessing struct l2cap_ctrl that resides in the SKB's CB for a
short time after l2cap_reassemble_sdu returns, leading to a
use-after-free condition (the stack trace is below, line numbers for
kernel 5.19.8).

Fix it by keeping a local copy of struct l2cap_ctrl.

BUG: KASAN: use-after-free in l2cap_rx_state_recv (net/bluetooth/l2cap_core.c:6906) bluetooth
Read of size 1 at addr ffff88812025f2f0 by task kworker/u17:3/43169

Workqueue: hci0 hci_rx_work [bluetooth]
Call Trace:
<TASK>
dump_stack_lvl (lib/dump_stack.c:107 (discriminator 4))
print_report.cold (mm/kasan/report.c:314 mm/kasan/report.c:429)
? l2cap_rx_state_recv (net/bluetooth/l2cap_core.c:6906) bluetooth
kasan_report (mm/kasan/report.c:162 mm/kasan/report.c:493)
? l2cap_rx_state_recv (net/bluetooth/l2cap_core.c:6906) bluetooth
l2cap_rx_state_recv (net/bluetooth/l2cap_core.c:6906) bluetooth
l2cap_rx (net/bluetooth/l2cap_core.c:7236 net/bluetooth/l2cap_core.c:7271) bluetooth
ret_from_fork (arch/x86/entry/entry_64.S:306)
</TASK>

Allocated by task 43169:
kasan_save_stack (mm/kasan/common.c:39)
__kasan_slab_alloc (mm/kasan/common.c:45 mm/kasan/common.c:436 mm/kasan/common.c:469)
kmem_cache_alloc_node (mm/slab.h:750 mm/slub.c:3243 mm/slub.c:3293)
__alloc_skb (net/core/skbuff.c:414)
l2cap_recv_frag (./include/net/bluetooth/bluetooth.h:425 net/bluetooth/l2cap_core.c:8329) bluetooth
l2cap_recv_acldata (net/bluetooth/l2cap_core.c:8442) bluetooth
hci_rx_work (net/bluetooth/hci_core.c:3642 net/bluetooth/hci_core.c:3832) bluetooth
process_one_work (kernel/workqueue.c:2289)
worker_thread (./include/linux/list.h:292 kernel/workqueue.c:2437)
kthread (kernel/kthread.c:376)
ret_from_fork (arch/x86/entry/entry_64.S:306)

Freed by task 27920:
kasan_save_stack (mm/kasan/common.c:39)
kasan_set_track (mm/kasan/common.c:45)
kasan_set_free_info (mm/kasan/generic.c:372)
____kasan_slab_free (mm/kasan/common.c:368 mm/kasan/common.c:328)
slab_free_freelist_hook (mm/slub.c:1780)
kmem_cache_free (mm/slub.c:3536 mm/slub.c:3553)
skb_free_datagram (./include/net/sock.h:1578 ./include/net/sock.h:1639 net/core/datagram.c:323)
bt_sock_recvmsg (net/bluetooth/af_bluetooth.c:295) bluetooth
l2cap_sock_recvmsg (net/bluetooth/l2cap_sock.c:1212) bluetooth
sock_read_iter (net/socket.c:1087)
new_sync_read (./include/linux/fs.h:2052 fs/read_write.c:401)
vfs_read (fs/read_write.c:482)
ksys_read (fs/read_write.c:620)
do_syscall_64 (arch/x86/entry/common.c:50 arch/x86/entry/common.c:80)
entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:120)

The Linux kernel CVE team has assigned CVE-2022-49910 to this issue.

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

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

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

原因说明:
1.master(23.08.5):不受影响-漏洞代码不能被攻击者触发
2.openEuler-20.03-LTS-SP4:不修复-超出修复范围
3.openEuler-22.03-LTS-SP3:不修复-超出修复范围
4.openEuler-22.03-LTS-SP4:不修复-超出修复范围
5.openEuler-24.03-LTS:不受影响-漏洞代码不能被攻击者触发
6.openEuler-24.03-LTS-Next:不受影响-漏洞代码不能被攻击者触发
7.openEuler-24.03-LTS-SP1:不受影响-漏洞代码不能被攻击者触发
8.openEuler-24.03-LTS-SP2:不受影响-漏洞代码不能被攻击者触发

openeuler-ci-bot 修改了描述 18天前

@CTC-XiboWang 经过 cve-manager 解析, 已分析的内容如下表所示:

状态 分析项目 内容
已分析 1.影响性分析说明 In the Linux kernel, the following vulnerability has been resolved:Bluetooth: L2CAP: Fix use-after-free caused by l2cap_reassemble_sduFix the race condition between the following two flows that run inparallel:1. l2cap_reassemble_sdu -> chan->ops->recv (l2cap_sock_recv_cb) -> __sock_queue_rcv_skb.2. bt_sock_recvmsg -> skb_recv_datagram, skb_free_datagram.An SKB can be queued by the first flow and immediately dequeued andfreed by the second flow, therefore the callers of l2cap_reassemble_sducan't use the SKB after that function returns. However, some placescontinue accessing struct l2cap_ctrl that resides in the SKB's CB for ashort time after l2cap_reassemble_sdu returns, leading to ause-after-free condition (the stack trace is below, line numbers forkernel 5.19.8).Fix it by keeping a local copy of struct l2cap_ctrl.BUG: KASAN: use-after-free in l2cap_rx_state_recv (net/bluetooth/l2cap_core.c:6906) bluetoothRead of size 1 at addr ffff88812025f2f0 by task kworker/u17:3/43169Workqueue: hci0 hci_rx_work [bluetooth]Call Trace: <TASK> dump_stack_lvl (lib/dump_stack.c:107 (discriminator 4)) print_report.cold (mm/kasan/report.c:314 mm/kasan/report.c:429) ? l2cap_rx_state_recv (net/bluetooth/l2cap_core.c:6906) bluetooth kasan_report (mm/kasan/report.c:162 mm/kasan/report.c:493) ? l2cap_rx_state_recv (net/bluetooth/l2cap_core.c:6906) bluetooth l2cap_rx_state_recv (net/bluetooth/l2cap_core.c:6906) bluetooth l2cap_rx (net/bluetooth/l2cap_core.c:7236 net/bluetooth/l2cap_core.c:7271) bluetooth ret_from_fork (arch/x86/entry/entry_64.S:306) </TASK>Allocated by task 43169: kasan_save_stack (mm/kasan/common.c:39) __kasan_slab_alloc (mm/kasan/common.c:45 mm/kasan/common.c:436 mm/kasan/common.c:469) kmem_cache_alloc_node (mm/slab.h:750 mm/slub.c:3243 mm/slub.c:3293) __alloc_skb (net/core/skbuff.c:414) l2cap_recv_frag (./include/net/bluetooth/bluetooth.h:425 net/bluetooth/l2cap_core.c:8329) bluetooth l2cap_recv_acldata (net/bluetooth/l2cap_core.c:8442) bluetooth hci_rx_work (net/bluetooth/hci_core.c:3642 net/bluetooth/hci_core.c:3832) bluetooth process_one_work (kernel/workqueue.c:2289) worker_thread (./include/linux/list.h:292 kernel/workqueue.c:2437) kthread (kernel/kthread.c:376) ret_from_fork (arch/x86/entry/entry_64.S:306)Freed by task 27920: kasan_save_stack (mm/kasan/common.c:39) kasan_set_track (mm/kasan/common.c:45) kasan_set_free_info (mm/kasan/generic.c:372) ____kasan_slab_free (mm/kasan/common.c:368 mm/kasan/common.c:328) slab_free_freelist_hook (mm/slub.c:1780) kmem_cache_free (mm/slub.c:3536 mm/slub.c:3553) skb_free_datagram (./include/net/sock.h:1578 ./include/net/sock.h:1639 net/core/datagram.c:323) bt_sock_recvmsg (net/bluetooth/af_bluetooth.c:295) bluetooth l2cap_sock_recvmsg (net/bluetooth/l2cap_sock.c:1212) bluetooth sock_read_iter (net/socket.c:1087) new_sync_read (./include/linux/fs.h:2052 fs/read_write.c:401) vfs_read (fs/read_write.c:482) ksys_read (fs/read_write.c:620) do_syscall_64 (arch/x86/entry/common.c:50 arch/x86/entry/common.c:80) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:120)The Linux kernel CVE team has assigned CVE-2022-49910 to this issue.
已分析 2.openEulerScore 5.5
已分析 3.openEulerVector AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
已分析 4.受影响版本排查 openEuler-20.03-LTS-SP4:受影响,openEuler-22.03-LTS-SP3:受影响,openEuler-22.03-LTS-SP4:受影响,master:不受影响,openEuler-24.03-LTS:不受影响,openEuler-24.03-LTS-Next:不受影响,openEuler-24.03-LTS-SP1:不受影响,openEuler-24.03-LTS-SP2:不受影响
已分析 5.是否涉及abi变化 master:否,openEuler-20.03-LTS-SP4:否,openEuler-22.03-LTS-SP3:否,openEuler-22.03-LTS-SP4:否,openEuler-24.03-LTS:否,openEuler-24.03-LTS-Next:否,openEuler-24.03-LTS-SP1:否,openEuler-24.03-LTS-SP2:否
已分析 6.原因说明 openEuler-20.03-LTS-SP4:不修复-超出修复范围,openEuler-22.03-LTS-SP3:不修复-超出修复范围,openEuler-22.03-LTS-SP4:不修复-超出修复范围,master:不受影响-漏洞代码不能被攻击者触发,openEuler-24.03-LTS:不受影响-漏洞代码不能被攻击者触发,openEuler-24.03-LTS-Next:不受影响-漏洞代码不能被攻击者触发,openEuler-24.03-LTS-SP1:不受影响-漏洞代码不能被攻击者触发,openEuler-24.03-LTS-SP2:不受影响-漏洞代码不能被攻击者触发

请确认分析内容的准确性, 确认无误后, 您可以进行后续步骤, 否则您可以继续分析.

openeuler-ci-bot 任务状态待办的 修改为已完成 18天前
openeuler-ci-bot 移除了
 
CVE/UNFIXED
标签
18天前
openeuler-ci-bot 移除了
 
sig/Kernel
标签
18天前
openeuler-ci-bot 添加了
 
CVE/FIXED
标签
18天前
openeuler-ci-bot 添加了
 
sig/Kernel
标签
18天前

登录 后才可以发表评论

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

搜索帮助