CVE-2024-44973

Source
https://cve.org/CVERecord?id=CVE-2024-44973
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-44973.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2024-44973
Downstream
Published
2024-09-04T19:00:23.444Z
Modified
2026-03-09T23:58:21.068266Z
Summary
mm, slub: do not call do_slab_free for kfence object
Details

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

mm, slub: do not call doslabfree for kfence object

In 782f8906f805 the freeing of kfence objects was moved from deep inside doslabfree to the wrapper functions outside. This is a nice change, but unfortunately it missed one spot in _kmemcachefreebulk.

This results in a crash like this:

BUG skbuffheadcache (Tainted: G S B E ): Padding overwritten. 0xffff88907fea0f00-0xffff88907fea0fff @offset=3840

slaberr (mm/slub.c:1129) freetopartiallist (mm/slub.c:? mm/slub.c:4036) slabpadcheck (mm/slub.c:864 mm/slub.c:1290) checkslab (mm/slub.c:?) freetopartiallist (mm/slub.c:3171 mm/slub.c:4036) kmemcacheallocbulk (mm/slub.c:? mm/slub.c:4495 mm/slub.c:4586 mm/slub.c:4635) napibuild_skb (net/core/skbuff.c:348 net/core/skbuff.c:527 net/core/skbuff.c:549)

All the other callers to doslabfree appear to be ok.

Add a kfence_free check in _kmemcachefreebulk to avoid the crash.

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/44xxx/CVE-2024-44973.json",
    "cna_assigner": "Linux"
}
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
782f8906f8057efc7151b4b98b0a0280a71d005f
Fixed
b35cd7f1e969aaa63e6716d82480f6b8a3230949
Fixed
a371d558e6f3aed977a8a7346350557de5d25190

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-44973.json"