{"id":"CVE-2023-54232","state":"PUBLISHED","title":"m68k: Only force 030 bus error if PC not in exception table","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nm68k: Only force 030 bus error if PC not in exception table\n\n__get_kernel_nofault() does copy data in supervisor mode when\nforcing a task backtrace log through /proc/sysrq_trigger.\nThis is expected cause a bus error exception on e.g. NULL\npointer dereferencing when logging a kernel task has no\nworkqueue associated. This bus error ought to be ignored.\n\nOur 030 bus error handler is ill equipped to deal with this:\n\nWhenever ssw indicates a kernel mode access on a data fault,\nwe don't even attempt to handle the fault and instead always\nsend a SEGV signal (or panic). As a result, the check\nfor exception handling at the fault PC (buried in\nsend_sig_fault() which gets called from do_page_fault()\neventually) is never used.\n\nIn contrast, both 040 and 060 access error handlers do not\ncare whether a fault happened on supervisor mode access,\nand will call do_page_fault() on those, ultimately honoring\nthe exception table.\n\nAdd a check in bus_error030 to call do_page_fault() in case\nwe do have an entry for the fault PC in our exception table.\n\nI had attempted a fix for this earlier in 2019 that did rely\non testing pagefault_disabled() (see link below) to achieve\nthe same thing, but this patch should be more generic.\n\nTested on 030 Atari Falcon.","publishedAt":"2025-12-30T12:11:23.565Z","updatedAt":"2026-05-11T19:58:00.368Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"f2325ecebc5b7988fd49968bd3a660fd1594dc84","status":"affected","lessThan":"1a6059f5ed57f48edfe7159404ff7d538d9d405b","versionType":"git"},{"version":"f2325ecebc5b7988fd49968bd3a660fd1594dc84","status":"affected","lessThan":"f55cb52ec98b22125f5bda36391edb8894f7e8cf","versionType":"git"},{"version":"f2325ecebc5b7988fd49968bd3a660fd1594dc84","status":"affected","lessThan":"2100e374251a8fc00cce1916cfc50f3cb652cbe3","versionType":"git"},{"version":"f2325ecebc5b7988fd49968bd3a660fd1594dc84","status":"affected","lessThan":"df1da53a7e98f0b2a0eb2241c154f148f2f2c1d8","versionType":"git"},{"version":"f2325ecebc5b7988fd49968bd3a660fd1594dc84","status":"affected","lessThan":"8bf8d5dade4c5e1d8a2386f29253ed28b5d87735","versionType":"git"},{"version":"f2325ecebc5b7988fd49968bd3a660fd1594dc84","status":"affected","lessThan":"54fa25ffab2b700df5abd58c136d64a912c53953","versionType":"git"},{"version":"f2325ecebc5b7988fd49968bd3a660fd1594dc84","status":"affected","lessThan":"ec15405b80fc15ffc87a23d01378ae061c1aba07","versionType":"git"},{"version":"f2325ecebc5b7988fd49968bd3a660fd1594dc84","status":"affected","lessThan":"e36a82bebbf7da814530d5a179bef9df5934b717","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["arch/m68k/kernel/traps.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.18","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.18","versionType":"semver"},{"version":"4.14.312","status":"unaffected","lessThanOrEqual":"4.14.*","versionType":"semver"},{"version":"4.19.280","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.240","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.177","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.105","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.22","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.2.9","status":"unaffected","lessThanOrEqual":"6.2.*","versionType":"semver"},{"version":"6.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["arch/m68k/kernel/traps.c"]}],"references":["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"],"weaknesses":[],"ingestedAt":"2026-10-29T20:06:42.242Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2023/54xxx/CVE-2023-54232.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2023-54232","state":"PUBLISHED","datePublished":"2025-12-30T12:11:23.565Z","dateUpdated":"2026-05-11T19:58:00.368Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-12-30T12:06:44.502Z"},"containers":{"cna":{"title":"m68k: Only force 030 bus error if PC not in exception table","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nm68k: Only force 030 bus error if PC not in exception table\n\n__get_kernel_nofault() does copy data in supervisor mode when\nforcing a task backtrace log through /proc/sysrq_trigger.\nThis is expected cause a bus error exception on e.g. NULL\npointer dereferencing when logging a kernel task has no\nworkqueue associated. This bus error ought to be ignored.\n\nOur 030 bus error handler is ill equipped to deal with this:\n\nWhenever ssw indicates a kernel mode access on a data fault,\nwe don't even attempt to handle the fault and instead always\nsend a SEGV signal (or panic). As a result, the check\nfor exception handling at the fault PC (buried in\nsend_sig_fault() which gets called from do_page_fault()\neventually) is never used.\n\nIn contrast, both 040 and 060 access error handlers do not\ncare whether a fault happened on supervisor mode access,\nand will call do_page_fault() on those, ultimately honoring\nthe exception table.\n\nAdd a check in bus_error030 to call do_page_fault() in case\nwe do have an entry for the fault PC in our exception table.\n\nI had attempted a fix for this earlier in 2019 that did rely\non testing pagefault_disabled() (see link below) to achieve\nthe same thing, but this patch should be more generic.\n\nTested on 030 Atari Falcon."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"f2325ecebc5b7988fd49968bd3a660fd1594dc84","status":"affected","lessThan":"1a6059f5ed57f48edfe7159404ff7d538d9d405b","versionType":"git"},{"version":"f2325ecebc5b7988fd49968bd3a660fd1594dc84","status":"affected","lessThan":"f55cb52ec98b22125f5bda36391edb8894f7e8cf","versionType":"git"},{"version":"f2325ecebc5b7988fd49968bd3a660fd1594dc84","status":"affected","lessThan":"2100e374251a8fc00cce1916cfc50f3cb652cbe3","versionType":"git"},{"version":"f2325ecebc5b7988fd49968bd3a660fd1594dc84","status":"affected","lessThan":"df1da53a7e98f0b2a0eb2241c154f148f2f2c1d8","versionType":"git"},{"version":"f2325ecebc5b7988fd49968bd3a660fd1594dc84","status":"affected","lessThan":"8bf8d5dade4c5e1d8a2386f29253ed28b5d87735","versionType":"git"},{"version":"f2325ecebc5b7988fd49968bd3a660fd1594dc84","status":"affected","lessThan":"54fa25ffab2b700df5abd58c136d64a912c53953","versionType":"git"},{"version":"f2325ecebc5b7988fd49968bd3a660fd1594dc84","status":"affected","lessThan":"ec15405b80fc15ffc87a23d01378ae061c1aba07","versionType":"git"},{"version":"f2325ecebc5b7988fd49968bd3a660fd1594dc84","status":"affected","lessThan":"e36a82bebbf7da814530d5a179bef9df5934b717","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["arch/m68k/kernel/traps.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.18","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.18","versionType":"semver"},{"version":"4.14.312","status":"unaffected","lessThanOrEqual":"4.14.*","versionType":"semver"},{"version":"4.19.280","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.240","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.177","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.105","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.22","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.2.9","status":"unaffected","lessThanOrEqual":"6.2.*","versionType":"semver"},{"version":"6.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["arch/m68k/kernel/traps.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/1a6059f5ed57f48edfe7159404ff7d538d9d405b"},{"url":"https://git.kernel.org/stable/c/f55cb52ec98b22125f5bda36391edb8894f7e8cf"},{"url":"https://git.kernel.org/stable/c/2100e374251a8fc00cce1916cfc50f3cb652cbe3"},{"url":"https://git.kernel.org/stable/c/df1da53a7e98f0b2a0eb2241c154f148f2f2c1d8"},{"url":"https://git.kernel.org/stable/c/8bf8d5dade4c5e1d8a2386f29253ed28b5d87735"},{"url":"https://git.kernel.org/stable/c/54fa25ffab2b700df5abd58c136d64a912c53953"},{"url":"https://git.kernel.org/stable/c/ec15405b80fc15ffc87a23d01378ae061c1aba07"},{"url":"https://git.kernel.org/stable/c/e36a82bebbf7da814530d5a179bef9df5934b717"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T19:58:00.368Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.18","versionEndExcluding":"4.14.312"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.18","versionEndExcluding":"4.19.280"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.18","versionEndExcluding":"5.4.240"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.18","versionEndExcluding":"5.10.177"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.18","versionEndExcluding":"5.15.105"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.18","versionEndExcluding":"6.1.22"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.18","versionEndExcluding":"6.2.9"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.18","versionEndExcluding":"6.3"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}