{"id":"CVE-2025-40125","state":"PUBLISHED","title":"blk-mq: check kobject state_in_sysfs before deleting in blk_mq_unregister_hctx","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nblk-mq: check kobject state_in_sysfs before deleting in blk_mq_unregister_hctx\n\nIn __blk_mq_update_nr_hw_queues() the return value of\nblk_mq_sysfs_register_hctxs() is not checked. If sysfs creation for hctx\nfails, later changing the number of hw_queues or removing disk will\ntrigger the following warning:\n\n  kernfs: can not remove 'nr_tags', no directory\n  WARNING: CPU: 2 PID: 637 at fs/kernfs/dir.c:1707 kernfs_remove_by_name_ns+0x13f/0x160\n  Call Trace:\n   remove_files.isra.1+0x38/0xb0\n   sysfs_remove_group+0x4d/0x100\n   sysfs_remove_groups+0x31/0x60\n   __kobject_del+0x23/0xf0\n   kobject_del+0x17/0x40\n   blk_mq_unregister_hctx+0x5d/0x80\n   blk_mq_sysfs_unregister_hctxs+0x94/0xd0\n   blk_mq_update_nr_hw_queues+0x124/0x760\n   nullb_update_nr_hw_queues+0x71/0xf0 [null_blk]\n   nullb_device_submit_queues_store+0x92/0x120 [null_blk]\n\nkobjct_del() was called unconditionally even if sysfs creation failed.\nFix it by checkig the kobject creation statusbefore deleting it.","publishedAt":"2025-11-12T10:23:20.180Z","updatedAt":"2026-05-11T21:43:15.313Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"477e19dedc9d3e1f4443a1d4ae00572a988120ea","status":"affected","lessThan":"a8c53553f1833cc2d14175d2d72cf37193a01898","versionType":"git"},{"version":"477e19dedc9d3e1f4443a1d4ae00572a988120ea","status":"affected","lessThan":"cc14ea21c4e658814d737ed4dedde6cd626a15ad","versionType":"git"},{"version":"477e19dedc9d3e1f4443a1d4ae00572a988120ea","status":"affected","lessThan":"4b97e99b87a773d52699521d40864f3ec888e9a6","versionType":"git"},{"version":"477e19dedc9d3e1f4443a1d4ae00572a988120ea","status":"affected","lessThan":"6e7dadc5763c48eb3b9b91265a21f312599ebb2c","versionType":"git"},{"version":"477e19dedc9d3e1f4443a1d4ae00572a988120ea","status":"affected","lessThan":"06c4826b1d900611096e4621e93133db57e13911","versionType":"git"},{"version":"477e19dedc9d3e1f4443a1d4ae00572a988120ea","status":"affected","lessThan":"babc634e9fe2803962dba98a07587e835dbc0731","versionType":"git"},{"version":"477e19dedc9d3e1f4443a1d4ae00572a988120ea","status":"affected","lessThan":"d5ddd76ee52bdc16e9f8b1e7791291e785dab032","versionType":"git"},{"version":"477e19dedc9d3e1f4443a1d4ae00572a988120ea","status":"affected","lessThan":"4c7ef92f6d4d08a27d676e4c348f4e2922cab3ed","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["block/blk-mq-sysfs.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.20","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.20","versionType":"semver"},{"version":"5.4.301","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.246","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.195","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.156","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.112","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.53","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.17.3","status":"unaffected","lessThanOrEqual":"6.17.*","versionType":"semver"},{"version":"6.18","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["block/blk-mq-sysfs.c"]}],"references":["https://git.kernel.org/stable/c/a8c53553f1833cc2d14175d2d72cf37193a01898","https://git.kernel.org/stable/c/cc14ea21c4e658814d737ed4dedde6cd626a15ad","https://git.kernel.org/stable/c/4b97e99b87a773d52699521d40864f3ec888e9a6","https://git.kernel.org/stable/c/6e7dadc5763c48eb3b9b91265a21f312599ebb2c","https://git.kernel.org/stable/c/06c4826b1d900611096e4621e93133db57e13911","https://git.kernel.org/stable/c/babc634e9fe2803962dba98a07587e835dbc0731","https://git.kernel.org/stable/c/d5ddd76ee52bdc16e9f8b1e7791291e785dab032","https://git.kernel.org/stable/c/4c7ef92f6d4d08a27d676e4c348f4e2922cab3ed"],"weaknesses":[],"ingestedAt":"2026-10-29T20:09:09.358Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2025/40xxx/CVE-2025-40125.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2025-40125","state":"PUBLISHED","datePublished":"2025-11-12T10:23:20.180Z","dateUpdated":"2026-05-11T21:43:15.313Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-04-16T07:20:57.169Z"},"containers":{"cna":{"title":"blk-mq: check kobject state_in_sysfs before deleting in blk_mq_unregister_hctx","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nblk-mq: check kobject state_in_sysfs before deleting in blk_mq_unregister_hctx\n\nIn __blk_mq_update_nr_hw_queues() the return value of\nblk_mq_sysfs_register_hctxs() is not checked. If sysfs creation for hctx\nfails, later changing the number of hw_queues or removing disk will\ntrigger the following warning:\n\n  kernfs: can not remove 'nr_tags', no directory\n  WARNING: CPU: 2 PID: 637 at fs/kernfs/dir.c:1707 kernfs_remove_by_name_ns+0x13f/0x160\n  Call Trace:\n   remove_files.isra.1+0x38/0xb0\n   sysfs_remove_group+0x4d/0x100\n   sysfs_remove_groups+0x31/0x60\n   __kobject_del+0x23/0xf0\n   kobject_del+0x17/0x40\n   blk_mq_unregister_hctx+0x5d/0x80\n   blk_mq_sysfs_unregister_hctxs+0x94/0xd0\n   blk_mq_update_nr_hw_queues+0x124/0x760\n   nullb_update_nr_hw_queues+0x71/0xf0 [null_blk]\n   nullb_device_submit_queues_store+0x92/0x120 [null_blk]\n\nkobjct_del() was called unconditionally even if sysfs creation failed.\nFix it by checkig the kobject creation statusbefore deleting it."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"477e19dedc9d3e1f4443a1d4ae00572a988120ea","status":"affected","lessThan":"a8c53553f1833cc2d14175d2d72cf37193a01898","versionType":"git"},{"version":"477e19dedc9d3e1f4443a1d4ae00572a988120ea","status":"affected","lessThan":"cc14ea21c4e658814d737ed4dedde6cd626a15ad","versionType":"git"},{"version":"477e19dedc9d3e1f4443a1d4ae00572a988120ea","status":"affected","lessThan":"4b97e99b87a773d52699521d40864f3ec888e9a6","versionType":"git"},{"version":"477e19dedc9d3e1f4443a1d4ae00572a988120ea","status":"affected","lessThan":"6e7dadc5763c48eb3b9b91265a21f312599ebb2c","versionType":"git"},{"version":"477e19dedc9d3e1f4443a1d4ae00572a988120ea","status":"affected","lessThan":"06c4826b1d900611096e4621e93133db57e13911","versionType":"git"},{"version":"477e19dedc9d3e1f4443a1d4ae00572a988120ea","status":"affected","lessThan":"babc634e9fe2803962dba98a07587e835dbc0731","versionType":"git"},{"version":"477e19dedc9d3e1f4443a1d4ae00572a988120ea","status":"affected","lessThan":"d5ddd76ee52bdc16e9f8b1e7791291e785dab032","versionType":"git"},{"version":"477e19dedc9d3e1f4443a1d4ae00572a988120ea","status":"affected","lessThan":"4c7ef92f6d4d08a27d676e4c348f4e2922cab3ed","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["block/blk-mq-sysfs.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.20","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.20","versionType":"semver"},{"version":"5.4.301","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.246","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.195","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.156","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.112","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.53","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.17.3","status":"unaffected","lessThanOrEqual":"6.17.*","versionType":"semver"},{"version":"6.18","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["block/blk-mq-sysfs.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/a8c53553f1833cc2d14175d2d72cf37193a01898"},{"url":"https://git.kernel.org/stable/c/cc14ea21c4e658814d737ed4dedde6cd626a15ad"},{"url":"https://git.kernel.org/stable/c/4b97e99b87a773d52699521d40864f3ec888e9a6"},{"url":"https://git.kernel.org/stable/c/6e7dadc5763c48eb3b9b91265a21f312599ebb2c"},{"url":"https://git.kernel.org/stable/c/06c4826b1d900611096e4621e93133db57e13911"},{"url":"https://git.kernel.org/stable/c/babc634e9fe2803962dba98a07587e835dbc0731"},{"url":"https://git.kernel.org/stable/c/d5ddd76ee52bdc16e9f8b1e7791291e785dab032"},{"url":"https://git.kernel.org/stable/c/4c7ef92f6d4d08a27d676e4c348f4e2922cab3ed"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T21:43:15.313Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.20","versionEndExcluding":"5.4.301"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.20","versionEndExcluding":"5.10.246"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.20","versionEndExcluding":"5.15.195"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.20","versionEndExcluding":"6.1.156"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.20","versionEndExcluding":"6.6.112"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.20","versionEndExcluding":"6.12.53"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.20","versionEndExcluding":"6.17.3"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.20","versionEndExcluding":"6.18"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}