CVE-2023-54232
Description
In the Linux kernel, the following vulnerability has been resolved:
m68k: Only force 030 bus error if PC not in exception table
__get_kernel_nofault() does copy data in supervisor mode when forcing a task backtrace log through /proc/sysrq_trigger. This is expected cause a bus error exception on e.g. NULL pointer dereferencing when logging a kernel task has no workqueue associated. This bus error ought to be ignored.
Our 030 bus error handler is ill equipped to deal with this:
Whenever ssw indicates a kernel mode access on a data fault, we don't even attempt to handle the fault and instead always send a SEGV signal (or panic). As a result, the check for exception handling at the fault PC (buried in send_sig_fault() which gets called from do_page_fault() eventually) is never used.
In contrast, both 040 and 060 access error handlers do not care whether a fault happened on supervisor mode access, and will call do_page_fault() on those, ultimately honoring the exception table.
Add a check in bus_error030 to call do_page_fault() in case we do have an entry for the fault PC in our exception table.
I had attempted a fix for this earlier in 2019 that did rely on testing pagefault_disabled() (see link below) to achieve the same thing, but this patch should be more generic.
Tested on 030 Atari Falcon.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
In the Linux kernel, the m68k 030 bus error handler fails to handle supervisor-mode data faults at exception table addresses, causing spurious SIGSEGV; a fix routes such faults to do_page_fault().
Vulnerability
The m68k architecture's 030 bus error handler in the Linux kernel incorrectly handles supervisor-mode data faults that occur at instruction addresses covered by the exception table. When __get_kernel_nofault() copies data in supervisor mode (e.g., during task backtrace via /proc/sysrq_trigger), a bus error on a NULL pointer dereference triggers the handler. The 030 handler does not attempt to handle the fault and instead sends a SIGSEGV signal or panics, ignoring the exception table check that would normally route the fault to do_page_fault(). This contrasts with the 040 and 060 handlers, which correctly call do_page_fault() regardless of supervisor mode.
Exploitation
Exploitation requires a scenario where a kernel operation in supervisor mode triggers a bus error at an address with an exception table entry. The attack surface is local, as it involves accessing /proc/sysrq_trigger to force a backtrace of a kernel task that has no associated workqueue. No authentication is needed beyond the ability to invoke SysRq triggers. The bug is triggered during normal kernel debugging or logging operations, not through a direct exploit vector.
Impact
A local attacker or system administrator can cause a denial of service by triggering an unnecessary SIGSEGV or kernel panic when attempting to log a task's backtrace. This results in a system crash or signal delivery to the current process, potentially disrupting system operations. The impact is limited to systems using the m68k 030 CPU variant.
Mitigation
The issue is patched in the Linux kernel stable tree with commit [1], which adds a check in bus_error030 to call do_page_fault() if the fault PC has an entry in the exception table. Users should update to a kernel version containing this fix.
AI Insight generated on May 19, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected products
1Patches
81a6059f5ed57f55cb52ec98b2100e374251adf1da53a7e988bf8d5dade4c54fa25ffab2bec15405b80fce36a82bebbf7Vulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
8- git.kernel.org/stable/c/1a6059f5ed57f48edfe7159404ff7d538d9d405bnvd
- git.kernel.org/stable/c/2100e374251a8fc00cce1916cfc50f3cb652cbe3nvd
- git.kernel.org/stable/c/54fa25ffab2b700df5abd58c136d64a912c53953nvd
- git.kernel.org/stable/c/8bf8d5dade4c5e1d8a2386f29253ed28b5d87735nvd
- git.kernel.org/stable/c/df1da53a7e98f0b2a0eb2241c154f148f2f2c1d8nvd
- git.kernel.org/stable/c/e36a82bebbf7da814530d5a179bef9df5934b717nvd
- git.kernel.org/stable/c/ec15405b80fc15ffc87a23d01378ae061c1aba07nvd
- git.kernel.org/stable/c/f55cb52ec98b22125f5bda36391edb8894f7e8cfnvd
News mentions
0No linked articles in our index yet.