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().
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon Linux Ami 2 | — | Upgrade kernelUpgrade kernel-livepatch-5.10.198-187.748Upgrade kernel-tools-debuginfoUpgrade kernel-tools-develUpgrade perf-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-debuginfoUpgrade kernel-headersUpgrade python-perf-debuginfoUpgrade perfUpgrade kernel-develUpgrade bpftool-debuginfoUpgrade kernel-toolsUpgrade bpftoolUpgrade python-perfUpgrade kernel-debuginfo-common-aarch64 | Aug 2, 2024 | Mar 2, 2024 |
| Debian | — | Upgrade linux | Jul 30, 2024 | Mar 2, 2024 |
| Suse | — | Upgrade kernel-docsUpgrade cluster-md-kmp-64kbUpgrade dtb-amdUpgrade dlm-kmp-azureUpgrade kernel-default-livepatchUpgrade kselftests-kmp-rtUpgrade dlm-kmp-defaultUpgrade gfs2-kmp-64kbUpgrade gfs2-kmp-defaultUpgrade dtb-broadcomUpgrade dtb-renesasUpgrade dtb-hisiliconUpgrade kernel-rt-optionalUpgrade kernel-default-livepatch-develUpgrade kernel-azure-vdsoUpgrade kernel-64kb-extraUpgrade kernel-kvmsmall-vdsoUpgrade kernel-rt-livepatch-develUpgrade kernel-debug-develUpgrade kernel-symsUpgrade kselftests-kmp-defaultUpgrade cluster-md-kmp-defaultUpgrade dtb-sprdUpgrade kernel-64kb-optionalUpgrade kselftests-kmp-azureUpgrade kernel-debug-livepatch-develUpgrade kernel-rt_debug-livepatch-develUpgrade dtb-appleUpgrade ocfs2-kmp-azureUpgrade dtb-amazonUpgrade reiserfs-kmp-64kbUpgrade kernel-64kb-livepatch-develUpgrade kernel-source-vanillaUpgrade kernel-debugUpgrade kernel-syms-rtUpgrade kernel-docs-htmlUpgrade reiserfs-kmp-defaultUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-rt_debug-vdsoUpgrade reiserfs-kmp-rtUpgrade kernel-rt_debugUpgrade kernel-default-develUpgrade kernel-azure-extraUpgrade dtb-socionextUpgrade kernel-default-baseUpgrade kernel-source-rtUpgrade kernel-64kb-develUpgrade dlm-kmp-rtUpgrade kernel-64kbUpgrade dtb-marvellUpgrade dtb-freescaleUpgrade ocfs2-kmp-64kbUpgrade kernel-defaultUpgrade kernel-azure-develUpgrade kernel-rt_debug-develUpgrade dtb-mediatekUpgrade dtb-alteraUpgrade kselftests-kmp-64kbUpgrade kernel-zfcpdumpUpgrade dtb-caviumUpgrade kernel-devel-azureUpgrade kernel-devel-rtUpgrade ocfs2-kmp-defaultUpgrade kernel-sourceUpgrade kernel-kvmsmallUpgrade kernel-default-base-rebuildUpgrade kernel-default-extraUpgrade dtb-rockchipUpgrade dtb-armUpgrade kernel-azure-optionalUpgrade gfs2-kmp-azureUpgrade dlm-kmp-64kbUpgrade cluster-md-kmp-azureUpgrade dtb-amlogicUpgrade dtb-allwinnerUpgrade kernel-rt-extraUpgrade kernel-rt-develUpgrade kernel-obs-qaUpgrade kernel-develUpgrade gfs2-kmp-rtUpgrade dtb-qcomUpgrade dtb-nvidiaUpgrade kernel-syms-azureUpgrade ocfs2-kmp-rtUpgrade kernel-default-optionalUpgrade dtb-exynosUpgrade dtb-xilinxUpgrade kernel-azure-livepatch-develUpgrade kernel-macrosUpgrade kernel-azureUpgrade reiserfs-kmp-azureUpgrade kernel-obs-buildUpgrade kernel-rt-vdsoUpgrade kernel-source-azureUpgrade kernel-rt-livepatchUpgrade kernel-kvmsmall-develUpgrade kernel-debug-vdsoUpgrade dtb-lgUpgrade dtb-apmUpgrade cluster-md-kmp-rtUpgrade kernel-rtUpgrade kernel-default-vdso | Apr 17, 2024 | Mar 2, 2024 |
| Ubuntu | — | Upgrade linux-oracle-6.5Upgrade linux-aws-5.15Upgrade linux-riscvUpgrade linux-bluefieldUpgrade linux-nvidia-6.5Upgrade linux-oracleUpgrade linux-gkeop-5.15Upgrade linux-riscv-5.15Upgrade linux-oem-6.5Upgrade linux-hwe-5.15Upgrade linux-gcp-5.15Upgrade linux-gkeUpgrade linux-azure-fdeUpgrade linux-intel-iotg-5.15Upgrade linux-lowlatency-hwe-5.15Upgrade linux-realtimeUpgrade linux-intel-iotgUpgrade linux-azureUpgrade linux-ibmUpgrade linux-nvidiaUpgrade linux-raspiUpgrade linux-gcpUpgrade linux-fipsUpgrade linux-starfiveUpgrade linux-xilinx-zynqmpUpgrade linux-kvmUpgrade linux-gcp-6.5Upgrade linux-lowlatency-hwe-6.5Upgrade linuxUpgrade linux-nvidia-tegra-igxUpgrade linux-hwe-6.5Upgrade linux-laptopUpgrade linux-azure-5.15Upgrade linux-nvidia-tegraUpgrade linux-gkeopUpgrade linux-aws-fipsUpgrade linux-ibm-5.15Upgrade linux-awsUpgrade linux-intel-iot-realtimeUpgrade linux-lowlatencyUpgrade linux-nvidia-tegra-5.15Upgrade linux-oracle-5.15Upgrade linux-gcp-fips | Nov 19, 2024 | Mar 2, 2024 |
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub