{"id":"CVE-2024-53136","state":"PUBLISHED","title":"mm: revert \"mm: shmem: fix data-race in shmem_getattr()\"","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nmm: revert \"mm: shmem: fix data-race in shmem_getattr()\"\n\nRevert d949d1d14fa2 (\"mm: shmem: fix data-race in shmem_getattr()\") as\nsuggested by Chuck [1].  It is causing deadlocks when accessing tmpfs over\nNFS.\n\nAs Hugh commented, \"added just to silence a syzbot sanitizer splat: added\nwhere there has never been any practical problem\".","publishedAt":"2024-12-04T14:20:41.634Z","updatedAt":"2026-08-05T11:44:00.526Z","severity":{"score":7.5,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"9fb9703cd43ee20a6de8ccdef991677b7274cec0","status":"affected","lessThan":"36b537e8f302f670c7cf35d88a3a294443e32d52","versionType":"git"},{"version":"7cc30ada84323be19395094d567579536e0d187e","status":"affected","lessThan":"a3c65022d89d5baa2cea8e87a6de983ea305f14c","versionType":"git"},{"version":"bda1a99a0dd644f31a87d636ac624eeb975cb65a","status":"affected","lessThan":"57cc8d253099d1b8627f0fb487ee011d9158ccc9","versionType":"git"},{"version":"3d9528484480e8f4979b3a347930ed383be99f89","status":"affected","lessThan":"d3f9d88c2c03b2646ace336236adca19f7697bd3","versionType":"git"},{"version":"82cae1e30bd940253593c2d4f16d88343d1358f4","status":"affected","lessThan":"5874c1150e77296565ad6e495ef41fbf87570d14","versionType":"git"},{"version":"edd1f905050686fdc4cfe233d818469fdf7d5ff8","status":"affected","lessThan":"64e67e8694252c1bf01b802ee911be3fee62c36b","versionType":"git"},{"version":"ffd56612566bc23877c8f45def2801f3324a222a","status":"affected","lessThan":"901dc2ad7c3789fa87dc3956f6697c5d62d5cf7e","versionType":"git"},{"version":"d949d1d14fa281ace388b1de978e8f2cd52875cf","status":"affected","lessThan":"d1aa0c04294e29883d65eac6c2f72fe95cc7c049","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["mm/shmem.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"4.19.323","status":"affected","lessThan":"4.19.325","versionType":"semver"},{"version":"5.4.285","status":"affected","lessThan":"5.4.287","versionType":"semver"},{"version":"5.10.229","status":"affected","lessThan":"5.10.231","versionType":"semver"},{"version":"5.15.171","status":"affected","lessThan":"5.15.174","versionType":"semver"},{"version":"6.1.116","status":"affected","lessThan":"6.1.119","versionType":"semver"},{"version":"6.6.60","status":"affected","lessThan":"6.6.63","versionType":"semver"},{"version":"6.11.7","status":"affected","lessThan":"6.11.10","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["mm/shmem.c"]}],"references":["https://git.kernel.org/stable/c/36b537e8f302f670c7cf35d88a3a294443e32d52","https://git.kernel.org/stable/c/a3c65022d89d5baa2cea8e87a6de983ea305f14c","https://git.kernel.org/stable/c/57cc8d253099d1b8627f0fb487ee011d9158ccc9","https://git.kernel.org/stable/c/d3f9d88c2c03b2646ace336236adca19f7697bd3","https://git.kernel.org/stable/c/5874c1150e77296565ad6e495ef41fbf87570d14","https://git.kernel.org/stable/c/64e67e8694252c1bf01b802ee911be3fee62c36b","https://git.kernel.org/stable/c/901dc2ad7c3789fa87dc3956f6697c5d62d5cf7e","https://git.kernel.org/stable/c/d1aa0c04294e29883d65eac6c2f72fe95cc7c049","https://lists.debian.org/debian-lts-announce/2025/03/msg00002.html","https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html"],"weaknesses":[],"ingestedAt":"2026-10-29T20:08:04.920Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2024/53xxx/CVE-2024-53136.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2024-53136","state":"PUBLISHED","datePublished":"2024-12-04T14:20:41.634Z","dateUpdated":"2026-08-05T11:44:00.526Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2024-11-19T17:17:24.996Z"},"containers":{"cna":{"title":"mm: revert \"mm: shmem: fix data-race in shmem_getattr()\"","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nmm: revert \"mm: shmem: fix data-race in shmem_getattr()\"\n\nRevert d949d1d14fa2 (\"mm: shmem: fix data-race in shmem_getattr()\") as\nsuggested by Chuck [1].  It is causing deadlocks when accessing tmpfs over\nNFS.\n\nAs Hugh commented, \"added just to silence a syzbot sanitizer splat: added\nwhere there has never been any practical problem\"."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"9fb9703cd43ee20a6de8ccdef991677b7274cec0","status":"affected","lessThan":"36b537e8f302f670c7cf35d88a3a294443e32d52","versionType":"git"},{"version":"7cc30ada84323be19395094d567579536e0d187e","status":"affected","lessThan":"a3c65022d89d5baa2cea8e87a6de983ea305f14c","versionType":"git"},{"version":"bda1a99a0dd644f31a87d636ac624eeb975cb65a","status":"affected","lessThan":"57cc8d253099d1b8627f0fb487ee011d9158ccc9","versionType":"git"},{"version":"3d9528484480e8f4979b3a347930ed383be99f89","status":"affected","lessThan":"d3f9d88c2c03b2646ace336236adca19f7697bd3","versionType":"git"},{"version":"82cae1e30bd940253593c2d4f16d88343d1358f4","status":"affected","lessThan":"5874c1150e77296565ad6e495ef41fbf87570d14","versionType":"git"},{"version":"edd1f905050686fdc4cfe233d818469fdf7d5ff8","status":"affected","lessThan":"64e67e8694252c1bf01b802ee911be3fee62c36b","versionType":"git"},{"version":"ffd56612566bc23877c8f45def2801f3324a222a","status":"affected","lessThan":"901dc2ad7c3789fa87dc3956f6697c5d62d5cf7e","versionType":"git"},{"version":"d949d1d14fa281ace388b1de978e8f2cd52875cf","status":"affected","lessThan":"d1aa0c04294e29883d65eac6c2f72fe95cc7c049","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["mm/shmem.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"4.19.323","status":"affected","lessThan":"4.19.325","versionType":"semver"},{"version":"5.4.285","status":"affected","lessThan":"5.4.287","versionType":"semver"},{"version":"5.10.229","status":"affected","lessThan":"5.10.231","versionType":"semver"},{"version":"5.15.171","status":"affected","lessThan":"5.15.174","versionType":"semver"},{"version":"6.1.116","status":"affected","lessThan":"6.1.119","versionType":"semver"},{"version":"6.6.60","status":"affected","lessThan":"6.6.63","versionType":"semver"},{"version":"6.11.7","status":"affected","lessThan":"6.11.10","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["mm/shmem.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/36b537e8f302f670c7cf35d88a3a294443e32d52"},{"url":"https://git.kernel.org/stable/c/a3c65022d89d5baa2cea8e87a6de983ea305f14c"},{"url":"https://git.kernel.org/stable/c/57cc8d253099d1b8627f0fb487ee011d9158ccc9"},{"url":"https://git.kernel.org/stable/c/d3f9d88c2c03b2646ace336236adca19f7697bd3"},{"url":"https://git.kernel.org/stable/c/5874c1150e77296565ad6e495ef41fbf87570d14"},{"url":"https://git.kernel.org/stable/c/64e67e8694252c1bf01b802ee911be3fee62c36b"},{"url":"https://git.kernel.org/stable/c/901dc2ad7c3789fa87dc3956f6697c5d62d5cf7e"},{"url":"https://git.kernel.org/stable/c/d1aa0c04294e29883d65eac6c2f72fe95cc7c049"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","baseScore":7.5,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:N - The deadlock is triggered by nfsd processing NFS RPCs from a remote client over TCP/2049 against a tmpfs export — `nfsd_setattr()`/`nfsd_create()`/`nfsd_unlink()`/`nfsd_rename()` hold `i_rwsem` for write and then call `vfs_getattr()` on the same inode. A remote NFS client issuing a single CREATE or SETATTR hangs the server.\nAC:L - This is a deterministic recursive rwsem acquisition (`down_write` then `down_read` on the same lock by the same task), not a race — every metadata-modifying NFS operation on a tmpfs export deadlocks 100% of the time on the first attempt.\nPR:N - NFSv3/NFSv4 with AUTH_SYS performs no cryptographic authentication — a client permitted by the export simply asserts a UID, so no credentials on the server are required; a world-writable or anon-squashed tmpfs export lets an entirely unauthenticated remote peer reach `fh_fill_pre_attrs()` under the held inode lock.\nUI:N - The attacker sends the NFS request directly; no action by a local user or administrator is needed at exploit time, only the pre-existing tmpfs export configuration.\nS:U - The deadlocked task, the held `i_rwsem`, and all resulting hangs are within the kernel's own security authority; no boundary between security scopes is crossed.\nC:N - The bug is a lock-ordering/recursion deadlock with no out-of-bounds access, no freed-memory reuse, and no data returned to the attacker — nothing is disclosed.\nI:N - No memory corruption or unauthorized modification occurs; the operation simply never completes, so no data is written incorrectly.\nA:H - The nfsd thread blocks unkillably in `TASK_UNINTERRUPTIBLE` while holding the inode's `i_rwsem` forever, wedging every further access to that inode from both NFS clients and local processes and exhausting nfsd threads — a permanent, unrecoverable denial of service requiring a reboot."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-05T11:44:00.526Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19.323","versionEndExcluding":"4.19.325"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.4.285","versionEndExcluding":"5.4.287"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10.229","versionEndExcluding":"5.10.231"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15.171","versionEndExcluding":"5.15.174"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.1.116","versionEndExcluding":"6.1.119"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.6.60","versionEndExcluding":"6.6.63"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.11.7","versionEndExcluding":"6.11.10"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CVE Program Container","references":[{"url":"https://lists.debian.org/debian-lts-announce/2025/03/msg00002.html"},{"url":"https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html"}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2025-11-03T22:29:39.267Z"}}]}}}