> S_SHIFT", but the nilfs_set_de_type() function, which uses this array, specifies the index to read from the array in the same way as "(mode & S_IFMT) >> S_SHIFT". static void nilfs_set_de_type(struct nilfs_dir_entry *de, struct inode *inode) { umode_t mode = inode->i_mode; de->file_type = nilfs_type_by_mode[(mode & S_IFMT)>>S_SHIFT]; // oob } However, when the index is determined this way, an out-of-bounds (OOB) error occurs by referring to an index that is 1 larger than the array size when the condition "mode & S_IFMT == S_IFMT" is satisfied. Therefore, a patch to resize the nilfs_type_by_mode array should be applied to prevent OOB errors. "> >,S_SHIFT",,but,the,nilfs_set_de_type(),function,,which,uses this,array,,specifies,the,index,to,read,from,the,array,in,the,same,way as,"(mode,&,S_IFMT),>>,S_SHIFT".,static,void,nilfs_set_de_type(struct nilfs_dir_entry,*de,,struct,inode,*inode),{,umode_t,mode,= inode->i_mode;,de->file_type,=,nilfs_type_by_mode[(mode,& S_IFMT)>>S_SHIFT];,//,oob,},However,,when,the,index,is,determined,this way,,an,out-of-bounds,(OOB),error,occurs,by,referring,to,an,index,that is,1,larger,than,the,array,size,when,the,condition,"mode,&,S_IFMT,== S_IFMT",is,satisfied.,Therefore,,a,patch,to,resize,the nilfs_type_by_mode,array,should,be,applied,to,prevent,OOB,errors. "> SecuritySpace - CVE-2024-26981
 
 
 Vulnerability   
Search   
    Search 324607 CVE descriptions
and 145615 test descriptions,
access 10,000+ cross references.
Tests   CVE   All  

CVE ID:CVE-2024-26981
Description:In the Linux kernel, the following vulnerability has been resolved: nilfs2: fix OOB in nilfs_set_de_type The size of the nilfs_type_by_mode array in the fs/nilfs2/dir.c file is defined as "S_IFMT >> S_SHIFT", but the nilfs_set_de_type() function, which uses this array, specifies the index to read from the array in the same way as "(mode & S_IFMT) >> S_SHIFT". static void nilfs_set_de_type(struct nilfs_dir_entry *de, struct inode *inode) { umode_t mode = inode->i_mode; de->file_type = nilfs_type_by_mode[(mode & S_IFMT)>>S_SHIFT]; // oob } However, when the index is determined this way, an out-of-bounds (OOB) error occurs by referring to an index that is 1 larger than the array size when the condition "mode & S_IFMT == S_IFMT" is satisfied. Therefore, a patch to resize the nilfs_type_by_mode array should be applied to prevent OOB errors.
Test IDs: None available
Cross References: Common Vulnerability Exposure (CVE) ID: CVE-2024-26981
https://git.kernel.org/stable/c/054f29e9ca05be3906544c5f2a2c7321c30a4243
https://git.kernel.org/stable/c/054f29e9ca05be3906544c5f2a2c7321c30a4243
https://git.kernel.org/stable/c/2382eae66b196c31893984a538908c3eb7506ff9
https://git.kernel.org/stable/c/2382eae66b196c31893984a538908c3eb7506ff9
https://git.kernel.org/stable/c/7061c7efbb9e8f11ce92d6b4646405ea2b0b4de1
https://git.kernel.org/stable/c/7061c7efbb9e8f11ce92d6b4646405ea2b0b4de1
https://git.kernel.org/stable/c/897ac5306bbeb83e90c437326f7044c79a17c611
https://git.kernel.org/stable/c/897ac5306bbeb83e90c437326f7044c79a17c611
https://git.kernel.org/stable/c/90823f8d9ecca3d5fa6b102c8e464c62f416975f
https://git.kernel.org/stable/c/90823f8d9ecca3d5fa6b102c8e464c62f416975f
https://git.kernel.org/stable/c/90f43980ea6be4ad903e389be9a27a2a0018f1c8
https://git.kernel.org/stable/c/90f43980ea6be4ad903e389be9a27a2a0018f1c8
https://git.kernel.org/stable/c/bdbe483da21f852c93b22557b146bc4d989260f0
https://git.kernel.org/stable/c/bdbe483da21f852c93b22557b146bc4d989260f0
https://git.kernel.org/stable/c/c4a7dc9523b59b3e73fd522c73e95e072f876b16
https://git.kernel.org/stable/c/c4a7dc9523b59b3e73fd522c73e95e072f876b16




© 1998-2025 E-Soft Inc. All rights reserved.