CVE-2023-53224: ext4: Fix function prototype mismatch for ext4_feat_ktype
In the Linux kernel, the following vulnerability has been resolved:
ext4: Fix function prototype mismatch for ext4_feat_ktype
With clang's kernel control flow integrity (kCFI, CONFIG_CFI_CLANG),
indirect call targets are validated against the expected function
pointer prototype to make sure the call target is valid to help mitigate
ROP attacks. If they are not identical, there is a failure at run time,
which manifests as either a kernel panic or thread getting killed.
ext4_feat_ktype was setting the "release" handler to "kfree", which
doesn't have a matching function prototype. Add a simple wrapper
with the correct prototype.
This was found as a result of Clang's new -Wcast-function-type-strict
flag, which is more sensitive than the simpler -Wcast-function-type,
which only checks for type width mismatches.
Note that this code is only reached when ext4 is a loadable module and
it is being unloaded:
CFI failure at kobject_put+0xbb/0x1b0 (target: kfree+0x0/0x180; expected type: 0x7c4aa698)
...
RIP: 0010:kobject_put+0xbb/0x1b0
...
Call Trace:
<TASK>
ext4_exit_sysfs+0x14/0x60 [ext4]
cleanup_module+0x67/0xedb [ext4]
Security readout for executives and security teams
Plain-English summary
This Linux kernel issue can crash or kill a kernel thread when the ext4 filesystem module is unloaded on systems built with Clang kCFI. The business impact is availability, not data theft. The source says the vulnerable path is narrow: ext4 must be a loadable module and it must be unloaded.
Executive priority
Treat as a routine kernel availability fix unless affected systems are high-availability hosts using kCFI and modular ext4. No source provided evidence of active exploitation, remote attack, or data compromise.
Technical view
ext4 assigned kfree as a sysfs release handler despite a mismatched function prototype. With CONFIG_CFI_CLANG, indirect-call prototype validation can fail at runtime, causing a kernel panic or killed thread in kobject_put during ext4 module cleanup. The fix adds a wrapper with the expected prototype.
Likely exposure
Exposure is most likely on affected Linux kernels where ext4 is built as a loadable module, Clang kCFI is enabled, and the ext4 unload path can occur. Systems with ext4 built in, no kCFI, or no module unload path appear less exposed based on the source description.
Exploitation context
The CVSS vector is local, low complexity, low privileges, no user interaction, with high availability impact. The bundle does not report KEV listing or active exploitation. The provided evidence supports denial of service risk, not confidentiality or integrity compromise.
Researcher notes
The source identifies a prototype mismatch in ext4_feat_ktype release handling. The trigger scope is specifically ext4 module unload under Clang kCFI. Affected version data is kernel-level and does not map directly to distribution package versions.
Mitigation direction
Apply Linux kernel stable updates containing the referenced ext4 fix.
Prioritize systems that use ext4 as a loadable module with CONFIG_CFI_CLANG.
Check distribution vendor advisories for packaged kernel availability and backports.
Avoid unnecessary ext4 module unload operations until patched, where operationally feasible.
Validation and detection
Confirm running kernel version against vendor advisories and the referenced stable commits.
Check whether CONFIG_CFI_CLANG is enabled in the deployed kernel.
Verify whether ext4 is built as a module or built into the kernel.
Review logs for kCFI failures involving kobject_put, kfree, or ext4 cleanup.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-401: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-401 · source CWE mapping
Missing Release of Memory after Effective Lifetime
Missing Release of Memory after Effective Lifetime represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.