399 Star 1.4K Fork 1.3K

GVPopenEuler / kernel

 / 详情

【OLK5.10】 CVE-2023-52448

已拒绝
任务
创建于  
2024-02-26 10:32
影响和风险:具有特权的本地用户可以通过挂载异常镜像访问未初始化的变量触发空指针解引用,使服务器 panic 而拒绝服务
利用条件:用户 bitmap 实际大小与超级块中记录大小不一致的 gfs2 文件系统镜像,在计算 bitmap size 时即可触发该问题。
技术原因:gfs2_rgrp_dump() 在 rgd->rd_rgl 被赋值前就可能会在错误路径中被调用,比如计算 bitmap size 发现不一致时,此时 gfs2_rgrp_dump() 解引用未初始化的 rgd->rd_rgl 就会触发空指针解引用。 
判断方法:
 CONFIG依赖:CONFIG_GFS2_FS=n 则不涉及
 ko依赖: 如果 CONFIG_GFS2_FS 以=m的形式打开的情况下,则可排查 gfs2.ko 否被加载,没有被加载则不涉及。
领域:【存储/文件系统】

评论 (3)

LiBaokun 创建了任务

Hi cool-water, 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.

问题触发流程如下:

do_mount
 path_mount
  vfs_get_tree
   gfs2_get_tree
    get_tree_bdev
	 gfs2_fill_super
	  init_inodes
	   gfs2_rindex_update
	    gfs2_ri_update
		 read_rindex_entry 
		  compute_bitstructs
		   // 不一致异常镜像触发 EIO 报错
		   gfs2_consist_rgrpd_i
		    gfs2_rgrp_dump
			 // 这里未判空使用触发空指针解引用
			 rgl->rl_flags
		  // 这里赋值
		  rgd->rd_rgl = (struct gfs2_rgrp_lvb *)rgd->rd_gl->gl_lksb.sb_lvbptr;
LiBaokun 任务状态待办的 修改为已拒绝

登录 后才可以发表评论

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

搜索帮助

53164aa7 5694891 3bd8fe86 5694891