{"id":"CVE-2024-38570","revision":"e3ffc098a6b84b84979644432c6afa1a","records":[{"revision":"e3ffc098a6b84b84979644432c6afa1a","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2024-38570","aliases":[],"title":"gfs2: Fix potential glock use-after-free on unmount","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ngfs2: Fix potential glock use-after-free on unmount\n\nWhen a DLM lockspace is released and there ares still locks in that\nlockspace, DLM will unlock those locks automatically.  Commit\nfb6791d100d1b started exploiting this behavior to speed up filesystem\nunmount: gfs2 would simply free glocks it didn't want to unlock and then\nrelease the lockspace.  This didn't take the bast callbacks for\nasynchronous lock contention notifications into account, which remain\nactive until until a lock is unlocked or its lockspace is released.\n\nTo prevent those callbacks from accessing deallocated objects, put the\nglocks that should not be unlocked on the sd_dead_glocks list, release\nthe lockspace, and only then free those glocks.\n\nAs an additional measure, ignore unexpected ast and bast callbacks if\nthe receiving glock is dead.","state":0,"publishedAt":"2024-06-19T13:35:36.274+00:00","modifiedAt":"2026-08-05T11:32:51.482+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"fs/gfs2/glock.c\",\n                        \"fs/gfs2/glock.h\",\n                        \"fs/gfs2/incore.h\",\n                        \"fs/gfs2/lock_dlm.c\",\n                        \"fs/gfs2/ops_fstype.c\",\n                        \"fs/gfs2/super.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"fb6791d100d1bba20b5cdbc4912e1f7086ec60f8\",\n                            \"lessThan\": \"0636b34b44589b142700ac137b5f69802cfe2e37\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"fb6791d100d1bba20b5cdbc4912e1f7086ec60f8\",\n                            \"lessThan\": \"e42e8a24d7f02d28763d16ca7ec5fc6d1f142af0\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"fb6791d100d1bba20b5cdbc4912e1f7086ec60f8\",\n                            \"lessThan\": \"501cd8fabf621d10bd4893e37f6ce6c20523c8ca\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"fb6791d100d1bba20b5cdbc4912e1f7086ec60f8\",\n                            \"lessThan\": \"d98779e687726d8f8860f1c54b5687eec5f63a73\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"fs/gfs2/glock.c\",\n                        \"fs/gfs2/glock.h\",\n                        \"fs/gfs2/incore.h\",\n                        \"fs/gfs2/lock_dlm.c\",\n                        \"fs/gfs2/ops_fstype.c\",\n                        \"fs/gfs2/super.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"3.8\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"3.8\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.33\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.8.12\",\n                            \"lessThanOrEqual\": \"6.8.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.9.3\",\n                            \"lessThanOrEqual\": \"6.9.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.10\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","score":9.8,"severity":"CRITICAL"}],"references":["https://git.kernel.org/stable/c/0636b34b44589b142700ac137b5f69802cfe2e37","https://git.kernel.org/stable/c/e42e8a24d7f02d28763d16ca7ec5fc6d1f142af0","https://git.kernel.org/stable/c/501cd8fabf621d10bd4893e37f6ce6c20523c8ca","https://git.kernel.org/stable/c/d98779e687726d8f8860f1c54b5687eec5f63a73"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2024-38570","license":"CVE Program Terms of Use","key":"cve-program:CVE-2024-38570","identifiers":["CVE-2024-38570"]},"retained":false,"historicalAffected":[]}],"coverage":[]}