CVE漏洞中文网

0DayBank一个专门收集整理全球互联网漏洞的公开发布网站
  1. 首页
  2. CVE
  3. 正文

CVE-2024-50273丨btrfs:从列表中删除延迟引用列表后重新初始化该列表

2024年11月20日 178点热度 0人点赞 0条评论
btrfs:从列表中删除延迟引用列表后重新初始化该列表(CVE-2024-50273)

CVE编号

CVE-2024-50273

利用情况

暂无

补丁情况

N/A

披露时间

2024-11-19
漏洞描述
在Linux内核中,已经解决了以下的漏洞问题:关于btrfs文件系统的问题:在删除延迟引用列表后需要重新初始化该列表。在insert_delayed_ref()函数中,如果需要更新现有引用的操作至BTRFS_DROP_DELAYED_REF,我们会使用list_del()从它的ref头中的ref_add_list中删除该引用。然而,list_del()仅将列表的next和prev成员分别设置为LIST_POISON1和LIST_POISON2,而不会重新初始化引用的add_list成员。之后,如果我们针对该引用调用drop_delayed_ref(),这可能在合并或由于事务中止而销毁延迟引用时发生。在这种情况下,我们可能会在drop_delayed_ref()中对引用的add_list调用list_empty(),由于列表在list_del()之后并未重新初始化,因此会返回false。因此,在drop_delayed_ref()中我们再次调用list_del(),这将导致无效的列表访问,因为next和prev成员被设置为毒点(poison pointers)。如果设置了CONFIG_LIST_HARDENED和CONFIG_DEBUG_LIST,这会导致内存损坏(splat),否则会导致无效的毒点解引用。为了解决这个问题,我们应该使用list_del_init()来从列表中删除元素,这样可以在删除元素的同时对其进行初始化。
解决建议
建议您更新当前系统或软件至最新版,完成漏洞的修复。
参考链接
 https://git.kernel.org/stable/c/2cb1a73d1d44a1c11b0ee5eeced765dd80ec48e6
 https://git.kernel.org/stable/c/2fd0948a483e9cb2d669c7199bc620a21c97673d
 https://git.kernel.org/stable/c/50a3933760b427759afdd23156a7280a19357a92
 https://git.kernel.org/stable/c/93c5b8decc0ef39ba84f4211d2db6da0a4aefbeb
 https://git.kernel.org/stable/c/bf0b0c6d159767c0d1c21f793950d78486690ee0
 https://git.kernel.org/stable/c/c24fa427fc0ae827b2a3a07f13738cbf82c3f851
 https://git.kernel.org/stable/c/c9a75ec45f1111ef530ab186c2a7684d0a0c9245
 https://git.kernel.org/stable/c/f04be6d68f715c1473a8422fc0460f57b5e99931
标签: 暂无
最后更新:2024年11月20日

小助手

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

COPYRIGHT © 2024 www.pdr.cn CVE漏洞中文网. ALL RIGHTS RESERVED.

鲁ICP备2022031030号

联系邮箱:wpbgssyubnmsxxxkkk@proton.me