{"uuid": "e315762c-2a17-4198-9261-8b31a70f2c96", "vulnerability_lookup_origin": "1a89b78e-f703-45f3-bb86-59eb712668bd", "author": "2a075640-a300-48a4-bb44-bc6130783b9b", "vulnerability": "CVE-2024-47669", "type": "seen", "source": "https://t.me/cvedetector/7488", "content": "{\n  \"Source\": \"CVE FEED\",\n  \"Title\": \"CVE-2024-47669 - \"Nilfs2 Linux Kernel Log Writing Function Error Handling Vulnerability\"\", \n  \"Content\": \"CVE ID : CVE-2024-47669 \nPublished : Oct. 9, 2024, 3:15 p.m. | 39\u00a0minutes ago \nDescription : In the Linux kernel, the following vulnerability has been resolved:  \n  \nnilfs2: fix state management in error path of log writing function  \n  \nAfter commit a694291a6211 (\"nilfs2: separate wait function from  \nnilfs_segctor_write\") was applied, the log writing function  \nnilfs_segctor_do_construct() was able to issue I/O requests continuously  \neven if user data blocks were split into multiple logs across segments,  \nbut two potential flaws were introduced in its error handling.  \n  \nFirst, if nilfs_segctor_begin_construction() fails while creating the  \nsecond or subsequent logs, the log writing function returns without  \ncalling nilfs_segctor_abort_construction(), so the writeback flag set on  \npages/folios will remain uncleared.  This causes page cache operations to  \nhang waiting for the writeback flag.  For example,  \ntruncate_inode_pages_final(), which is called via nilfs_evict_inode() when  \nan inode is evicted from memory, will hang.  \n  \nSecond, the NILFS_I_COLLECTED flag set on normal inodes remain uncleared.   \nAs a result, if the next log write involves checkpoint creation, that's  \nfine, but if a partial log write is performed that does not, inodes with  \nNILFS_I_COLLECTED set are erroneously removed from the \"sc_dirty_files\"  \nlist, and their data and b-tree blocks may not be written to the device,  \ncorrupting the block mapping.  \n  \nFix these issues by uniformly calling nilfs_segctor_abort_construction()  \non failure of each step in the loop in nilfs_segctor_do_construct(),  \nhaving it clean up logs and segment usages according to progress, and  \ncorrecting the conditions for calling nilfs_redirty_inodes() to ensure  \nthat the NILFS_I_COLLECTED flag is cleared. \nSeverity: 0.0 | NA \nVisit the link for more details, such as CVSS details, affected products, timeline, and more...\",\n  \"Detection Date\": \"09 Oct 2024\",\n  \"Type\": \"Vulnerability\"\n}\n\ud83d\udd39 t.me/cvedetector \ud83d\udd39", "creation_timestamp": "2024-10-09T18:09:43.000000Z"}