f2fs: fix valid block count leak on data block allocation failure
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.12.110, 6.18.51, 7.2.5
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: f2fs: fix valid block count leak on data block allocation failure In __allocate_data_block(), when allocating a new data block (dn->data_blkaddr == NULL_ADDR), inc_valid_block_count() is called first to increment total_valid_block_count and i_blocks. If the subsequent f2fs_allocate_data_block() fails, the function returns the error directly without rolling back the already-incremented block counts, causing a permanent leak. Fix this by calling dec_valid_block_count() to undo the increment before returning the error. The condition old_blkaddr == NULL_ADDR precisely identifies the case where inc_valid_block_count() was called.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 7d009e048d7cfcc21d400f2aba4c8bacbdebbd47 · fixed in 2d50b6d47e5671ff6a25834c5906d443356191f0; From 7d009e048d7cfcc21d400f2aba4c8bacbdebbd47 · fixed in dde99df5a9d3b0ca6ac0a86f98799685f7399432; From 7d009e048d7cfcc21d400f2aba4c8bacbdebbd47 · fixed in 931e1aa4d44c52ff8e0feb38420a8827c62e886b; From 7d009e048d7cfcc21d400f2aba4c8bacbdebbd47 · fixed in 0f9af07ecc1ab486038373db6ae0436c5d674b19
- Linux Linux
6.9
- KernelLinux
From 6.9.0 · fixed in 6.12.110; From 6.13.0 · fixed in 6.18.51; From 6.19.0 · fixed in 7.2.5