CVE-2022-48870: tty: fix possible null-ptr-defer in spk_ttyio_release
In the Linux kernel, the following vulnerability has been resolved:
tty: fix possible null-ptr-defer in spk_ttyio_release
Run the following tests on the qemu platform:
syzkaller:~# modprobe speakup_audptr
input: Speakup as /devices/virtual/input/input4
initialized device: /dev/synth, node (MAJOR 10, MINOR 125)
speakup 3.1.6: initialized
synth name on entry is: (null)
synth probe
spk_ttyio_initialise_ldisc failed because tty_kopen_exclusive returned
failed (errno -16), then remove the module, we will get a null-ptr-defer
problem, as follow:
syzkaller:~# modprobe -r speakup_audptr
releasing synth audptr
BUG: kernel NULL pointer dereference, address: 0000000000000080
#PF: supervisor write access in kernel mode
#PF: error_code(0x0002) - not-present page
PGD 0 P4D 0
Oops: 0002 [#1] PREEMPT SMP PTI
CPU: 2 PID: 204 Comm: modprobe Not tainted 6.1.0-rc6-dirty #1
RIP: 0010:mutex_lock+0x14/0x30
Call Trace:
<TASK>
spk_ttyio_release+0x19/0x70 [speakup]
synth_release.part.6+0xac/0xc0 [speakup]
synth_remove+0x56/0x60 [speakup]
__x64_sys_delete_module+0x156/0x250
? fpregs_assert_state_consistent+0x1d/0x50
do_syscall_64+0x37/0x90
entry_SYSCALL_64_after_hwframe+0x63/0xcd
</TASK>
Modules linked in: speakup_audptr(-) speakup
Dumping ftrace buffer:
in_synth->dev was not initialized during modprobe, so we add check
for in_synth->dev to fix this bug.
Security readout for executives and security teams
Plain-English summary
CVE-2022-48870 is a Linux kernel bug in the Speakup accessibility driver path. A failed TTY initialization can leave a device pointer unset, and later cleanup can dereference it, causing a kernel crash. The sources do not show data theft, privilege escalation, or active exploitation.
Executive priority
Treat this as routine kernel maintenance unless your environment exposes Speakup modules on shared or high-availability Linux systems. The likely business impact is local service disruption, not confirmed compromise, based on the available evidence.
Technical view
The flaw is a NULL pointer dereference in spk_ttyio_release after spk_ttyio_initialise_ldisc fails and in_synth->dev was never initialized. The upstream fix adds a guard for in_synth->dev. Evidence points to local denial-of-service conditions around Speakup module lifecycle, not remote exploitation.
Likely exposure
Exposure appears limited to Linux systems running affected kernel versions with Speakup-related modules available or used. Systems without this driver path enabled are less likely to be exposed, but the bundle does not provide distribution-specific package status.
Exploitation context
CISA KEV status is false, and the provided sources do not claim exploitation in the wild. The described trigger came from syzkaller testing on QEMU and involved local module load and removal behavior after failed TTY setup.
Researcher notes
The record lacks CVSS, CWE, and distribution-level affected package details. Research should focus on kernel branch mapping, distro backports, module availability, and whether local users can reach the module lifecycle path in real deployments.
Mitigation direction
Update to a Linux kernel build containing the referenced stable fixes.
Check your Linux distribution advisory for backported fixes and supported kernel packages.
If Speakup is unnecessary, confirm with vendor guidance whether disabling related modules is appropriate.
Prioritize systems where untrusted users can influence kernel module loading or console accessibility drivers.
Validation and detection
Inventory Linux kernel versions against the affected and fixed ranges in vendor advisories.
Verify whether Speakup or speakup_audptr modules are present or operationally required.
Confirm the running kernel includes one of the referenced stable commits or a distro backport.
Review kernel logs for NULL dereference traces involving spk_ttyio_release or Speakup cleanup.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2022-48870 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.