CVE-2023-52564

Revert "tty: n_gsm: fix UAF in gsm_cleanup_mux"

State
Published
Severity
Not scored
Published
Mar 2, 2024
Updated
May 23, 2026
Reserved
Mar 2, 2024

Read the record on cve.org

Description

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

Revert "tty: n_gsm: fix UAF in gsm_cleanup_mux"

This reverts commit 9b9c8195f3f0d74a826077fc1c01b9ee74907239.

The commit above is reverted as it did not solve the original issue.

gsm_cleanup_mux() tries to free up the virtual ttys by calling gsm_dlci_release() for each available DLCI. There, dlci_put() is called to decrease the reference counter for the DLCI via tty_port_put() which finally calls gsm_dlci_free(). This already clears the pointer which is being checked in gsm_cleanup_mux() before calling gsm_dlci_release(). Therefore, it is not necessary to clear this pointer in gsm_cleanup_mux() as done in the reverted commit. The commit introduces a null pointer dereference: <TASK> ? __die+0x1f/0x70 ? page_fault_oops+0x156/0x420 ? search_exception_tables+0x37/0x50 ? fixup_exception+0x21/0x310 ? exc_page_fault+0x69/0x150 ? asm_exc_page_fault+0x26/0x30 ? tty_port_put+0x19/0xa0 gsmtty_cleanup+0x29/0x80 [n_gsm] release_one_tty+0x37/0xe0 process_one_work+0x1e6/0x3e0 worker_thread+0x4c/0x3d0 ? __pfx_worker_thread+0x10/0x10 kthread+0xe1/0x110 ? __pfx_kthread+0x10/0x10 ret_from_fork+0x2f/0x50 ? __pfx_kthread+0x10/0x10 ret_from_fork_asm+0x1b/0x30 </TASK>

The actual issue is that nothing guards dlci_put() from being called multiple times while the tty driver was triggered but did not yet finished calling gsm_dlci_free().

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 8fc0eabaa73bbd9bd705577071564616da5c8c61 to before 6d5c8862932d31a810b6545f7d69ecc124402c6eAffected
  • 5138c228311a863c3cf937b94a3ab4c87f1f70c4 to before a48d2bcd23f2c98d575bc2f9b7a3fbd16aeea9ebAffected
  • 9615ca54bc138e35353a001e8b5d4824dce72188 to before c61d0b87a7028c2c10faffc524d748334c7b9827Affected
  • 9b9c8195f3f0d74a826077fc1c01b9ee74907239 to before 2bff660e0ff349dee84dc4f6f6d10da4497f5b28Affected
  • 9b9c8195f3f0d74a826077fc1c01b9ee74907239 to before 29346e217b8ab8a52889b88f00b268278d6b7668Affected
  • 74a8d6f50cc90ed0061997db51dfa81a62b0f835Affected
  • 5.10.190 to before 5.10.198Affected
  • 5.15.124 to before 5.15.134Affected
  • 6.1.43 to before 6.1.56Affected
  • 6.4.8 to before 6.5Affected
LinuxLinux
  • 6.5Affected
  • before 6.5Not affected
  • 5.10.198 through 5.10.*Not affected
  • 5.15.134 through 5.15.*Not affected
  • 6.1.56 through 6.1.*Not affected
  • 6.5.6 through 6.5.*Not affected
  • 6.6 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.