CVE-2022-48870
Severity CVSS v4.0:
Pending analysis
Type:
CWE-476
NULL Pointer Dereference
Publication date:
21/08/2024
Last modified:
06/09/2024
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
tty: fix possible null-ptr-defer in spk_ttyio_release<br />
<br />
Run the following tests on the qemu platform:<br />
<br />
syzkaller:~# modprobe speakup_audptr<br />
input: Speakup as /devices/virtual/input/input4<br />
initialized device: /dev/synth, node (MAJOR 10, MINOR 125)<br />
speakup 3.1.6: initialized<br />
synth name on entry is: (null)<br />
synth probe<br />
<br />
spk_ttyio_initialise_ldisc failed because tty_kopen_exclusive returned<br />
failed (errno -16), then remove the module, we will get a null-ptr-defer<br />
problem, as follow:<br />
<br />
syzkaller:~# modprobe -r speakup_audptr<br />
releasing synth audptr<br />
BUG: kernel NULL pointer dereference, address: 0000000000000080<br />
#PF: supervisor write access in kernel mode<br />
#PF: error_code(0x0002) - not-present page<br />
PGD 0 P4D 0<br />
Oops: 0002 [#1] PREEMPT SMP PTI<br />
CPU: 2 PID: 204 Comm: modprobe Not tainted 6.1.0-rc6-dirty #1<br />
RIP: 0010:mutex_lock+0x14/0x30<br />
Call Trace:<br />
<br />
spk_ttyio_release+0x19/0x70 [speakup]<br />
synth_release.part.6+0xac/0xc0 [speakup]<br />
synth_remove+0x56/0x60 [speakup]<br />
__x64_sys_delete_module+0x156/0x250<br />
? fpregs_assert_state_consistent+0x1d/0x50<br />
do_syscall_64+0x37/0x90<br />
entry_SYSCALL_64_after_hwframe+0x63/0xcd<br />
<br />
Modules linked in: speakup_audptr(-) speakup<br />
Dumping ftrace buffer:<br />
<br />
in_synth->dev was not initialized during modprobe, so we add check<br />
for in_synth->dev to fix this bug.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.12 (including) | 5.15.90 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 6.1.8 (excluding) |
To consult the complete list of CPE names with products and versions, see this page



