{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2023-53511", "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "state": "PUBLISHED", "assignerShortName": "Linux", "dateReserved": "2025-10-01T11:39:39.406Z", "datePublished": "2025-10-01T11:46:00.185Z", "dateUpdated": "2026-05-23T15:29:17.822Z" }, "containers": { "cna": { "providerMetadata": { "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux", "dateUpdated": "2026-05-23T15:29:17.822Z" }, "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nio_uring: fix fget leak when fs don't support nowait buffered read\n\nHeming reported a BUG when using io_uring doing link-cp on ocfs2. [1]\n\nDo the following steps can reproduce this BUG:\nmount -t ocfs2 /dev/vdc /mnt/ocfs2\ncp testfile /mnt/ocfs2/\n./link-cp /mnt/ocfs2/testfile /mnt/ocfs2/testfile.1\numount /mnt/ocfs2\n\nThen umount will fail, and it outputs:\numount: /mnt/ocfs2: target is busy.\n\nWhile tracing umount, it blames mnt_get_count() not return as expected.\nDo a deep investigation for fget()/fput() on related code flow, I've\nfinally found that fget() leaks since ocfs2 doesn't support nowait\nbuffered read.\n\nio_issue_sqe\n|-io_assign_file // do fget() first\n |-io_read\n |-io_iter_do_read\n |-ocfs2_file_read_iter // return -EOPNOTSUPP\n |-kiocb_done\n |-io_rw_done\n |-__io_complete_rw_common // set REQ_F_REISSUE\n |-io_resubmit_prep\n |-io_req_prep_async // override req->file, leak happens\n\nThis was introduced by commit a196c78b5443 in v5.18. Fix it by don't\nre-assign req->file if it has already been assigned.\n\n[1] https://lore.kernel.org/ocfs2-devel/ab580a75-91c8-d68a-3455-40361be1bfa8@linux.alibaba.com/T/#t" } ], "affected": [ { "product": "Linux", "vendor": "Linux", "defaultStatus": "unaffected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "io_uring/io_uring.c" ], "versions": [ { "version": "a196c78b5443fc61af2c0490213b9d125482cbd1", "lessThan": "75a499fc9d66a32271e2b3e4ca71156e8ad3b484", "status": "affected", "versionType": "git" }, { "version": "a196c78b5443fc61af2c0490213b9d125482cbd1", "lessThan": "10fb2e16ee6ffaf1716b9e90d007e6b300bfa457", "status": "affected", "versionType": "git" }, { "version": "a196c78b5443fc61af2c0490213b9d125482cbd1", "lessThan": "54aa7f2330b82884f4a1afce0220add6e8312f8b", "status": "affected", "versionType": "git" }, { "version": "cef27a7d36026bd3c86f4fdfb4611ebbe2814af4", "status": "affected", "versionType": "git" }, { "version": "5.17.9", "lessThan": "5.18", "status": "affected", "versionType": "semver" } ] }, { "product": "Linux", "vendor": "Linux", "defaultStatus": "affected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "io_uring/io_uring.c" ], "versions": [ { "version": "5.18", "status": "affected" }, { "version": "0", "lessThan": "5.18", "status": "unaffected", "versionType": "semver" }, { "version": "6.1.16", "lessThanOrEqual": "6.1.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.2.3", "lessThanOrEqual": "6.2.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.3", "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.18", "versionEndExcluding": "6.1.16" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.18", "versionEndExcluding": "6.2.3" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.18", "versionEndExcluding": "6.3" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.17.9" } ] } ] } ], "references": [ { "url": "https://git.kernel.org/stable/c/75a499fc9d66a32271e2b3e4ca71156e8ad3b484" }, { "url": "https://git.kernel.org/stable/c/10fb2e16ee6ffaf1716b9e90d007e6b300bfa457" }, { "url": "https://git.kernel.org/stable/c/54aa7f2330b82884f4a1afce0220add6e8312f8b" } ], "title": "io_uring: fix fget leak when fs don't support nowait buffered read", "x_generator": { "engine": "bippy-1.2.0" } } } }