{"id":"CVE-2025-68823","state":"PUBLISHED","title":"ublk: fix deadlock when reading partition table","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nublk: fix deadlock when reading partition table\n\nWhen one process(such as udev) opens ublk block device (e.g., to read\nthe partition table via bdev_open()), a deadlock[1] can occur:\n\n1. bdev_open() grabs disk->open_mutex\n2. The process issues read I/O to ublk backend to read partition table\n3. In __ublk_complete_rq(), blk_update_request() or blk_mq_end_request()\n   runs bio->bi_end_io() callbacks\n4. If this triggers fput() on file descriptor of ublk block device, the\n   work may be deferred to current task's task work (see fput() implementation)\n5. This eventually calls blkdev_release() from the same context\n6. blkdev_release() tries to grab disk->open_mutex again\n7. Deadlock: same task waiting for a mutex it already holds\n\nThe fix is to run blk_update_request() and blk_mq_end_request() with bottom\nhalves disabled. This forces blkdev_release() to run in kernel work-queue\ncontext instead of current task work context, and allows ublk server to make\nforward progress, and avoids the deadlock.\n\n[axboe: rewrite comment in ublk]","publishedAt":"2026-01-13T15:29:25.392Z","updatedAt":"2026-06-01T16:05:45.871Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"71f28f3136aff5890cd56de78abc673f8393cad9","status":"affected","lessThan":"27bb79b7717b2fbb111a1c13548b2786ee712dca","versionType":"git"},{"version":"71f28f3136aff5890cd56de78abc673f8393cad9","status":"affected","lessThan":"64c0b7e2293757e8320f13434cd809f1c9257a62","versionType":"git"},{"version":"71f28f3136aff5890cd56de78abc673f8393cad9","status":"affected","lessThan":"9bcc47343ee0ef346aa7b2b460c8ff56bd882fe7","versionType":"git"},{"version":"71f28f3136aff5890cd56de78abc673f8393cad9","status":"affected","lessThan":"0460e09a614291f06c008443f47393c37b7358e7","versionType":"git"},{"version":"71f28f3136aff5890cd56de78abc673f8393cad9","status":"affected","lessThan":"c258f5c4502c9667bccf5d76fa731ab9c96687c1","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/block/ublk_drv.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.0","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.0","versionType":"semver"},{"version":"6.1.175","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.124","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.70","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.3","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/block/ublk_drv.c"]}],"references":["https://git.kernel.org/stable/c/27bb79b7717b2fbb111a1c13548b2786ee712dca","https://git.kernel.org/stable/c/64c0b7e2293757e8320f13434cd809f1c9257a62","https://git.kernel.org/stable/c/9bcc47343ee0ef346aa7b2b460c8ff56bd882fe7","https://git.kernel.org/stable/c/0460e09a614291f06c008443f47393c37b7358e7","https://git.kernel.org/stable/c/c258f5c4502c9667bccf5d76fa731ab9c96687c1"],"weaknesses":[],"ingestedAt":"2026-10-29T20:09:56.034Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2025/68xxx/CVE-2025-68823.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2025-68823","state":"PUBLISHED","datePublished":"2026-01-13T15:29:25.392Z","dateUpdated":"2026-06-01T16:05:45.871Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-12-24T10:30:51.048Z"},"containers":{"cna":{"title":"ublk: fix deadlock when reading partition table","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nublk: fix deadlock when reading partition table\n\nWhen one process(such as udev) opens ublk block device (e.g., to read\nthe partition table via bdev_open()), a deadlock[1] can occur:\n\n1. bdev_open() grabs disk->open_mutex\n2. The process issues read I/O to ublk backend to read partition table\n3. In __ublk_complete_rq(), blk_update_request() or blk_mq_end_request()\n   runs bio->bi_end_io() callbacks\n4. If this triggers fput() on file descriptor of ublk block device, the\n   work may be deferred to current task's task work (see fput() implementation)\n5. This eventually calls blkdev_release() from the same context\n6. blkdev_release() tries to grab disk->open_mutex again\n7. Deadlock: same task waiting for a mutex it already holds\n\nThe fix is to run blk_update_request() and blk_mq_end_request() with bottom\nhalves disabled. This forces blkdev_release() to run in kernel work-queue\ncontext instead of current task work context, and allows ublk server to make\nforward progress, and avoids the deadlock.\n\n[axboe: rewrite comment in ublk]"}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"71f28f3136aff5890cd56de78abc673f8393cad9","status":"affected","lessThan":"27bb79b7717b2fbb111a1c13548b2786ee712dca","versionType":"git"},{"version":"71f28f3136aff5890cd56de78abc673f8393cad9","status":"affected","lessThan":"64c0b7e2293757e8320f13434cd809f1c9257a62","versionType":"git"},{"version":"71f28f3136aff5890cd56de78abc673f8393cad9","status":"affected","lessThan":"9bcc47343ee0ef346aa7b2b460c8ff56bd882fe7","versionType":"git"},{"version":"71f28f3136aff5890cd56de78abc673f8393cad9","status":"affected","lessThan":"0460e09a614291f06c008443f47393c37b7358e7","versionType":"git"},{"version":"71f28f3136aff5890cd56de78abc673f8393cad9","status":"affected","lessThan":"c258f5c4502c9667bccf5d76fa731ab9c96687c1","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/block/ublk_drv.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.0","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.0","versionType":"semver"},{"version":"6.1.175","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.124","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.70","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.3","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/block/ublk_drv.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/27bb79b7717b2fbb111a1c13548b2786ee712dca"},{"url":"https://git.kernel.org/stable/c/64c0b7e2293757e8320f13434cd809f1c9257a62"},{"url":"https://git.kernel.org/stable/c/9bcc47343ee0ef346aa7b2b460c8ff56bd882fe7"},{"url":"https://git.kernel.org/stable/c/0460e09a614291f06c008443f47393c37b7358e7"},{"url":"https://git.kernel.org/stable/c/c258f5c4502c9667bccf5d76fa731ab9c96687c1"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-06-01T16:05:45.871Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.0","versionEndExcluding":"6.1.175"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.0","versionEndExcluding":"6.6.124"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.0","versionEndExcluding":"6.12.70"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.0","versionEndExcluding":"6.18.3"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.0","versionEndExcluding":"6.19"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}