CVE-2023-54153 (GCVE-0-2023-54153)
Vulnerability from cvelistv5 – Published: 2025-12-24 13:07 – Updated: 2025-12-24 13:07
VLAI?
Title
ext4: turn quotas off if mount failed after enabling quotas
Summary
In the Linux kernel, the following vulnerability has been resolved:
ext4: turn quotas off if mount failed after enabling quotas
Yi found during a review of the patch "ext4: don't BUG on inconsistent
journal feature" that when ext4_mark_recovery_complete() returns an error
value, the error handling path does not turn off the enabled quotas,
which triggers the following kmemleak:
================================================================
unreferenced object 0xffff8cf68678e7c0 (size 64):
comm "mount", pid 746, jiffies 4294871231 (age 11.540s)
hex dump (first 32 bytes):
00 90 ef 82 f6 8c ff ff 00 00 00 00 41 01 00 00 ............A...
c7 00 00 00 bd 00 00 00 0a 00 00 00 48 00 00 00 ............H...
backtrace:
[<00000000c561ef24>] __kmem_cache_alloc_node+0x4d4/0x880
[<00000000d4e621d7>] kmalloc_trace+0x39/0x140
[<00000000837eee74>] v2_read_file_info+0x18a/0x3a0
[<0000000088f6c877>] dquot_load_quota_sb+0x2ed/0x770
[<00000000340a4782>] dquot_load_quota_inode+0xc6/0x1c0
[<0000000089a18bd5>] ext4_enable_quotas+0x17e/0x3a0 [ext4]
[<000000003a0268fa>] __ext4_fill_super+0x3448/0x3910 [ext4]
[<00000000b0f2a8a8>] ext4_fill_super+0x13d/0x340 [ext4]
[<000000004a9489c4>] get_tree_bdev+0x1dc/0x370
[<000000006e723bf1>] ext4_get_tree+0x1d/0x30 [ext4]
[<00000000c7cb663d>] vfs_get_tree+0x31/0x160
[<00000000320e1bed>] do_new_mount+0x1d5/0x480
[<00000000c074654c>] path_mount+0x22e/0xbe0
[<0000000003e97a8e>] do_mount+0x95/0xc0
[<000000002f3d3736>] __x64_sys_mount+0xc4/0x160
[<0000000027d2140c>] do_syscall_64+0x3f/0x90
================================================================
To solve this problem, we add a "failed_mount10" tag, and call
ext4_quota_off_umount() in this tag to release the enabled qoutas.
Severity ?
No CVSS data available.
Assigner
References
Impacted products
| Vendor | Product | Version | ||
|---|---|---|---|---|
| Linux | Linux |
Affected:
11215630aada28307ba555a43138db6ac54fa825 , < c327b83c59ee938792a0300df646efac39c7d6a7
(git)
Affected: 11215630aada28307ba555a43138db6ac54fa825 , < deef86fa3005cbb61ae8aa5729324c09b3f4ba73 (git) Affected: 11215630aada28307ba555a43138db6ac54fa825 , < 77c3ca1108eb4a26db4f256c42b271a430cebc7d (git) Affected: 11215630aada28307ba555a43138db6ac54fa825 , < d13f99632748462c32fc95d729f5e754bab06064 (git) Affected: 60e2824ab30a19c7aaf5a3932bc155d18b2cd816 (git) Affected: a6d49257cbe53c7bca1a0353a6443f53cbed9cc7 (git) Affected: 2e7312ddaf629eecf4702b662da477a3bc39c31a (git) Affected: d558851e5ff443b020245b7a1a455c55accf740b (git) |
||
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"fs/ext4/super.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "c327b83c59ee938792a0300df646efac39c7d6a7",
"status": "affected",
"version": "11215630aada28307ba555a43138db6ac54fa825",
"versionType": "git"
},
{
"lessThan": "deef86fa3005cbb61ae8aa5729324c09b3f4ba73",
"status": "affected",
"version": "11215630aada28307ba555a43138db6ac54fa825",
"versionType": "git"
},
{
"lessThan": "77c3ca1108eb4a26db4f256c42b271a430cebc7d",
"status": "affected",
"version": "11215630aada28307ba555a43138db6ac54fa825",
"versionType": "git"
},
{
"lessThan": "d13f99632748462c32fc95d729f5e754bab06064",
"status": "affected",
"version": "11215630aada28307ba555a43138db6ac54fa825",
"versionType": "git"
},
{
"status": "affected",
"version": "60e2824ab30a19c7aaf5a3932bc155d18b2cd816",
"versionType": "git"
},
{
"status": "affected",
"version": "a6d49257cbe53c7bca1a0353a6443f53cbed9cc7",
"versionType": "git"
},
{
"status": "affected",
"version": "2e7312ddaf629eecf4702b662da477a3bc39c31a",
"versionType": "git"
},
{
"status": "affected",
"version": "d558851e5ff443b020245b7a1a455c55accf740b",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"fs/ext4/super.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "5.9"
},
{
"lessThan": "5.9",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"version": "5.15.121",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"version": "6.1.40",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.4.*",
"status": "unaffected",
"version": "6.4.5",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "6.5",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.15.121",
"versionStartIncluding": "5.9",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.1.40",
"versionStartIncluding": "5.9",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.4.5",
"versionStartIncluding": "5.9",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.5",
"versionStartIncluding": "5.9",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "4.14.196",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "4.19.143",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.4.62",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.8.6",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\next4: turn quotas off if mount failed after enabling quotas\n\nYi found during a review of the patch \"ext4: don\u0027t BUG on inconsistent\njournal feature\" that when ext4_mark_recovery_complete() returns an error\nvalue, the error handling path does not turn off the enabled quotas,\nwhich triggers the following kmemleak:\n\n================================================================\nunreferenced object 0xffff8cf68678e7c0 (size 64):\ncomm \"mount\", pid 746, jiffies 4294871231 (age 11.540s)\nhex dump (first 32 bytes):\n00 90 ef 82 f6 8c ff ff 00 00 00 00 41 01 00 00 ............A...\nc7 00 00 00 bd 00 00 00 0a 00 00 00 48 00 00 00 ............H...\nbacktrace:\n[\u003c00000000c561ef24\u003e] __kmem_cache_alloc_node+0x4d4/0x880\n[\u003c00000000d4e621d7\u003e] kmalloc_trace+0x39/0x140\n[\u003c00000000837eee74\u003e] v2_read_file_info+0x18a/0x3a0\n[\u003c0000000088f6c877\u003e] dquot_load_quota_sb+0x2ed/0x770\n[\u003c00000000340a4782\u003e] dquot_load_quota_inode+0xc6/0x1c0\n[\u003c0000000089a18bd5\u003e] ext4_enable_quotas+0x17e/0x3a0 [ext4]\n[\u003c000000003a0268fa\u003e] __ext4_fill_super+0x3448/0x3910 [ext4]\n[\u003c00000000b0f2a8a8\u003e] ext4_fill_super+0x13d/0x340 [ext4]\n[\u003c000000004a9489c4\u003e] get_tree_bdev+0x1dc/0x370\n[\u003c000000006e723bf1\u003e] ext4_get_tree+0x1d/0x30 [ext4]\n[\u003c00000000c7cb663d\u003e] vfs_get_tree+0x31/0x160\n[\u003c00000000320e1bed\u003e] do_new_mount+0x1d5/0x480\n[\u003c00000000c074654c\u003e] path_mount+0x22e/0xbe0\n[\u003c0000000003e97a8e\u003e] do_mount+0x95/0xc0\n[\u003c000000002f3d3736\u003e] __x64_sys_mount+0xc4/0x160\n[\u003c0000000027d2140c\u003e] do_syscall_64+0x3f/0x90\n================================================================\n\nTo solve this problem, we add a \"failed_mount10\" tag, and call\next4_quota_off_umount() in this tag to release the enabled qoutas."
}
],
"providerMetadata": {
"dateUpdated": "2025-12-24T13:07:04.007Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/c327b83c59ee938792a0300df646efac39c7d6a7"
},
{
"url": "https://git.kernel.org/stable/c/deef86fa3005cbb61ae8aa5729324c09b3f4ba73"
},
{
"url": "https://git.kernel.org/stable/c/77c3ca1108eb4a26db4f256c42b271a430cebc7d"
},
{
"url": "https://git.kernel.org/stable/c/d13f99632748462c32fc95d729f5e754bab06064"
}
],
"title": "ext4: turn quotas off if mount failed after enabling quotas",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2023-54153",
"datePublished": "2025-12-24T13:07:04.007Z",
"dateReserved": "2025-12-24T13:02:52.529Z",
"dateUpdated": "2025-12-24T13:07:04.007Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"nvd": "{\"cve\":{\"id\":\"CVE-2023-54153\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-12-24T13:16:17.307\",\"lastModified\":\"2025-12-24T13:16:17.307\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\next4: turn quotas off if mount failed after enabling quotas\\n\\nYi found during a review of the patch \\\"ext4: don\u0027t BUG on inconsistent\\njournal feature\\\" that when ext4_mark_recovery_complete() returns an error\\nvalue, the error handling path does not turn off the enabled quotas,\\nwhich triggers the following kmemleak:\\n\\n================================================================\\nunreferenced object 0xffff8cf68678e7c0 (size 64):\\ncomm \\\"mount\\\", pid 746, jiffies 4294871231 (age 11.540s)\\nhex dump (first 32 bytes):\\n00 90 ef 82 f6 8c ff ff 00 00 00 00 41 01 00 00 ............A...\\nc7 00 00 00 bd 00 00 00 0a 00 00 00 48 00 00 00 ............H...\\nbacktrace:\\n[\u003c00000000c561ef24\u003e] __kmem_cache_alloc_node+0x4d4/0x880\\n[\u003c00000000d4e621d7\u003e] kmalloc_trace+0x39/0x140\\n[\u003c00000000837eee74\u003e] v2_read_file_info+0x18a/0x3a0\\n[\u003c0000000088f6c877\u003e] dquot_load_quota_sb+0x2ed/0x770\\n[\u003c00000000340a4782\u003e] dquot_load_quota_inode+0xc6/0x1c0\\n[\u003c0000000089a18bd5\u003e] ext4_enable_quotas+0x17e/0x3a0 [ext4]\\n[\u003c000000003a0268fa\u003e] __ext4_fill_super+0x3448/0x3910 [ext4]\\n[\u003c00000000b0f2a8a8\u003e] ext4_fill_super+0x13d/0x340 [ext4]\\n[\u003c000000004a9489c4\u003e] get_tree_bdev+0x1dc/0x370\\n[\u003c000000006e723bf1\u003e] ext4_get_tree+0x1d/0x30 [ext4]\\n[\u003c00000000c7cb663d\u003e] vfs_get_tree+0x31/0x160\\n[\u003c00000000320e1bed\u003e] do_new_mount+0x1d5/0x480\\n[\u003c00000000c074654c\u003e] path_mount+0x22e/0xbe0\\n[\u003c0000000003e97a8e\u003e] do_mount+0x95/0xc0\\n[\u003c000000002f3d3736\u003e] __x64_sys_mount+0xc4/0x160\\n[\u003c0000000027d2140c\u003e] do_syscall_64+0x3f/0x90\\n================================================================\\n\\nTo solve this problem, we add a \\\"failed_mount10\\\" tag, and call\\next4_quota_off_umount() in this tag to release the enabled qoutas.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/77c3ca1108eb4a26db4f256c42b271a430cebc7d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/c327b83c59ee938792a0300df646efac39c7d6a7\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/d13f99632748462c32fc95d729f5e754bab06064\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/deef86fa3005cbb61ae8aa5729324c09b3f4ba73\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
}
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…