{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2023-52852","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2024-05-21T15:19:24.255Z","datePublished":"2024-05-21T15:31:47.889Z","dateUpdated":"2026-08-05T09:11:41.937Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T09:11:41.937Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nf2fs: compress: fix to avoid use-after-free on dic\n\nCall trace:\n __memcpy+0x128/0x250\n f2fs_read_multi_pages+0x940/0xf7c\n f2fs_mpage_readpages+0x5a8/0x624\n f2fs_readahead+0x5c/0x110\n page_cache_ra_unbounded+0x1b8/0x590\n do_sync_mmap_readahead+0x1dc/0x2e4\n filemap_fault+0x254/0xa8c\n f2fs_filemap_fault+0x2c/0x104\n __do_fault+0x7c/0x238\n do_handle_mm_fault+0x11bc/0x2d14\n do_mem_abort+0x3a8/0x1004\n el0_da+0x3c/0xa0\n el0t_64_sync_handler+0xc4/0xec\n el0t_64_sync+0x1b4/0x1b8\n\nIn f2fs_read_multi_pages(), once f2fs_decompress_cluster() was called if\nwe hit cached page in compress_inode's cache, dic may be released, it needs\nbreak the loop rather than continuing it, in order to avoid accessing\ninvalid dic pointer."}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - The UAF is reached via local VFS read/mmap fault → f2fs_readahead → f2fs_mpage_readpages → f2fs_read_multi_pages on a compression-enabled f2fs inode; no network or adjacent protocol handler exercises this path.\nAC:L - An unprivileged attacker can reliably prime compress_inode cache (read compressed data, then posix_fadvise/DONTNEED or reclaim pagecache) and re-fault so f2fs_load_compressed_page hits and frees dic; no condition outside attacker control is required on Android deployments that already mount with compress_cache.\nPR:L - Only an unprivileged local account with read access to a compressed f2fs file is needed (e.g. an app mmapping its own compress_extension=apk file on Android /data); no capabilities are checked on the fault/readahead path.\nUI:N - The attacker triggers the bug themselves by reading/mmapping their own compressed file on an already-mounted f2fs volume; no separate victim action is required.\nS:U - Impact is confined to the host kernel heap and f2fs pagecache under the same security authority; this is standard kernel privilege escalation with no VM/IOMMU/sandbox boundary crossed.\nC:H - Use-after-free of decompress_io_ctx (and its cpages) after f2fs_decompress_cluster frees dic enables heap reuse and arbitrary kernel read primitives per UAF scoring guidance.\nI:H - Continuing the loop after dic is freed yields UAF writes (including memcpy into reclaimed cpage memory), enabling heap spray and control-flow hijack primitives typical of kernel UAFs.\nA:H - The reported call trace is a kernel fault in __memcpy while touching the freed dic/cpages path, so the bug causes oops/panic even when not fully exploited."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/f2fs/data.c"],"versions":[{"version":"6ce19aff0b8cd386860855185c6cd79337fc4d2b","lessThan":"8c4504cc0c64862740a6acb301e0cfa59580dbc5","status":"affected","versionType":"git"},{"version":"6ce19aff0b8cd386860855185c6cd79337fc4d2b","lessThan":"9375ea7f269093d7c884857ae1f47633a91f429c","status":"affected","versionType":"git"},{"version":"6ce19aff0b8cd386860855185c6cd79337fc4d2b","lessThan":"932ddb5c29e884cc6fac20417ece72ba4a35c401","status":"affected","versionType":"git"},{"version":"6ce19aff0b8cd386860855185c6cd79337fc4d2b","lessThan":"9d065aa52b6ee1b06f9c4eca881c9b4425a12ba2","status":"affected","versionType":"git"},{"version":"6ce19aff0b8cd386860855185c6cd79337fc4d2b","lessThan":"b0327c84e91a0f4f0abced8cb83ec86a7083f086","status":"affected","versionType":"git"},{"version":"a23706426da9b611be5beae0f3faa260fb453b4e","status":"affected","versionType":"git"},{"version":"5.13.19","lessThan":"5.14","status":"affected","versionType":"semver"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/f2fs/data.c"],"versions":[{"version":"5.14","status":"affected"},{"version":"0","lessThan":"5.14","status":"unaffected","versionType":"semver"},{"version":"5.15.139","lessThanOrEqual":"5.15.*","status":"unaffected","versionType":"semver"},{"version":"6.1.63","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.5.12","lessThanOrEqual":"6.5.*","status":"unaffected","versionType":"semver"},{"version":"6.6.2","lessThanOrEqual":"6.6.*","status":"unaffected","versionType":"semver"},{"version":"6.7","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.14","versionEndExcluding":"5.15.139"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.14","versionEndExcluding":"6.1.63"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.14","versionEndExcluding":"6.5.12"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.14","versionEndExcluding":"6.6.2"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.14","versionEndExcluding":"6.7"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.13.19"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/8c4504cc0c64862740a6acb301e0cfa59580dbc5"},{"url":"https://git.kernel.org/stable/c/9375ea7f269093d7c884857ae1f47633a91f429c"},{"url":"https://git.kernel.org/stable/c/932ddb5c29e884cc6fac20417ece72ba4a35c401"},{"url":"https://git.kernel.org/stable/c/9d065aa52b6ee1b06f9c4eca881c9b4425a12ba2"},{"url":"https://git.kernel.org/stable/c/b0327c84e91a0f4f0abced8cb83ec86a7083f086"}],"title":"f2fs: compress: fix to avoid use-after-free on dic","x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2023-52852","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"version":"2.0.3","timestamp":"2024-05-29T17:16:38.626939Z"}}}],"providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2024-06-04T17:24:10.682Z"}},{"providerMetadata":{"orgId":"af854a3a-2127-422b-91ae-364da2661108","shortName":"CVE","dateUpdated":"2024-08-02T23:11:36.038Z"},"title":"CVE Program Container","references":[{"url":"https://git.kernel.org/stable/c/8c4504cc0c64862740a6acb301e0cfa59580dbc5","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/9375ea7f269093d7c884857ae1f47633a91f429c","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/932ddb5c29e884cc6fac20417ece72ba4a35c401","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/9d065aa52b6ee1b06f9c4eca881c9b4425a12ba2","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/b0327c84e91a0f4f0abced8cb83ec86a7083f086","tags":["x_transferred"]}]}]}}