Description
In the Linux kernel, the following vulnerability has been resolved:
Input: elantech - fix stack out of bound access in elantech_change_report_id()
The array param[] in elantech_change_report_id() must be at least 3
bytes, because elantech_read_reg_params() is calling ps2_command() with
PSMOUSE_CMD_GETINFO, that is going to access 3 bytes from param[], but
it's defined in the stack as an array of 2 bytes, therefore we have a
potential stack out-of-bounds access here, also confirmed by KASAN:
[ 6.512374] BUG: KASAN: stack-out-of-bounds in __ps2_command+0x372/0x7e0
[ 6.512397] Read of size 1 at addr ffff8881024d77c2 by task kworker/2:1/118
[ 6.512416] CPU: 2 PID: 118 Comm: kworker/2:1 Not tainted 5.13.0-22-generic #22+arighi20211110
[ 6.512428] Hardware name: LENOVO 20T8000QGE/20T8000QGE, BIOS R1AET32W (1.08 ) 08/14/2020
[ 6.512436] Workqueue: events_long serio_handle_event
[ 6.512453] Call Trace:
[ 6.512462] show_stack+0x52/0x58
[ 6.512474] dump_stack+0xa1/0xd3
[ 6.512487] print_address_description.constprop.0+0x1d/0x140
[ 6.512502] ? __ps2_command+0x372/0x7e0
[ 6.512516] __kasan_report.cold+0x7d/0x112
[ 6.512527] ? _raw_write_lock_irq+0x20/0xd0
[ 6.512539] ? __ps2_command+0x372/0x7e0
[ 6.512552] kasan_report+0x3c/0x50
[ 6.512564] __asan_load1+0x6a/0x70
[ 6.512575] __ps2_command+0x372/0x7e0
[ 6.512589] ? ps2_drain+0x240/0x240
[ 6.512601] ? dev_printk_emit+0xa2/0xd3
[ 6.512612] ? dev_vprintk_emit+0xc5/0xc5
[ 6.512621] ? __kasan_check_write+0x14/0x20
[ 6.512634] ? mutex_lock+0x8f/0xe0
[ 6.512643] ? __mutex_lock_slowpath+0x20/0x20
[ 6.512655] ps2_command+0x52/0x90
[ 6.512670] elantech_ps2_command+0x4f/0xc0 [psmouse]
[ 6.512734] elantech_change_report_id+0x1e6/0x256 [psmouse]
[ 6.512799] ? elantech_report_trackpoint.constprop.0.cold+0xd/0xd [psmouse]
[ 6.512863] ? ps2_command+0x7f/0x90
[ 6.512877] elantech_query_info.cold+0x6bd/0x9ed [psmouse]
[ 6.512943] ? elantech_setup_ps2+0x460/0x460 [psmouse]
[ 6.513005] ? psmouse_reset+0x69/0xb0 [psmouse]
[ 6.513064] ? psmouse_attr_set_helper+0x2a0/0x2a0 [psmouse]
[ 6.513122] ? phys_pmd_init+0x30e/0x521
[ 6.513137] elantech_init+0x8a/0x200 [psmouse]
[ 6.513200] ? elantech_init_ps2+0xf0/0xf0 [psmouse]
[ 6.513249] ? elantech_query_info+0x440/0x440 [psmouse]
[ 6.513296] ? synaptics_send_cmd+0x60/0x60 [psmouse]
[ 6.513342] ? elantech_query_info+0x440/0x440 [psmouse]
[ 6.513388] ? psmouse_try_protocol+0x11e/0x170 [psmouse]
[ 6.513432] psmouse_extensions+0x65d/0x6e0 [psmouse]
[ 6.513476] ? psmouse_try_protocol+0x170/0x170 [psmouse]
[ 6.513519] ? mutex_unlock+0x22/0x40
[ 6.513526] ? ps2_command+0x7f/0x90
[ 6.513536] ? psmouse_probe+0xa3/0xf0 [psmouse]
[ 6.513580] psmouse_switch_protocol+0x27d/0x2e0 [psmouse]
[ 6.513624] psmouse_connect+0x272/0x530 [psmouse]
[ 6.513669] serio_driver_probe+0x55/0x70
[ 6.513679] really_probe+0x190/0x720
[ 6.513689] driver_probe_device+0x160/0x1f0
[ 6.513697] device_driver_attach+0x119/0x130
[ 6.513705] ? device_driver_attach+0x130/0x130
[ 6.513713] __driver_attach+0xe7/0x1a0
[ 6.513720] ? device_driver_attach+0x130/0x130
[ 6.513728] bus_for_each_dev+0xfb/0x150
[ 6.513738] ? subsys_dev_iter_exit+0x10/0x10
[ 6.513748] ? _raw_write_unlock_bh+0x30/0x30
[ 6.513757] driver_attach+0x2d/0x40
[ 6.513764] serio_handle_event+0x199/0x3d0
[ 6.513775] process_one_work+0x471/0x740
[ 6.513785] worker_thread+0x2d2/0x790
[ 6.513794] ? process_one_work+0x740/0x740
[ 6.513802] kthread+0x1b4/0x1e0
[ 6.513809] ? set_kthread_struct+0x80/0x80
[ 6.513816] ret_from_fork+0x22/0x30
[ 6.513832] The buggy address belongs to the page:
[ 6.513838] page:00000000bc35e189 refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x1024d7
[ 6.513847] flags: 0x17ffffc0000000(node=0|zone=2|lastcpupid=0x1fffff)
[ 6.513860] raw: 0
---truncated---
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 5.4.103 – < 5.4.169, 5.10.21 – < 5.10.89, 5.11 | 5.4.169 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | linux | 5.15.15-1 | — |
| Debian 13 | linux | 5.15.15-1 | — |
| Debian 12 | linux | 5.15.15-1 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 24.04 LTS | linux-raspi-realtime | No fix yet | — |
| Ubuntu 22.04 LTS | linux-riscv +22 | No fix yet | — |
| Ubuntu 20.04 LTS | linux | 5.4.0-105.119 | — |
| Ubuntu 20.04 LTS | linux-aws | 5.4.0-1069.73 | — |
| Ubuntu 20.04 LTS | linux-azure | 5.4.0-1073.76 | — |
| Ubuntu 20.04 LTS | linux-bluefield | 5.4.0-1032.35 | — |
| Ubuntu 20.04 LTS | linux-gcp | 5.4.0-1068.72 | — |
| Ubuntu 20.04 LTS | linux-gke +26 | No fix yet | — |
| Ubuntu 20.04 LTS | linux-gkeop | 5.4.0-1037.38 | — |
| Ubuntu 20.04 LTS | linux-ibm | 5.4.0-1018.20 | — |
| Ubuntu 20.04 LTS | linux-kvm | 5.4.0-1059.62 | — |
| Ubuntu 20.04 LTS | linux-oracle | 5.4.0-1067.72 | — |
| Ubuntu 20.04 LTS | linux-raspi | 5.4.0-1056.63 | — |
| Ubuntu 18.04 LTS | linux-aws-5.4 | 5.4.0-1069.73~18.04.1 | — |
| Ubuntu 18.04 LTS | linux-azure-5.4 | 5.4.0-1073.76~18.04.1 | — |
| Ubuntu 18.04 LTS | linux-gcp +13 | No fix yet | — |
| Ubuntu 18.04 LTS | linux-gcp-5.4 | 5.4.0-1068.72~18.04.1 | — |
| Ubuntu 18.04 LTS | linux-hwe-5.4 | 5.4.0-105.119~18.04.1 | — |
| Ubuntu 18.04 LTS | linux-ibm-5.4 | 5.4.0-1018.20~18.04.1 | — |
| Ubuntu 18.04 LTS | linux-oracle-5.4 | 5.4.0-1067.72~18.04.1 | — |
| Ubuntu 18.04 LTS | linux-raspi-5.4 | 5.4.0-1056.63~18.04.1 | — |
| Ubuntu 16.04 LTS | linux-hwe-edge | No fix yet | — |
Show 2 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Pro FIPS 20.04 LTS | linux-fips | No fix yet | — |
| Ubuntu Pro FIPS-updates 20.04 LTS | linux-fips | 5.4.0-1046.52 | — |
Red Hat
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| RHEL 8 | kernel-rt +12 | 4.18.0-553.22.1.rt7.363.el8_10 | RHSA-2024:7001 |
| RHEL 8 | perf +26 | 4.18.0-553.22.1.el8_10 | RHSA-2024:7000 |
AlmaLinux
Errata ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| AlmaLinux 8 | kernel-rt +11 | 4.18.0-553.22.1.rt7.363.el8_10 | ALSA-2024:7001 |
| AlmaLinux 8 | perf +24 | 4.18.0-553.22.1.el8_10 | ALSA-2024:7000 |
Rocky Linux
Errata ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Rocky Linux 8 | kernel | 4.18.0-553.22.1.el8_10 | RLSA-2024:7000 |
| Rocky Linux 8 | kernel-rt | 4.18.0-553.22.1.rt7.363.el8_10 | RLSA-2024:7001 |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP5 | kernel-64kb +6 | 5.14.21-150500.55.59.1 | SUSE-SU-2024:1480-1 |
| SLES 15 SP5 | kernel-azure +2 | 5.14.21-150500.33.48.1 | SUSE-SU-2024:1490-1 |
| SLES 15 SP5 | kernel-default-base | 5.14.21-150500.55.59.1.150500.6.25.7 | SUSE-SU-2024:1480-1 |
| SLES 15 SP4 | kernel-64kb +6 | 5.14.21-150400.24.116.1 | SUSE-SU-2024:1321-1 |
| SLES 15 SP4 | kernel-default-base | 5.14.21-150400.24.116.1.150400.24.54.5 | SUSE-SU-2024:1321-1 |
| SLES 15 SP3 | kernel-64kb +7 | 5.3.18-150300.59.158.1 | SUSE-SU-2024:1489-1 |
| SLES 15 SP3 | kernel-default-base | 5.3.18-150300.59.158.1.150300.18.92.5 | SUSE-SU-2024:1489-1 |
Show 16 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES for SAP 15 SP4 | kernel-default-base | 5.14.21-150400.24.116.1.150400.24.54.5 | SUSE-SU-2024:1321-1 |
| SLES for SAP 15 SP4 | kernel-docs +4 | 5.14.21-150400.24.116.1 | SUSE-SU-2024:1321-1 |
| SLES for SAP 15 SP3 | kernel-default-base | 5.3.18-150300.59.158.1.150300.18.92.5 | SUSE-SU-2024:1489-1 |
| SLES for SAP 15 SP3 | kernel-docs +5 | 5.3.18-150300.59.158.1 | SUSE-SU-2024:1489-1 |
| SLE Micro 5.5 | kernel-default | 5.14.21-150500.55.59.1 | SUSE-SU-2024:1480-1 |
| SLE Micro 5.5 | kernel-default-base | 5.14.21-150500.55.59.1.150500.6.25.7 | SUSE-SU-2024:1480-1 |
| SLE Micro 5.5 | kernel-rt +1 | 5.14.21-150500.13.47.1 | SUSE-SU-2024:1466-1 |
| SLE Micro 5.4 | kernel-default | 5.14.21-150400.24.116.1 | SUSE-SU-2024:1321-1 |
| SLE Micro 5.4 | kernel-default-base | 5.14.21-150400.24.116.1.150400.24.54.5 | SUSE-SU-2024:1321-1 |
| SLE Micro 5.4 | kernel-rt +1 | 5.14.21-150400.15.76.1 | SUSE-SU-2024:1320-1 |
| SLE Micro 5.3 | kernel-default | 5.14.21-150400.24.116.1 | SUSE-SU-2024:1321-1 |
| SLE Micro 5.3 | kernel-default-base | 5.14.21-150400.24.116.1.150400.24.54.5 | SUSE-SU-2024:1321-1 |
| SLE Micro 5.3 | kernel-rt +1 | 5.14.21-150400.15.76.1 | SUSE-SU-2024:1320-1 |
| SLE Micro 5.2 | kernel-default | 5.3.18-150300.59.158.1 | SUSE-SU-2024:1489-1 |
| SLE Micro 5.2 | kernel-default-base | 5.3.18-150300.59.158.1.150300.18.92.5 | SUSE-SU-2024:1489-1 |
| SLE Micro 5.2 | kernel-rt +1 | 5.3.18-150300.166.1 | SUSE-SU-2024:1465-1 |
| SLE Micro 5.1 | kernel-default | 5.3.18-150300.59.158.1 | SUSE-SU-2024:1489-1 |
| SLE Micro 5.1 | kernel-default-base | 5.3.18-150300.59.158.1.150300.18.92.5 | SUSE-SU-2024:1489-1 |
| SLE Micro 5.1 | kernel-rt +1 | 5.3.18-150300.166.1 | SUSE-SU-2024:1465-1 |
| SLE Live Patching 15 SP5 | kernel-default | 5.14.21-150500.55.59.1 | SUSE-SU-2024:1480-1 |
| SLE Live Patching 15 SP5 | kernel-livepatch-SLE15-SP5-RT_Update_13 | 1-150500.11.3.1 | SUSE-SU-2024:1466-1 |
| SLE Live Patching 15 SP5 | kernel-livepatch-SLE15-SP5_Update_12 | 1-150500.11.7.1 | SUSE-SU-2024:1480-1 |
| SLE Live Patching 15 SP4 | kernel-default | 5.14.21-150400.24.116.1 | SUSE-SU-2024:1321-1 |
| SLE Live Patching 15 SP4 | kernel-livepatch-SLE15-SP4_Update_25 | 1-150400.9.5.1 | SUSE-SU-2024:1321-1 |
| SLE Live Patching 15 SP3 | kernel-default | 5.3.18-150300.59.158.1 | SUSE-SU-2024:1489-1 |
| SLE Live Patching 15 SP3 | kernel-livepatch-SLE15-SP3_Update_43 | 1-150300.7.3.5 | SUSE-SU-2024:1489-1 |
| SLE HPC 15 SP4 | kernel-64kb +5 | 5.14.21-150400.24.116.1 | SUSE-SU-2024:1321-1 |
| SLE HPC 15 SP4 | kernel-default-base | 5.14.21-150400.24.116.1.150400.24.54.5 | SUSE-SU-2024:1321-1 |
| SLE HPC 15 SP3 | kernel-64kb +6 | 5.3.18-150300.59.158.1 | SUSE-SU-2024:1489-1 |
| SLE HPC 15 SP3 | kernel-default-base | 5.3.18-150300.59.158.1.150300.18.92.5 | SUSE-SU-2024:1489-1 |
| SUSE Real Time Module 15 SP5 | kernel-rt +3 | 5.14.21-150500.13.47.1 | SUSE-SU-2024:1466-1 |
| SUSE Manager Server 4.3 | kernel-default-base | 5.14.21-150400.24.116.1.150400.24.54.5 | SUSE-SU-2024:1321-1 |
| SUSE Manager Server 4.3 | kernel-syms +3 | 5.14.21-150400.24.116.1 | SUSE-SU-2024:1321-1 |
| SUSE Manager Proxy 4.3 | kernel-default-base | 5.14.21-150400.24.116.1.150400.24.54.5 | SUSE-SU-2024:1321-1 |
| SUSE Manager Proxy 4.3 | kernel-syms +2 | 5.14.21-150400.24.116.1 | SUSE-SU-2024:1321-1 |
| SUSE Enterprise Storage 7.1 | kernel-64kb +6 | 5.3.18-150300.59.158.1 | SUSE-SU-2024:1489-1 |
| SUSE Enterprise Storage 7.1 | kernel-default-base | 5.3.18-150300.59.158.1.150300.18.92.5 | SUSE-SU-2024:1489-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Leap 15.5 | dtb-aarch64 +10 | 5.14.21-150500.55.59.1 | SUSE-SU-2024:1480-1 |
| openSUSE Leap 15.5 | kernel-azure +2 | 5.14.21-150500.33.48.1 | SUSE-SU-2024:1490-1 |
| openSUSE Leap 15.5 | kernel-default-base | 5.14.21-150500.55.59.1.150500.6.25.7 | SUSE-SU-2024:1480-1 |
| openSUSE Leap 15.5 | kernel-rt +3 | 5.14.21-150500.13.47.1 | SUSE-SU-2024:1466-1 |
Show 2 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Leap Micro 5.4 | kernel-default | 5.14.21-150400.24.116.1 | SUSE-SU-2024:1321-1 |
| openSUSE Leap Micro 5.4 | kernel-default-base | 5.14.21-150400.24.116.1.150400.24.54.5 | SUSE-SU-2024:1321-1 |
| openSUSE Leap Micro 5.4 | kernel-rt | 5.14.21-150400.15.76.1 | SUSE-SU-2024:1320-1 |
| openSUSE Leap Micro 5.3 | kernel-default | 5.14.21-150400.24.116.1 | SUSE-SU-2024:1321-1 |
| openSUSE Leap Micro 5.3 | kernel-default-base | 5.14.21-150400.24.116.1.150400.24.54.5 | SUSE-SU-2024:1321-1 |
| openSUSE Leap Micro 5.3 | kernel-rt | 5.14.21-150400.15.76.1 | SUSE-SU-2024:1320-1 |
Oracle Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Oracle Linux 8 | perf +19 | 4.18.0-553.22.1.el8_10 | ELSA-2024-7000 |
Advisories 15
- ALSA-2024:7001 Important: kernel-rt security update AlmaLinux Security Advisories · Oct 29, 2026
- ALSA-2024:7000 Important: kernel security update AlmaLinux Security Advisories · Oct 29, 2026
- RHSA-2024:7001 Red Hat Security Advisory: kernel-rt security update Red Hat Security Advisories (RHSA) · Oct 17, 2026
- RHSA-2024:7000 Red Hat Security Advisory: kernel security update Red Hat Security Advisories (RHSA) · Oct 17, 2026
- WID-SEC-2024-0549 Linux Kernel: Mehrere Schwachstellen BSI CERT-Bund (WID) · Jun 1, 2026
- RLSA-2024:7001 Important: kernel-rt security update Rocky Linux Security Advisories · Feb 5, 2026
- SUSE-SU-2024:1489-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2024:1320-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2024:1480-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2024:1490-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2024:1466-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2024:1465-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- RLSA-2024:7000 Important: kernel security update Rocky Linux Security Advisories · May 7, 2025
- SUSE-SU-2024:1321-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · May 2, 2025
- ELSA-2024-7000 Important: kernel security update (Oracle Linux 8) Oracle Linux Security Advisories (ELSA) · Sep 24, 2024