Paper/Archive/CVE-2024-38570

CVE-2024-38570

Linux Linux — gfs2: Fix potential glock use-after-free on unmount

Description · from the CVE record

In the Linux kernel, the following vulnerability has been resolved: gfs2: Fix potential glock use-after-free on unmount When a DLM lockspace is released and there ares still locks in that lockspace, DLM will unlock those locks automatically. Commit fb6791d100d1b started exploiting this behavior to speed up filesystem unmount: gfs2 would simply free glocks it didn't want to unlock and then release the lockspace. This didn't take the bast callbacks for asynchronous lock contention notifications into account, which remain active until until a lock is unlocked or its lockspace is released. To prevent those callbacks from accessing deallocated objects, put the glocks that should not be unlocked on the sd_dead_glocks list, release the lockspace, and only then free those glocks. As an additional measure, ignore unexpected ast and bast callbacks if the receiving glock is dead.

Affected

ProductAffectedFixed inSource
Linuxfb6791d100d1bba20b5cdbc4912e1f7086ec60f8 – < 94b32a85d1a76ae4f1b42a88677fa20b2018772994b32a85d1a76ae4f1b42a88677fa20b20187729CNA
Linuxfb6791d100d1bba20b5cdbc4912e1f7086ec60f8 – < 0636b34b44589b142700ac137b5f69802cfe2e370636b34b44589b142700ac137b5f69802cfe2e37CNA
Linuxfb6791d100d1bba20b5cdbc4912e1f7086ec60f8 – < e42e8a24d7f02d28763d16ca7ec5fc6d1f142af0e42e8a24d7f02d28763d16ca7ec5fc6d1f142af0CNA
Linuxfb6791d100d1bba20b5cdbc4912e1f7086ec60f8 – < 501cd8fabf621d10bd4893e37f6ce6c20523c8ca501cd8fabf621d10bd4893e37f6ce6c20523c8caCNA
Linuxfb6791d100d1bba20b5cdbc4912e1f7086ec60f8 – < d98779e687726d8f8860f1c54b5687eec5f63a73d98779e687726d8f8860f1c54b5687eec5f63a73CNA
Linux3.8–CNA

Scores by source

Linux (CNA)9.8CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CISA ADPSSVCExploitation: none · Automatable: no · Technical impact: partial

References

refgit.kernel.org/stable/c/94b32a85d1a76ae4f1b42a88677fa20b20187729refgit.kernel.org/stable/c/0636b34b44589b142700ac137b5f69802cfe2e37refgit.kernel.org/stable/c/e42e8a24d7f02d28763d16ca7ec5fc6d1f142af0refgit.kernel.org/stable/c/501cd8fabf621d10bd4893e37f6ce6c20523c8carefgit.kernel.org/stable/c/d98779e687726d8f8860f1c54b5687eec5f63a73