CVE-2023-54313
Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
30/12/2025
Última modificación:
30/12/2025
Descripción
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
ovl: fix null pointer dereference in ovl_get_acl_rcu()<br />
<br />
Following process:<br />
P1 P2<br />
path_openat<br />
link_path_walk<br />
may_lookup<br />
inode_permission(rcu)<br />
ovl_permission<br />
acl_permission_check<br />
check_acl<br />
get_cached_acl_rcu<br />
ovl_get_inode_acl<br />
realinode = ovl_inode_real(ovl_inode)<br />
drop_cache<br />
__dentry_kill(ovl_dentry)<br />
iput(ovl_inode)<br />
ovl_destroy_inode(ovl_inode)<br />
dput(oi->__upperdentry)<br />
dentry_kill(upperdentry)<br />
dentry_unlink_inode<br />
upperdentry->d_inode = NULL<br />
ovl_inode_upper<br />
upperdentry = ovl_i_dentry_upper(ovl_inode)<br />
d_inode(upperdentry) // returns NULL<br />
IS_POSIXACL(realinode) // NULL pointer dereference<br />
, will trigger an null pointer dereference at realinode:<br />
[ 205.472797] BUG: kernel NULL pointer dereference, address:<br />
0000000000000028<br />
[ 205.476701] CPU: 2 PID: 2713 Comm: ls Not tainted<br />
6.3.0-12064-g2edfa098e750-dirty #1216<br />
[ 205.478754] RIP: 0010:do_ovl_get_acl+0x5d/0x300<br />
[ 205.489584] Call Trace:<br />
[ 205.489812] <br />
[ 205.490014] ovl_get_inode_acl+0x26/0x30<br />
[ 205.490466] get_cached_acl_rcu+0x61/0xa0<br />
[ 205.490908] generic_permission+0x1bf/0x4e0<br />
[ 205.491447] ovl_permission+0x79/0x1b0<br />
[ 205.491917] inode_permission+0x15e/0x2c0<br />
[ 205.492425] link_path_walk+0x115/0x550<br />
[ 205.493311] path_lookupat.isra.0+0xb2/0x200<br />
[ 205.493803] filename_lookup+0xda/0x240<br />
[ 205.495747] vfs_fstatat+0x7b/0xb0<br />
<br />
Fetch a reproducer in [Link].<br />
<br />
Use the helper ovl_i_path_realinode() to get realinode and then do<br />
non-nullptr checking.



