ghsa-f8mj-mr8j-j44m
Vulnerability from github
In the Linux kernel, the following vulnerability has been resolved:
exfat: use kvmalloc_array/kvfree instead of kmalloc_array/kfree
The call stack shown below is a scenario in the Linux 4.19 kernel. Allocating memory failed where exfat fs use kmalloc_array due to system memory fragmentation, while the u-disk was inserted without recognition. Devices such as u-disk using the exfat file system are pluggable and may be insert into the system at any time. However, long-term running systems cannot guarantee the continuity of physical memory. Therefore, it's necessary to address this issue.
Binder:2632_6: page allocation failure: order:4, mode:0x6040c0(GFP_KERNEL|__GFP_COMP), nodemask=(null) Call trace: [242178.097582] dump_backtrace+0x0/0x4 [242178.097589] dump_stack+0xf4/0x134 [242178.097598] warn_alloc+0xd8/0x144 [242178.097603] __alloc_pages_nodemask+0x1364/0x1384 [242178.097608] kmalloc_order+0x2c/0x510 [242178.097612] kmalloc_order_trace+0x40/0x16c [242178.097618] __kmalloc+0x360/0x408 [242178.097624] load_alloc_bitmap+0x160/0x284 [242178.097628] exfat_fill_super+0xa3c/0xe7c [242178.097635] mount_bdev+0x2e8/0x3a0 [242178.097638] exfat_fs_mount+0x40/0x50 [242178.097643] mount_fs+0x138/0x2e8 [242178.097649] vfs_kern_mount+0x90/0x270 [242178.097655] do_mount+0x798/0x173c [242178.097659] ksys_mount+0x114/0x1ac [242178.097665] __arm64_sys_mount+0x24/0x34 [242178.097671] el0_svc_common+0xb8/0x1b8 [242178.097676] el0_svc_handler+0x74/0x90 [242178.097681] el0_svc+0x8/0x340
By analyzing the exfat code,we found that continuous physical memory is not required here,so kvmalloc_array is used can solve this problem.
{
"affected": [],
"aliases": [
"CVE-2023-54194"
],
"database_specific": {
"cwe_ids": [],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2025-12-30T13:16:07Z",
"severity": null
},
"details": "In the Linux kernel, the following vulnerability has been resolved:\n\nexfat: use kvmalloc_array/kvfree instead of kmalloc_array/kfree\n\nThe call stack shown below is a scenario in the Linux 4.19 kernel.\nAllocating memory failed where exfat fs use kmalloc_array due to\nsystem memory fragmentation, while the u-disk was inserted without\nrecognition.\nDevices such as u-disk using the exfat file system are pluggable and\nmay be insert into the system at any time.\nHowever, long-term running systems cannot guarantee the continuity of\nphysical memory. Therefore, it\u0027s necessary to address this issue.\n\nBinder:2632_6: page allocation failure: order:4,\n mode:0x6040c0(GFP_KERNEL|__GFP_COMP), nodemask=(null)\nCall trace:\n[242178.097582] dump_backtrace+0x0/0x4\n[242178.097589] dump_stack+0xf4/0x134\n[242178.097598] warn_alloc+0xd8/0x144\n[242178.097603] __alloc_pages_nodemask+0x1364/0x1384\n[242178.097608] kmalloc_order+0x2c/0x510\n[242178.097612] kmalloc_order_trace+0x40/0x16c\n[242178.097618] __kmalloc+0x360/0x408\n[242178.097624] load_alloc_bitmap+0x160/0x284\n[242178.097628] exfat_fill_super+0xa3c/0xe7c\n[242178.097635] mount_bdev+0x2e8/0x3a0\n[242178.097638] exfat_fs_mount+0x40/0x50\n[242178.097643] mount_fs+0x138/0x2e8\n[242178.097649] vfs_kern_mount+0x90/0x270\n[242178.097655] do_mount+0x798/0x173c\n[242178.097659] ksys_mount+0x114/0x1ac\n[242178.097665] __arm64_sys_mount+0x24/0x34\n[242178.097671] el0_svc_common+0xb8/0x1b8\n[242178.097676] el0_svc_handler+0x74/0x90\n[242178.097681] el0_svc+0x8/0x340\n\nBy analyzing the exfat code,we found that continuous physical memory\nis not required here,so kvmalloc_array is used can solve this problem.",
"id": "GHSA-f8mj-mr8j-j44m",
"modified": "2025-12-30T15:30:31Z",
"published": "2025-12-30T15:30:31Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2023-54194"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/0c5c3e8a2550b6b2a304b45f260296db9c09df96"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/1427a7e96fb90d0896f74f5bcd21feb03cc7c3d0"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/79d16a84ea41272dfcb0c00f9798ddd0edd8098d"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/8a34a242cf03211cc89f68308d149b793f63c479"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/daf60d6cca26e50d65dac374db92e58de745ad26"
}
],
"schema_version": "1.4.0",
"severity": []
}
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.