lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2025123031-CVE-2023-54232-48af@gregkh>
Date: Tue, 30 Dec 2025 13:14:02 +0100
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...nel.org>
Subject: CVE-2023-54232: m68k: Only force 030 bus error if PC not in exception table

From: Greg Kroah-Hartman <gregkh@...nel.org>

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.

The Linux kernel CVE team has assigned CVE-2023-54232 to this issue.


Affected and fixed versions
===========================

	Fixed in 4.14.312 with commit 1a6059f5ed57f48edfe7159404ff7d538d9d405b
	Fixed in 4.19.280 with commit f55cb52ec98b22125f5bda36391edb8894f7e8cf
	Fixed in 5.4.240 with commit 2100e374251a8fc00cce1916cfc50f3cb652cbe3
	Fixed in 5.10.177 with commit df1da53a7e98f0b2a0eb2241c154f148f2f2c1d8
	Fixed in 5.15.105 with commit 8bf8d5dade4c5e1d8a2386f29253ed28b5d87735
	Fixed in 6.1.22 with commit 54fa25ffab2b700df5abd58c136d64a912c53953
	Fixed in 6.2.9 with commit ec15405b80fc15ffc87a23d01378ae061c1aba07
	Fixed in 6.3 with commit e36a82bebbf7da814530d5a179bef9df5934b717

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2023-54232
will be updated if fixes are backported, please check that for the most
up to date information about this issue.


Affected files
==============

The file(s) affected by this issue are:
	arch/m68k/kernel/traps.c


Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/1a6059f5ed57f48edfe7159404ff7d538d9d405b
	https://git.kernel.org/stable/c/f55cb52ec98b22125f5bda36391edb8894f7e8cf
	https://git.kernel.org/stable/c/2100e374251a8fc00cce1916cfc50f3cb652cbe3
	https://git.kernel.org/stable/c/df1da53a7e98f0b2a0eb2241c154f148f2f2c1d8
	https://git.kernel.org/stable/c/8bf8d5dade4c5e1d8a2386f29253ed28b5d87735
	https://git.kernel.org/stable/c/54fa25ffab2b700df5abd58c136d64a912c53953
	https://git.kernel.org/stable/c/ec15405b80fc15ffc87a23d01378ae061c1aba07
	https://git.kernel.org/stable/c/e36a82bebbf7da814530d5a179bef9df5934b717

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ