CVE-2024-53167

Source
https://nvd.nist.gov/vuln/detail/CVE-2024-53167
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-53167.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2024-53167
Downstream
Related
Published
2024-12-27T13:49:13Z
Modified
2025-10-15T19:01:08.450320Z
Summary
nfs/blocklayout: Don't attempt unregister for invalid block device
Details

In the Linux kernel, the following vulnerability has been resolved:

nfs/blocklayout: Don't attempt unregister for invalid block device

Since commit d869da91cccb ("nfs/blocklayout: Fix premature PR key unregistration") an unmount of a pNFS SCSI layout-enabled NFS may dereference a NULL block_device in:

blunregisterscsi+0x16/0xe0 [blocklayoutdriver] blfreedevice+0x70/0x80 [blocklayoutdriver] blfreedeviceidnode+0x12/0x30 [blocklayoutdriver] nfs4putdeviceidnode+0x60/0xc0 [nfsv4] nfs4deviceidpurgeclient+0x132/0x190 [nfsv4] unsetpnfslayoutdriver+0x59/0x60 [nfsv4] nfs4destroyserver+0x36/0x70 [nfsv4] nfsfreeserver+0x23/0xe0 [nfs] deactivatelockedsuper+0x30/0xb0 cleanupmnt+0xba/0x150 taskworkrun+0x59/0x90 syscallexittousermode+0x217/0x220 dosyscall64+0x8e/0x160

This happens because even though we were able to create the nfs4deviceidnode, the lookup for the device was unable to attach the block device to the pnfsblockdev.

If we never found a block device to register, we can avoid this case with the PNFSBDEVREGISTERED flag. Move the deref behind the test for the flag.

References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
d869da91cccb90320e101a2758f1e2b3803ade5c
Fixed
3402704a424f34bbcca7f4a4503859357f422217
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
d869da91cccb90320e101a2758f1e2b3803ade5c
Fixed
faa4bacfaeed827a4ca8cb8529a3ce65a9e8ef46
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
d869da91cccb90320e101a2758f1e2b3803ade5c
Fixed
3a4ce14d9a6b868e0787e4582420b721c04ee41e

Affected versions

v6.*

v6.10
v6.11
v6.11-rc1
v6.11-rc2
v6.11-rc3
v6.11-rc4
v6.11-rc5
v6.11-rc6
v6.11-rc7
v6.11.1
v6.11.10
v6.11.2
v6.11.3
v6.11.4
v6.11.5
v6.11.6
v6.11.7
v6.11.8
v6.11.9
v6.12
v6.12-rc1
v6.12-rc2
v6.12-rc3
v6.12-rc4
v6.12-rc5
v6.12-rc6
v6.12-rc7
v6.12.1

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
6.11.0
Fixed
6.11.11
Type
ECOSYSTEM
Events
Introduced
6.12.0
Fixed
6.12.2