7.8

CVE-2023-53331

pstore/ram: Check start of empty przs during init

In the Linux kernel, the following vulnerability has been resolved:

pstore/ram: Check start of empty przs during init

After commit 30696378f68a ("pstore/ram: Do not treat empty buffers as
valid"), initialization would assume a prz was valid after seeing that
the buffer_size is zero (regardless of the buffer start position). This
unchecked start value means it could be outside the bounds of the buffer,
leading to future access panics when written to:

 sysdump_panic_event+0x3b4/0x5b8
 atomic_notifier_call_chain+0x54/0x90
 panic+0x1c8/0x42c
 die+0x29c/0x2a8
 die_kernel_fault+0x68/0x78
 __do_kernel_fault+0x1c4/0x1e0
 do_bad_area+0x40/0x100
 do_translation_fault+0x68/0x80
 do_mem_abort+0x68/0xf8
 el1_da+0x1c/0xc0
 __raw_writeb+0x38/0x174
 __memcpy_toio+0x40/0xac
 persistent_ram_update+0x44/0x12c
 persistent_ram_write+0x1a8/0x1b8
 ramoops_pstore_write+0x198/0x1e8
 pstore_console_write+0x94/0xe0
 ...

To avoid this, also check if the prz start is 0 during the initialization
phase. If not, the next prz sanity check case will discover it (start >
size) and zap the buffer back to a sane state.

[kees: update commit log with backtrace and clarifications]
Daten sind bereitgestellt durch National Vulnerability Database (NVD)
LinuxLinux Kernel Version >= 3.18.133 < 3.19
LinuxLinux Kernel Version >= 4.4.172 < 4.5
LinuxLinux Kernel Version >= 4.9.153 < 4.10
LinuxLinux Kernel Version >= 4.14.96 < 4.14.326
LinuxLinux Kernel Version >= 4.19.18 < 4.19.295
LinuxLinux Kernel Version >= 4.20.5 < 5.4.257
LinuxLinux Kernel Version >= 5.5 < 5.10.195
LinuxLinux Kernel Version >= 5.11 < 5.15.132
LinuxLinux Kernel Version >= 5.16 < 6.1.53
LinuxLinux Kernel Version >= 6.2 < 6.4.16
LinuxLinux Kernel Version >= 6.5 < 6.5.3
VulnDex Vulnerability Enrichment
Diese Information steht angemeldeten Benutzern zur Verfügung. Login Login
Zu dieser CVE wurde keine Warnung gefunden.
EPSS Metriken
Typ Quelle Score Percentile
EPSS FIRST.org 0.15% 0.042
CVSS Metriken
Quelle Base Score Exploit Score Impact Score Vector String
nvd@nist.gov 7.8 1.8 5.9
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
134c704f-9b21-4f2e-91b3-4a467353bcc0 7.8 1.8 5.9
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CWE-787 Out-of-bounds Write

The product writes data past the end, or before the beginning, of the intended buffer.

https://git.kernel.org/stable/c/89312657337e6e03ad6e9ea1a462bd9c158c85c8
Patch
https://git.kernel.org/stable/c/c807ccdd812d18985860504b503899f3140a9549
Patch
https://git.kernel.org/stable/c/e972231db29b5d1dccc13bf9d5ba55b6979a69ed
Patch
https://git.kernel.org/stable/c/dc2f60de9a7d3efd982440117dab5579898d808c
Patch
https://git.kernel.org/stable/c/fedecaeef88899d940b69368c996e8b3b0b8650d
Patch
https://git.kernel.org/stable/c/e95d7a8a6edd14f8fab44c777dd7281db91f6ae2
Patch
https://git.kernel.org/stable/c/f77990358628b01bdc03752126ff5f716ea37615
Patch
https://git.kernel.org/stable/c/25fb4e3402d46f425ec135ef6f09792a4c1b3003
Patch
https://git.kernel.org/stable/c/fe8c3623ab06603eb760444a032d426542212021
Patch