CVE-2023-53326 (GCVE-0-2023-53326)
Vulnerability from cvelistv5
Published
2025-09-16 16:12
Modified
2025-09-16 16:12
Severity ?
VLAI Severity ?
EPSS score ?
Summary
In the Linux kernel, the following vulnerability has been resolved:
powerpc: Don't try to copy PPR for task with NULL pt_regs
powerpc sets up PF_KTHREAD and PF_IO_WORKER with a NULL pt_regs, which
from my (arguably very short) checking is not commonly done for other
archs. This is fine, except when PF_IO_WORKER's have been created and
the task does something that causes a coredump to be generated. Then we
get this crash:
Kernel attempted to read user page (160) - exploit attempt? (uid: 1000)
BUG: Kernel NULL pointer dereference on read at 0x00000160
Faulting instruction address: 0xc0000000000c3a60
Oops: Kernel access of bad area, sig: 11 [#1]
LE PAGE_SIZE=64K MMU=Radix SMP NR_CPUS=32 NUMA pSeries
Modules linked in: bochs drm_vram_helper drm_kms_helper xts binfmt_misc ecb ctr syscopyarea sysfillrect cbc sysimgblt drm_ttm_helper aes_generic ttm sg libaes evdev joydev virtio_balloon vmx_crypto gf128mul drm dm_mod fuse loop configfs drm_panel_orientation_quirks ip_tables x_tables autofs4 hid_generic usbhid hid xhci_pci xhci_hcd usbcore usb_common sd_mod
CPU: 1 PID: 1982 Comm: ppc-crash Not tainted 6.3.0-rc2+ #88
Hardware name: IBM pSeries (emulated by qemu) POWER9 (raw) 0x4e1202 0xf000005 of:SLOF,HEAD hv:linux,kvm pSeries
NIP: c0000000000c3a60 LR: c000000000039944 CTR: c0000000000398e0
REGS: c0000000041833b0 TRAP: 0300 Not tainted (6.3.0-rc2+)
MSR: 800000000280b033 <SF,VEC,VSX,EE,FP,ME,IR,DR,RI,LE> CR: 88082828 XER: 200400f8
...
NIP memcpy_power7+0x200/0x7d0
LR ppr_get+0x64/0xb0
Call Trace:
ppr_get+0x40/0xb0 (unreliable)
__regset_get+0x180/0x1f0
regset_get_alloc+0x64/0x90
elf_core_dump+0xb98/0x1b60
do_coredump+0x1c34/0x24a0
get_signal+0x71c/0x1410
do_notify_resume+0x140/0x6f0
interrupt_exit_user_prepare_main+0x29c/0x320
interrupt_exit_user_prepare+0x6c/0xa0
interrupt_return_srr_user+0x8/0x138
Because ppr_get() is trying to copy from a PF_IO_WORKER with a NULL
pt_regs.
Check for a valid pt_regs in both ppc_get/ppr_set, and return an error
if not set. The actual error value doesn't seem to be important here, so
just pick -EINVAL.
[mpe: Trim oops in change log, add Fixes & Cc stable]
References
Impacted products
Vendor | Product | Version | |||||||
---|---|---|---|---|---|---|---|---|---|
▼ | Linux | Linux |
Version: fa439810cc1b3c927ec24ede17d02467e1b143a1 Version: fa439810cc1b3c927ec24ede17d02467e1b143a1 Version: fa439810cc1b3c927ec24ede17d02467e1b143a1 Version: fa439810cc1b3c927ec24ede17d02467e1b143a1 Version: fa439810cc1b3c927ec24ede17d02467e1b143a1 |
||||||
|
{ "containers": { "cna": { "affected": [ { "defaultStatus": "unaffected", "product": "Linux", "programFiles": [ "arch/powerpc/kernel/ptrace/ptrace-view.c" ], "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "vendor": "Linux", "versions": [ { "lessThan": "80a4200d51e5a7e046f4a90f5faa5bafd5a60c58", "status": "affected", "version": "fa439810cc1b3c927ec24ede17d02467e1b143a1", "versionType": "git" }, { "lessThan": "7624973bc15b76d000e8e6f9b8080fcb76d36595", "status": "affected", "version": "fa439810cc1b3c927ec24ede17d02467e1b143a1", "versionType": "git" }, { "lessThan": "064a1c7b0f8403260d77627e62424a72ca26cee2", "status": "affected", "version": "fa439810cc1b3c927ec24ede17d02467e1b143a1", "versionType": "git" }, { "lessThan": "01849382373b867ddcbe7536b9dfa89f3bcea60e", "status": "affected", "version": "fa439810cc1b3c927ec24ede17d02467e1b143a1", "versionType": "git" }, { "lessThan": "fd7276189450110ed835eb0a334e62d2f1c4e3be", "status": "affected", "version": "fa439810cc1b3c927ec24ede17d02467e1b143a1", "versionType": "git" } ] }, { "defaultStatus": "affected", "product": "Linux", "programFiles": [ "arch/powerpc/kernel/ptrace/ptrace-view.c" ], "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "vendor": "Linux", "versions": [ { "status": "affected", "version": "4.8" }, { "lessThan": "4.8", "status": "unaffected", "version": "0", "versionType": "semver" }, { "lessThanOrEqual": "5.10.*", "status": "unaffected", "version": "5.10.177", "versionType": "semver" }, { "lessThanOrEqual": "5.15.*", "status": "unaffected", "version": "5.15.106", "versionType": "semver" }, { "lessThanOrEqual": "6.1.*", "status": "unaffected", "version": "6.1.23", "versionType": "semver" }, { "lessThanOrEqual": "6.2.*", "status": "unaffected", "version": "6.2.10", "versionType": "semver" }, { "lessThanOrEqual": "*", "status": "unaffected", "version": "6.3", "versionType": "original_commit_for_fix" } ] } ], "cpeApplicability": [ { "nodes": [ { "cpeMatch": [ { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "5.10.177", "versionStartIncluding": "4.8", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "5.15.106", "versionStartIncluding": "4.8", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.1.23", "versionStartIncluding": "4.8", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.2.10", "versionStartIncluding": "4.8", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.3", "versionStartIncluding": "4.8", "vulnerable": true } ], "negate": false, "operator": "OR" } ] } ], "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\npowerpc: Don\u0027t try to copy PPR for task with NULL pt_regs\n\npowerpc sets up PF_KTHREAD and PF_IO_WORKER with a NULL pt_regs, which\nfrom my (arguably very short) checking is not commonly done for other\narchs. This is fine, except when PF_IO_WORKER\u0027s have been created and\nthe task does something that causes a coredump to be generated. Then we\nget this crash:\n\n Kernel attempted to read user page (160) - exploit attempt? (uid: 1000)\n BUG: Kernel NULL pointer dereference on read at 0x00000160\n Faulting instruction address: 0xc0000000000c3a60\n Oops: Kernel access of bad area, sig: 11 [#1]\n LE PAGE_SIZE=64K MMU=Radix SMP NR_CPUS=32 NUMA pSeries\n Modules linked in: bochs drm_vram_helper drm_kms_helper xts binfmt_misc ecb ctr syscopyarea sysfillrect cbc sysimgblt drm_ttm_helper aes_generic ttm sg libaes evdev joydev virtio_balloon vmx_crypto gf128mul drm dm_mod fuse loop configfs drm_panel_orientation_quirks ip_tables x_tables autofs4 hid_generic usbhid hid xhci_pci xhci_hcd usbcore usb_common sd_mod\n CPU: 1 PID: 1982 Comm: ppc-crash Not tainted 6.3.0-rc2+ #88\n Hardware name: IBM pSeries (emulated by qemu) POWER9 (raw) 0x4e1202 0xf000005 of:SLOF,HEAD hv:linux,kvm pSeries\n NIP: c0000000000c3a60 LR: c000000000039944 CTR: c0000000000398e0\n REGS: c0000000041833b0 TRAP: 0300 Not tainted (6.3.0-rc2+)\n MSR: 800000000280b033 \u003cSF,VEC,VSX,EE,FP,ME,IR,DR,RI,LE\u003e CR: 88082828 XER: 200400f8\n ...\n NIP memcpy_power7+0x200/0x7d0\n LR ppr_get+0x64/0xb0\n Call Trace:\n ppr_get+0x40/0xb0 (unreliable)\n __regset_get+0x180/0x1f0\n regset_get_alloc+0x64/0x90\n elf_core_dump+0xb98/0x1b60\n do_coredump+0x1c34/0x24a0\n get_signal+0x71c/0x1410\n do_notify_resume+0x140/0x6f0\n interrupt_exit_user_prepare_main+0x29c/0x320\n interrupt_exit_user_prepare+0x6c/0xa0\n interrupt_return_srr_user+0x8/0x138\n\nBecause ppr_get() is trying to copy from a PF_IO_WORKER with a NULL\npt_regs.\n\nCheck for a valid pt_regs in both ppc_get/ppr_set, and return an error\nif not set. The actual error value doesn\u0027t seem to be important here, so\njust pick -EINVAL.\n\n[mpe: Trim oops in change log, add Fixes \u0026 Cc stable]" } ], "providerMetadata": { "dateUpdated": "2025-09-16T16:12:01.464Z", "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux" }, "references": [ { "url": "https://git.kernel.org/stable/c/80a4200d51e5a7e046f4a90f5faa5bafd5a60c58" }, { "url": "https://git.kernel.org/stable/c/7624973bc15b76d000e8e6f9b8080fcb76d36595" }, { "url": "https://git.kernel.org/stable/c/064a1c7b0f8403260d77627e62424a72ca26cee2" }, { "url": "https://git.kernel.org/stable/c/01849382373b867ddcbe7536b9dfa89f3bcea60e" }, { "url": "https://git.kernel.org/stable/c/fd7276189450110ed835eb0a334e62d2f1c4e3be" } ], "title": "powerpc: Don\u0027t try to copy PPR for task with NULL pt_regs", "x_generator": { "engine": "bippy-1.2.0" } } }, "cveMetadata": { "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "assignerShortName": "Linux", "cveId": "CVE-2023-53326", "datePublished": "2025-09-16T16:12:01.464Z", "dateReserved": "2025-09-16T16:08:59.564Z", "dateUpdated": "2025-09-16T16:12:01.464Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1", "vulnerability-lookup:meta": { "nvd": "{\"cve\":{\"id\":\"CVE-2023-53326\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-09-16T17:15:38.783\",\"lastModified\":\"2025-09-17T14:18:55.093\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\npowerpc: Don\u0027t try to copy PPR for task with NULL pt_regs\\n\\npowerpc sets up PF_KTHREAD and PF_IO_WORKER with a NULL pt_regs, which\\nfrom my (arguably very short) checking is not commonly done for other\\narchs. This is fine, except when PF_IO_WORKER\u0027s have been created and\\nthe task does something that causes a coredump to be generated. Then we\\nget this crash:\\n\\n Kernel attempted to read user page (160) - exploit attempt? (uid: 1000)\\n BUG: Kernel NULL pointer dereference on read at 0x00000160\\n Faulting instruction address: 0xc0000000000c3a60\\n Oops: Kernel access of bad area, sig: 11 [#1]\\n LE PAGE_SIZE=64K MMU=Radix SMP NR_CPUS=32 NUMA pSeries\\n Modules linked in: bochs drm_vram_helper drm_kms_helper xts binfmt_misc ecb ctr syscopyarea sysfillrect cbc sysimgblt drm_ttm_helper aes_generic ttm sg libaes evdev joydev virtio_balloon vmx_crypto gf128mul drm dm_mod fuse loop configfs drm_panel_orientation_quirks ip_tables x_tables autofs4 hid_generic usbhid hid xhci_pci xhci_hcd usbcore usb_common sd_mod\\n CPU: 1 PID: 1982 Comm: ppc-crash Not tainted 6.3.0-rc2+ #88\\n Hardware name: IBM pSeries (emulated by qemu) POWER9 (raw) 0x4e1202 0xf000005 of:SLOF,HEAD hv:linux,kvm pSeries\\n NIP: c0000000000c3a60 LR: c000000000039944 CTR: c0000000000398e0\\n REGS: c0000000041833b0 TRAP: 0300 Not tainted (6.3.0-rc2+)\\n MSR: 800000000280b033 \u003cSF,VEC,VSX,EE,FP,ME,IR,DR,RI,LE\u003e CR: 88082828 XER: 200400f8\\n ...\\n NIP memcpy_power7+0x200/0x7d0\\n LR ppr_get+0x64/0xb0\\n Call Trace:\\n ppr_get+0x40/0xb0 (unreliable)\\n __regset_get+0x180/0x1f0\\n regset_get_alloc+0x64/0x90\\n elf_core_dump+0xb98/0x1b60\\n do_coredump+0x1c34/0x24a0\\n get_signal+0x71c/0x1410\\n do_notify_resume+0x140/0x6f0\\n interrupt_exit_user_prepare_main+0x29c/0x320\\n interrupt_exit_user_prepare+0x6c/0xa0\\n interrupt_return_srr_user+0x8/0x138\\n\\nBecause ppr_get() is trying to copy from a PF_IO_WORKER with a NULL\\npt_regs.\\n\\nCheck for a valid pt_regs in both ppc_get/ppr_set, and return an error\\nif not set. The actual error value doesn\u0027t seem to be important here, so\\njust pick -EINVAL.\\n\\n[mpe: Trim oops in change log, add Fixes \u0026 Cc stable]\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/01849382373b867ddcbe7536b9dfa89f3bcea60e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/064a1c7b0f8403260d77627e62424a72ca26cee2\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/7624973bc15b76d000e8e6f9b8080fcb76d36595\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/80a4200d51e5a7e046f4a90f5faa5bafd5a60c58\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/fd7276189450110ed835eb0a334e62d2f1c4e3be\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}" } }
Loading…
Loading…
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…