CVE-2021-47097 (GCVE-0-2021-47097)
Vulnerability from cvelistv5 – Published: 2024-03-04 18:10 – Updated: 2026-05-23 15:19
VLAI
EPSS
VEX
Title
Input: elantech - fix stack out of bound access in elantech_change_report_id()
Summary
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---
Severity
No CVSS data available.
SSVC
Exploitation: none
Automatable: no
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2024-03-06 20:23 UTC
Assigner
References
Impacted products
2 products
| Vendor | Product | Version | CPE status | |
|---|---|---|---|---|
| Linux | Linux |
Affected:
9e4815cf178561104881e5d687ef69396aca1c8d , < a7f95328c6f0afffdc4555f16e3bbab8bbf0d9be
(git)
Affected: dde807b4a44273fa5f62c0cb308295e6d6642550 , < 676c572439e58b7ee6b7ca3f1e5595382921045c (git) Affected: e4c9062717feda88900b566463228d1c4910af6d , < dfd5b60b5342b6b505a104e48f08ad9b9bdbbd7b (git) Affected: e4c9062717feda88900b566463228d1c4910af6d , < 1d72d9f960ccf1052a0630a68c3d358791dbdaaa (git) Affected: 5.4.103 , < 5.4.169 (semver) Affected: 5.10.21 , < 5.10.89 (semver) |
guessed | |
| Linux | Linux |
Affected:
5.11
Unaffected: 0 , < 5.11 (semver) Unaffected: 5.4.169 , ≤ 5.4.* (semver) Unaffected: 5.10.89 , ≤ 5.10.* (semver) Unaffected: 5.15.12 , ≤ 5.15.* (semver) Unaffected: 5.16 , ≤ * (original_commit_for_fix) |
guessed |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2021-47097",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2024-03-06T20:23:43.853175Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2024-06-04T17:14:19.316Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
},
{
"providerMetadata": {
"dateUpdated": "2024-08-04T05:24:39.882Z",
"orgId": "af854a3a-2127-422b-91ae-364da2661108",
"shortName": "CVE"
},
"references": [
{
"tags": [
"x_transferred"
],
"url": "https://git.kernel.org/stable/c/a7f95328c6f0afffdc4555f16e3bbab8bbf0d9be"
},
{
"tags": [
"x_transferred"
],
"url": "https://git.kernel.org/stable/c/676c572439e58b7ee6b7ca3f1e5595382921045c"
},
{
"tags": [
"x_transferred"
],
"url": "https://git.kernel.org/stable/c/dfd5b60b5342b6b505a104e48f08ad9b9bdbbd7b"
},
{
"tags": [
"x_transferred"
],
"url": "https://git.kernel.org/stable/c/1d72d9f960ccf1052a0630a68c3d358791dbdaaa"
}
],
"title": "CVE Program Container"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/input/mouse/elantech.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "a7f95328c6f0afffdc4555f16e3bbab8bbf0d9be",
"status": "affected",
"version": "9e4815cf178561104881e5d687ef69396aca1c8d",
"versionType": "git"
},
{
"lessThan": "676c572439e58b7ee6b7ca3f1e5595382921045c",
"status": "affected",
"version": "dde807b4a44273fa5f62c0cb308295e6d6642550",
"versionType": "git"
},
{
"lessThan": "dfd5b60b5342b6b505a104e48f08ad9b9bdbbd7b",
"status": "affected",
"version": "e4c9062717feda88900b566463228d1c4910af6d",
"versionType": "git"
},
{
"lessThan": "1d72d9f960ccf1052a0630a68c3d358791dbdaaa",
"status": "affected",
"version": "e4c9062717feda88900b566463228d1c4910af6d",
"versionType": "git"
},
{
"lessThan": "5.4.169",
"status": "affected",
"version": "5.4.103",
"versionType": "semver"
},
{
"lessThan": "5.10.89",
"status": "affected",
"version": "5.10.21",
"versionType": "semver"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"drivers/input/mouse/elantech.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "5.11"
},
{
"lessThan": "5.11",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.4.*",
"status": "unaffected",
"version": "5.4.169",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"version": "5.10.89",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"version": "5.15.12",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "5.16",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.4.169",
"versionStartIncluding": "5.4.103",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.10.89",
"versionStartIncluding": "5.10.21",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.15.12",
"versionStartIncluding": "5.11",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.16",
"versionStartIncluding": "5.11",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nInput: elantech - fix stack out of bound access in elantech_change_report_id()\n\nThe array param[] in elantech_change_report_id() must be at least 3\nbytes, because elantech_read_reg_params() is calling ps2_command() with\nPSMOUSE_CMD_GETINFO, that is going to access 3 bytes from param[], but\nit\u0027s defined in the stack as an array of 2 bytes, therefore we have a\npotential stack out-of-bounds access here, also confirmed by KASAN:\n\n[ 6.512374] BUG: KASAN: stack-out-of-bounds in __ps2_command+0x372/0x7e0\n[ 6.512397] Read of size 1 at addr ffff8881024d77c2 by task kworker/2:1/118\n\n[ 6.512416] CPU: 2 PID: 118 Comm: kworker/2:1 Not tainted 5.13.0-22-generic #22+arighi20211110\n[ 6.512428] Hardware name: LENOVO 20T8000QGE/20T8000QGE, BIOS R1AET32W (1.08 ) 08/14/2020\n[ 6.512436] Workqueue: events_long serio_handle_event\n[ 6.512453] Call Trace:\n[ 6.512462] show_stack+0x52/0x58\n[ 6.512474] dump_stack+0xa1/0xd3\n[ 6.512487] print_address_description.constprop.0+0x1d/0x140\n[ 6.512502] ? __ps2_command+0x372/0x7e0\n[ 6.512516] __kasan_report.cold+0x7d/0x112\n[ 6.512527] ? _raw_write_lock_irq+0x20/0xd0\n[ 6.512539] ? __ps2_command+0x372/0x7e0\n[ 6.512552] kasan_report+0x3c/0x50\n[ 6.512564] __asan_load1+0x6a/0x70\n[ 6.512575] __ps2_command+0x372/0x7e0\n[ 6.512589] ? ps2_drain+0x240/0x240\n[ 6.512601] ? dev_printk_emit+0xa2/0xd3\n[ 6.512612] ? dev_vprintk_emit+0xc5/0xc5\n[ 6.512621] ? __kasan_check_write+0x14/0x20\n[ 6.512634] ? mutex_lock+0x8f/0xe0\n[ 6.512643] ? __mutex_lock_slowpath+0x20/0x20\n[ 6.512655] ps2_command+0x52/0x90\n[ 6.512670] elantech_ps2_command+0x4f/0xc0 [psmouse]\n[ 6.512734] elantech_change_report_id+0x1e6/0x256 [psmouse]\n[ 6.512799] ? elantech_report_trackpoint.constprop.0.cold+0xd/0xd [psmouse]\n[ 6.512863] ? ps2_command+0x7f/0x90\n[ 6.512877] elantech_query_info.cold+0x6bd/0x9ed [psmouse]\n[ 6.512943] ? elantech_setup_ps2+0x460/0x460 [psmouse]\n[ 6.513005] ? psmouse_reset+0x69/0xb0 [psmouse]\n[ 6.513064] ? psmouse_attr_set_helper+0x2a0/0x2a0 [psmouse]\n[ 6.513122] ? phys_pmd_init+0x30e/0x521\n[ 6.513137] elantech_init+0x8a/0x200 [psmouse]\n[ 6.513200] ? elantech_init_ps2+0xf0/0xf0 [psmouse]\n[ 6.513249] ? elantech_query_info+0x440/0x440 [psmouse]\n[ 6.513296] ? synaptics_send_cmd+0x60/0x60 [psmouse]\n[ 6.513342] ? elantech_query_info+0x440/0x440 [psmouse]\n[ 6.513388] ? psmouse_try_protocol+0x11e/0x170 [psmouse]\n[ 6.513432] psmouse_extensions+0x65d/0x6e0 [psmouse]\n[ 6.513476] ? psmouse_try_protocol+0x170/0x170 [psmouse]\n[ 6.513519] ? mutex_unlock+0x22/0x40\n[ 6.513526] ? ps2_command+0x7f/0x90\n[ 6.513536] ? psmouse_probe+0xa3/0xf0 [psmouse]\n[ 6.513580] psmouse_switch_protocol+0x27d/0x2e0 [psmouse]\n[ 6.513624] psmouse_connect+0x272/0x530 [psmouse]\n[ 6.513669] serio_driver_probe+0x55/0x70\n[ 6.513679] really_probe+0x190/0x720\n[ 6.513689] driver_probe_device+0x160/0x1f0\n[ 6.513697] device_driver_attach+0x119/0x130\n[ 6.513705] ? device_driver_attach+0x130/0x130\n[ 6.513713] __driver_attach+0xe7/0x1a0\n[ 6.513720] ? device_driver_attach+0x130/0x130\n[ 6.513728] bus_for_each_dev+0xfb/0x150\n[ 6.513738] ? subsys_dev_iter_exit+0x10/0x10\n[ 6.513748] ? _raw_write_unlock_bh+0x30/0x30\n[ 6.513757] driver_attach+0x2d/0x40\n[ 6.513764] serio_handle_event+0x199/0x3d0\n[ 6.513775] process_one_work+0x471/0x740\n[ 6.513785] worker_thread+0x2d2/0x790\n[ 6.513794] ? process_one_work+0x740/0x740\n[ 6.513802] kthread+0x1b4/0x1e0\n[ 6.513809] ? set_kthread_struct+0x80/0x80\n[ 6.513816] ret_from_fork+0x22/0x30\n\n[ 6.513832] The buggy address belongs to the page:\n[ 6.513838] page:00000000bc35e189 refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x1024d7\n[ 6.513847] flags: 0x17ffffc0000000(node=0|zone=2|lastcpupid=0x1fffff)\n[ 6.513860] raw: 0\n---truncated---"
}
],
"providerMetadata": {
"dateUpdated": "2026-05-23T15:19:18.641Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/a7f95328c6f0afffdc4555f16e3bbab8bbf0d9be"
},
{
"url": "https://git.kernel.org/stable/c/676c572439e58b7ee6b7ca3f1e5595382921045c"
},
{
"url": "https://git.kernel.org/stable/c/dfd5b60b5342b6b505a104e48f08ad9b9bdbbd7b"
},
{
"url": "https://git.kernel.org/stable/c/1d72d9f960ccf1052a0630a68c3d358791dbdaaa"
}
],
"title": "Input: elantech - fix stack out of bound access in elantech_change_report_id()",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2021-47097",
"datePublished": "2024-03-04T18:10:49.194Z",
"dateReserved": "2024-02-29T22:33:44.301Z",
"dateUpdated": "2026-05-23T15:19:18.641Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2021-47097",
"date": "2026-09-15",
"epss": "0.00416",
"percentile": "0.35174"
},
"fkie_nvd": {
"descriptions": "[{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nInput: elantech - fix stack out of bound access in elantech_change_report_id()\\n\\nThe array param[] in elantech_change_report_id() must be at least 3\\nbytes, because elantech_read_reg_params() is calling ps2_command() with\\nPSMOUSE_CMD_GETINFO, that is going to access 3 bytes from param[], but\\nit\u0027s defined in the stack as an array of 2 bytes, therefore we have a\\npotential stack out-of-bounds access here, also confirmed by KASAN:\\n\\n[ 6.512374] BUG: KASAN: stack-out-of-bounds in __ps2_command+0x372/0x7e0\\n[ 6.512397] Read of size 1 at addr ffff8881024d77c2 by task kworker/2:1/118\\n\\n[ 6.512416] CPU: 2 PID: 118 Comm: kworker/2:1 Not tainted 5.13.0-22-generic #22+arighi20211110\\n[ 6.512428] Hardware name: LENOVO 20T8000QGE/20T8000QGE, BIOS R1AET32W (1.08 ) 08/14/2020\\n[ 6.512436] Workqueue: events_long serio_handle_event\\n[ 6.512453] Call Trace:\\n[ 6.512462] show_stack+0x52/0x58\\n[ 6.512474] dump_stack+0xa1/0xd3\\n[ 6.512487] print_address_description.constprop.0+0x1d/0x140\\n[ 6.512502] ? __ps2_command+0x372/0x7e0\\n[ 6.512516] __kasan_report.cold+0x7d/0x112\\n[ 6.512527] ? _raw_write_lock_irq+0x20/0xd0\\n[ 6.512539] ? __ps2_command+0x372/0x7e0\\n[ 6.512552] kasan_report+0x3c/0x50\\n[ 6.512564] __asan_load1+0x6a/0x70\\n[ 6.512575] __ps2_command+0x372/0x7e0\\n[ 6.512589] ? ps2_drain+0x240/0x240\\n[ 6.512601] ? dev_printk_emit+0xa2/0xd3\\n[ 6.512612] ? dev_vprintk_emit+0xc5/0xc5\\n[ 6.512621] ? __kasan_check_write+0x14/0x20\\n[ 6.512634] ? mutex_lock+0x8f/0xe0\\n[ 6.512643] ? __mutex_lock_slowpath+0x20/0x20\\n[ 6.512655] ps2_command+0x52/0x90\\n[ 6.512670] elantech_ps2_command+0x4f/0xc0 [psmouse]\\n[ 6.512734] elantech_change_report_id+0x1e6/0x256 [psmouse]\\n[ 6.512799] ? elantech_report_trackpoint.constprop.0.cold+0xd/0xd [psmouse]\\n[ 6.512863] ? ps2_command+0x7f/0x90\\n[ 6.512877] elantech_query_info.cold+0x6bd/0x9ed [psmouse]\\n[ 6.512943] ? elantech_setup_ps2+0x460/0x460 [psmouse]\\n[ 6.513005] ? psmouse_reset+0x69/0xb0 [psmouse]\\n[ 6.513064] ? psmouse_attr_set_helper+0x2a0/0x2a0 [psmouse]\\n[ 6.513122] ? phys_pmd_init+0x30e/0x521\\n[ 6.513137] elantech_init+0x8a/0x200 [psmouse]\\n[ 6.513200] ? elantech_init_ps2+0xf0/0xf0 [psmouse]\\n[ 6.513249] ? elantech_query_info+0x440/0x440 [psmouse]\\n[ 6.513296] ? synaptics_send_cmd+0x60/0x60 [psmouse]\\n[ 6.513342] ? elantech_query_info+0x440/0x440 [psmouse]\\n[ 6.513388] ? psmouse_try_protocol+0x11e/0x170 [psmouse]\\n[ 6.513432] psmouse_extensions+0x65d/0x6e0 [psmouse]\\n[ 6.513476] ? psmouse_try_protocol+0x170/0x170 [psmouse]\\n[ 6.513519] ? mutex_unlock+0x22/0x40\\n[ 6.513526] ? ps2_command+0x7f/0x90\\n[ 6.513536] ? psmouse_probe+0xa3/0xf0 [psmouse]\\n[ 6.513580] psmouse_switch_protocol+0x27d/0x2e0 [psmouse]\\n[ 6.513624] psmouse_connect+0x272/0x530 [psmouse]\\n[ 6.513669] serio_driver_probe+0x55/0x70\\n[ 6.513679] really_probe+0x190/0x720\\n[ 6.513689] driver_probe_device+0x160/0x1f0\\n[ 6.513697] device_driver_attach+0x119/0x130\\n[ 6.513705] ? device_driver_attach+0x130/0x130\\n[ 6.513713] __driver_attach+0xe7/0x1a0\\n[ 6.513720] ? device_driver_attach+0x130/0x130\\n[ 6.513728] bus_for_each_dev+0xfb/0x150\\n[ 6.513738] ? subsys_dev_iter_exit+0x10/0x10\\n[ 6.513748] ? _raw_write_unlock_bh+0x30/0x30\\n[ 6.513757] driver_attach+0x2d/0x40\\n[ 6.513764] serio_handle_event+0x199/0x3d0\\n[ 6.513775] process_one_work+0x471/0x740\\n[ 6.513785] worker_thread+0x2d2/0x790\\n[ 6.513794] ? process_one_work+0x740/0x740\\n[ 6.513802] kthread+0x1b4/0x1e0\\n[ 6.513809] ? set_kthread_struct+0x80/0x80\\n[ 6.513816] ret_from_fork+0x22/0x30\\n\\n[ 6.513832] The buggy address belongs to the page:\\n[ 6.513838] page:00000000bc35e189 refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x1024d7\\n[ 6.513847] flags: 0x17ffffc0000000(node=0|zone=2|lastcpupid=0x1fffff)\\n[ 6.513860] raw: 0\\n---truncated---\"}, {\"lang\": \"es\", \"value\": \"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: Entrada: elantech - arregla la pila fuera del acceso limitado en elantech_change_report_id() El par\\u00e1metro de matriz[] en elantech_change_report_id() debe tener al menos 3 bytes, porque elantech_read_reg_params() est\\u00e1 llamando a ps2_command( ) con PSMOUSE_CMD_GETINFO, que acceder\\u00e1 a 3 bytes desde param[], pero est\\u00e1 definido en la pila como una matriz de 2 bytes, por lo tanto, aqu\\u00ed tenemos un posible acceso fuera de los l\\u00edmites a la pila, tambi\\u00e9n confirmado por KASAN: [6.512374 ] ERROR: KASAN: pila fuera de los l\\u00edmites en __ps2_command+0x372/0x7e0 [6.512397] Lectura del tama\\u00f1o 1 en la direcci\\u00f3n ffff8881024d77c2 por tarea kworker/2:1/118 [6.512416] CPU: 2 PID: 118 Comm: kworker/ 2:1 No contaminado 5.13.0-22-generic #22+arighi20211110 [6.512428] Nombre de hardware: LENOVO 20T8000QGE/20T8000QGE, BIOS R1AET32W (1.08) 14/08/2020 [6.512436] Cola de trabajo: events_long serio_handle_even t [6.512453] Seguimiento de llamadas: [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] realmente_probe+0x190/0x720 [ 6.513689] driver_probe_device +0x160/0x1f0 [6.513697] dispositivo_driver_attach+0x119/0x130 [6.513705] ? dispositivo_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] trabajador_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] La direcci\\u00f3n del error pertenece a la p\\u00e1gina: [6.513838] p\\u00e1gina:00000000bc35e189 refcount:0 mapcount:0 mapeo:0000000000000000 index:0x0 pfn:0x1024d7 [6.513847] banderas: 0x17ffffc0000000(nodo=0|zona=2|lastcpupid=0x1fffff) [6.513860] sin procesar: 0\"}]",
"id": "CVE-2021-47097",
"lastModified": "2024-11-21T06:35:23.540",
"published": "2024-03-04T18:15:08.017",
"references": "[{\"url\": \"https://git.kernel.org/stable/c/1d72d9f960ccf1052a0630a68c3d358791dbdaaa\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}, {\"url\": \"https://git.kernel.org/stable/c/676c572439e58b7ee6b7ca3f1e5595382921045c\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}, {\"url\": \"https://git.kernel.org/stable/c/a7f95328c6f0afffdc4555f16e3bbab8bbf0d9be\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}, {\"url\": \"https://git.kernel.org/stable/c/dfd5b60b5342b6b505a104e48f08ad9b9bdbbd7b\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}, {\"url\": \"https://git.kernel.org/stable/c/1d72d9f960ccf1052a0630a68c3d358791dbdaaa\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\"}, {\"url\": \"https://git.kernel.org/stable/c/676c572439e58b7ee6b7ca3f1e5595382921045c\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\"}, {\"url\": \"https://git.kernel.org/stable/c/a7f95328c6f0afffdc4555f16e3bbab8bbf0d9be\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\"}, {\"url\": \"https://git.kernel.org/stable/c/dfd5b60b5342b6b505a104e48f08ad9b9bdbbd7b\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\"}]",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"vulnStatus": "Awaiting Analysis"
},
"nvd": "{\"cve\":{\"id\":\"CVE-2021-47097\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-03-04T18:15:08.017\",\"lastModified\":\"2026-06-17T04:16:28.193\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nInput: elantech - fix stack out of bound access in elantech_change_report_id()\\n\\nThe array param[] in elantech_change_report_id() must be at least 3\\nbytes, because elantech_read_reg_params() is calling ps2_command() with\\nPSMOUSE_CMD_GETINFO, that is going to access 3 bytes from param[], but\\nit\u0027s defined in the stack as an array of 2 bytes, therefore we have a\\npotential stack out-of-bounds access here, also confirmed by KASAN:\\n\\n[ 6.512374] BUG: KASAN: stack-out-of-bounds in __ps2_command+0x372/0x7e0\\n[ 6.512397] Read of size 1 at addr ffff8881024d77c2 by task kworker/2:1/118\\n\\n[ 6.512416] CPU: 2 PID: 118 Comm: kworker/2:1 Not tainted 5.13.0-22-generic #22+arighi20211110\\n[ 6.512428] Hardware name: LENOVO 20T8000QGE/20T8000QGE, BIOS R1AET32W (1.08 ) 08/14/2020\\n[ 6.512436] Workqueue: events_long serio_handle_event\\n[ 6.512453] Call Trace:\\n[ 6.512462] show_stack+0x52/0x58\\n[ 6.512474] dump_stack+0xa1/0xd3\\n[ 6.512487] print_address_description.constprop.0+0x1d/0x140\\n[ 6.512502] ? __ps2_command+0x372/0x7e0\\n[ 6.512516] __kasan_report.cold+0x7d/0x112\\n[ 6.512527] ? _raw_write_lock_irq+0x20/0xd0\\n[ 6.512539] ? __ps2_command+0x372/0x7e0\\n[ 6.512552] kasan_report+0x3c/0x50\\n[ 6.512564] __asan_load1+0x6a/0x70\\n[ 6.512575] __ps2_command+0x372/0x7e0\\n[ 6.512589] ? ps2_drain+0x240/0x240\\n[ 6.512601] ? dev_printk_emit+0xa2/0xd3\\n[ 6.512612] ? dev_vprintk_emit+0xc5/0xc5\\n[ 6.512621] ? __kasan_check_write+0x14/0x20\\n[ 6.512634] ? mutex_lock+0x8f/0xe0\\n[ 6.512643] ? __mutex_lock_slowpath+0x20/0x20\\n[ 6.512655] ps2_command+0x52/0x90\\n[ 6.512670] elantech_ps2_command+0x4f/0xc0 [psmouse]\\n[ 6.512734] elantech_change_report_id+0x1e6/0x256 [psmouse]\\n[ 6.512799] ? elantech_report_trackpoint.constprop.0.cold+0xd/0xd [psmouse]\\n[ 6.512863] ? ps2_command+0x7f/0x90\\n[ 6.512877] elantech_query_info.cold+0x6bd/0x9ed [psmouse]\\n[ 6.512943] ? elantech_setup_ps2+0x460/0x460 [psmouse]\\n[ 6.513005] ? psmouse_reset+0x69/0xb0 [psmouse]\\n[ 6.513064] ? psmouse_attr_set_helper+0x2a0/0x2a0 [psmouse]\\n[ 6.513122] ? phys_pmd_init+0x30e/0x521\\n[ 6.513137] elantech_init+0x8a/0x200 [psmouse]\\n[ 6.513200] ? elantech_init_ps2+0xf0/0xf0 [psmouse]\\n[ 6.513249] ? elantech_query_info+0x440/0x440 [psmouse]\\n[ 6.513296] ? synaptics_send_cmd+0x60/0x60 [psmouse]\\n[ 6.513342] ? elantech_query_info+0x440/0x440 [psmouse]\\n[ 6.513388] ? psmouse_try_protocol+0x11e/0x170 [psmouse]\\n[ 6.513432] psmouse_extensions+0x65d/0x6e0 [psmouse]\\n[ 6.513476] ? psmouse_try_protocol+0x170/0x170 [psmouse]\\n[ 6.513519] ? mutex_unlock+0x22/0x40\\n[ 6.513526] ? ps2_command+0x7f/0x90\\n[ 6.513536] ? psmouse_probe+0xa3/0xf0 [psmouse]\\n[ 6.513580] psmouse_switch_protocol+0x27d/0x2e0 [psmouse]\\n[ 6.513624] psmouse_connect+0x272/0x530 [psmouse]\\n[ 6.513669] serio_driver_probe+0x55/0x70\\n[ 6.513679] really_probe+0x190/0x720\\n[ 6.513689] driver_probe_device+0x160/0x1f0\\n[ 6.513697] device_driver_attach+0x119/0x130\\n[ 6.513705] ? device_driver_attach+0x130/0x130\\n[ 6.513713] __driver_attach+0xe7/0x1a0\\n[ 6.513720] ? device_driver_attach+0x130/0x130\\n[ 6.513728] bus_for_each_dev+0xfb/0x150\\n[ 6.513738] ? subsys_dev_iter_exit+0x10/0x10\\n[ 6.513748] ? _raw_write_unlock_bh+0x30/0x30\\n[ 6.513757] driver_attach+0x2d/0x40\\n[ 6.513764] serio_handle_event+0x199/0x3d0\\n[ 6.513775] process_one_work+0x471/0x740\\n[ 6.513785] worker_thread+0x2d2/0x790\\n[ 6.513794] ? process_one_work+0x740/0x740\\n[ 6.513802] kthread+0x1b4/0x1e0\\n[ 6.513809] ? set_kthread_struct+0x80/0x80\\n[ 6.513816] ret_from_fork+0x22/0x30\\n\\n[ 6.513832] The buggy address belongs to the page:\\n[ 6.513838] page:00000000bc35e189 refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x1024d7\\n[ 6.513847] flags: 0x17ffffc0000000(node=0|zone=2|lastcpupid=0x1fffff)\\n[ 6.513860] raw: 0\\n---truncated---\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: Entrada: elantech - arregla la pila fuera del acceso limitado en elantech_change_report_id() El par\u00e1metro de matriz[] en elantech_change_report_id() debe tener al menos 3 bytes, porque elantech_read_reg_params() est\u00e1 llamando a ps2_command( ) con PSMOUSE_CMD_GETINFO, que acceder\u00e1 a 3 bytes desde param[], pero est\u00e1 definido en la pila como una matriz de 2 bytes, por lo tanto, aqu\u00ed tenemos un posible acceso fuera de los l\u00edmites a la pila, tambi\u00e9n confirmado por KASAN: [6.512374 ] ERROR: KASAN: pila fuera de los l\u00edmites en __ps2_command+0x372/0x7e0 [6.512397] Lectura del tama\u00f1o 1 en la direcci\u00f3n ffff8881024d77c2 por tarea kworker/2:1/118 [6.512416] CPU: 2 PID: 118 Comm: kworker/ 2:1 No contaminado 5.13.0-22-generic #22+arighi20211110 [6.512428] Nombre de hardware: LENOVO 20T8000QGE/20T8000QGE, BIOS R1AET32W (1.08) 14/08/2020 [6.512436] Cola de trabajo: events_long serio_handle_even t [6.512453] Seguimiento de llamadas: [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] realmente_probe+0x190/0x720 [ 6.513689] driver_probe_device +0x160/0x1f0 [6.513697] dispositivo_driver_attach+0x119/0x130 [6.513705] ? dispositivo_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] trabajador_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] La direcci\u00f3n del error pertenece a la p\u00e1gina: [6.513838] p\u00e1gina:00000000bc35e189 refcount:0 mapcount:0 mapeo:0000000000000000 index:0x0 pfn:0x1024d7 [6.513847] banderas: 0x17ffffc0000000(nodo=0|zona=2|lastcpupid=0x1fffff) [6.513860] sin procesar: 0\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/input/mouse/elantech.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"9e4815cf178561104881e5d687ef69396aca1c8d\",\"lessThan\":\"a7f95328c6f0afffdc4555f16e3bbab8bbf0d9be\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"dde807b4a44273fa5f62c0cb308295e6d6642550\",\"lessThan\":\"676c572439e58b7ee6b7ca3f1e5595382921045c\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"e4c9062717feda88900b566463228d1c4910af6d\",\"lessThan\":\"dfd5b60b5342b6b505a104e48f08ad9b9bdbbd7b\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"e4c9062717feda88900b566463228d1c4910af6d\",\"lessThan\":\"1d72d9f960ccf1052a0630a68c3d358791dbdaaa\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"5.4.103\",\"lessThan\":\"5.4.169\",\"versionType\":\"semver\",\"status\":\"affected\"},{\"version\":\"5.10.21\",\"lessThan\":\"5.10.89\",\"versionType\":\"semver\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/input/mouse/elantech.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"5.11\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"5.11\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.4.169\",\"lessThanOrEqual\":\"5.4.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.10.89\",\"lessThanOrEqual\":\"5.10.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.15.12\",\"lessThanOrEqual\":\"5.15.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.16\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H\",\"baseScore\":7.1,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.2}],\"ssvcV203\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"ssvcData\":{\"timestamp\":\"2024-03-06T20:23:43.853175Z\",\"id\":\"CVE-2021-47097\",\"options\":[{\"exploitation\":\"none\"},{\"automatable\":\"no\"},{\"technicalImpact\":\"partial\"}],\"role\":\"CISA Coordinator\",\"version\":\"2.0.3\"}}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-125\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.4.103\",\"versionEndExcluding\":\"5.4.169\",\"matchCriteriaId\":\"DDBC5C85-1295-4FF8-A68E-2A142F6BFED2\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.10.21\",\"versionEndExcluding\":\"5.10.89\",\"matchCriteriaId\":\"10987117-BAEF-4BEB-8D19-BD9BB6E8BD33\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.11\",\"versionEndExcluding\":\"5.15.12\",\"matchCriteriaId\":\"732BA914-7B3B-43CD-857F-8119106F6F71\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:5.16:rc1:*:*:*:*:*:*\",\"matchCriteriaId\":\"357AA433-37E8-4323-BFB2-3038D6E4B414\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:5.16:rc2:*:*:*:*:*:*\",\"matchCriteriaId\":\"A73429BA-C2D9-4D0C-A75F-06A1CA8B3983\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:5.16:rc3:*:*:*:*:*:*\",\"matchCriteriaId\":\"F621B5E3-E99D-49E7-90B9-EC3B77C95383\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:5.16:rc4:*:*:*:*:*:*\",\"matchCriteriaId\":\"F7BFDCAA-1650-49AA-8462-407DD593F94F\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:5.16:rc5:*:*:*:*:*:*\",\"matchCriteriaId\":\"6EC9882F-866D-4ACB-8FBC-213D8D8436C8\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:5.16:rc6:*:*:*:*:*:*\",\"matchCriteriaId\":\"8A0915FE-A4AA-4C94-B783-CF29D81E7E54\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/1d72d9f960ccf1052a0630a68c3d358791dbdaaa\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Exploit\",\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/676c572439e58b7ee6b7ca3f1e5595382921045c\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Exploit\",\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/a7f95328c6f0afffdc4555f16e3bbab8bbf0d9be\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Exploit\",\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/dfd5b60b5342b6b505a104e48f08ad9b9bdbbd7b\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Exploit\",\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/1d72d9f960ccf1052a0630a68c3d358791dbdaaa\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Exploit\",\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/676c572439e58b7ee6b7ca3f1e5595382921045c\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Exploit\",\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/a7f95328c6f0afffdc4555f16e3bbab8bbf0d9be\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Exploit\",\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/dfd5b60b5342b6b505a104e48f08ad9b9bdbbd7b\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Exploit\",\"Mailing List\",\"Patch\"]}]}}",
"redhat_vex": {
"aggregate_severity": "Moderate",
"current_release_date": "2026-06-28T07:49:51+00:00",
"cve": "CVE-2021-47097",
"id": "CVE-2021-47097",
"initial_release_date": "2021-01-01T00:00:00+00:00",
"product_status:fixed": "150",
"product_status:known_affected": "150",
"source": "Red Hat CSAF VEX",
"status": "final",
"title": "kernel: Input: elantech - fix stack out of bound access in elantech_change_report_id()",
"url": "https://security.access.redhat.com/data/csaf/v2/vex/2021/cve-2021-47097.json",
"version": "3"
},
"suse_vex": {
"aggregate_severity": "moderate",
"current_release_date": "2026-09-11T02:40:31Z",
"cve": "CVE-2021-47097",
"id": "CVE-2021-47097",
"initial_release_date": "2024-03-06T04:52:28Z",
"product_status:known_affected": "291",
"product_status:known_not_affected": "239",
"product_status:recommended": "582",
"source": "SUSE CSAF VEX",
"status": "interim",
"title": "SUSE CVE CVE-2021-47097",
"url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2021-47097.json",
"version": "58"
},
"vulnrichment": {
"containers": "{\"adp\": [{\"title\": \"CVE Program Container\", \"references\": [{\"url\": \"https://git.kernel.org/stable/c/a7f95328c6f0afffdc4555f16e3bbab8bbf0d9be\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/676c572439e58b7ee6b7ca3f1e5595382921045c\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/dfd5b60b5342b6b505a104e48f08ad9b9bdbbd7b\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/1d72d9f960ccf1052a0630a68c3d358791dbdaaa\", \"tags\": [\"x_transferred\"]}], \"providerMetadata\": {\"orgId\": \"af854a3a-2127-422b-91ae-364da2661108\", \"shortName\": \"CVE\", \"dateUpdated\": \"2024-08-04T05:24:39.882Z\"}}, {\"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2021-47097\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-03-06T20:23:43.853175Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-05-23T19:01:16.201Z\"}, \"title\": \"CISA ADP Vulnrichment\"}], \"cna\": {\"title\": \"Input: elantech - fix stack out of bound access in elantech_change_report_id()\", \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"9e4815cf178561104881e5d687ef69396aca1c8d\", \"lessThan\": \"a7f95328c6f0afffdc4555f16e3bbab8bbf0d9be\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"dde807b4a44273fa5f62c0cb308295e6d6642550\", \"lessThan\": \"676c572439e58b7ee6b7ca3f1e5595382921045c\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"e4c9062717feda88900b566463228d1c4910af6d\", \"lessThan\": \"dfd5b60b5342b6b505a104e48f08ad9b9bdbbd7b\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"e4c9062717feda88900b566463228d1c4910af6d\", \"lessThan\": \"1d72d9f960ccf1052a0630a68c3d358791dbdaaa\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"5.4.103\", \"lessThan\": \"5.4.169\", \"versionType\": \"semver\"}, {\"status\": \"affected\", \"version\": \"5.10.21\", \"lessThan\": \"5.10.89\", \"versionType\": \"semver\"}], \"programFiles\": [\"drivers/input/mouse/elantech.c\"], \"defaultStatus\": \"unaffected\"}, {\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"5.11\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"5.11\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"5.4.169\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.4.*\"}, {\"status\": \"unaffected\", \"version\": \"5.10.89\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.10.*\"}, {\"status\": \"unaffected\", \"version\": \"5.15.12\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.15.*\"}, {\"status\": \"unaffected\", \"version\": \"5.16\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"drivers/input/mouse/elantech.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/a7f95328c6f0afffdc4555f16e3bbab8bbf0d9be\"}, {\"url\": \"https://git.kernel.org/stable/c/676c572439e58b7ee6b7ca3f1e5595382921045c\"}, {\"url\": \"https://git.kernel.org/stable/c/dfd5b60b5342b6b505a104e48f08ad9b9bdbbd7b\"}, {\"url\": \"https://git.kernel.org/stable/c/1d72d9f960ccf1052a0630a68c3d358791dbdaaa\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nInput: elantech - fix stack out of bound access in elantech_change_report_id()\\n\\nThe array param[] in elantech_change_report_id() must be at least 3\\nbytes, because elantech_read_reg_params() is calling ps2_command() with\\nPSMOUSE_CMD_GETINFO, that is going to access 3 bytes from param[], but\\nit\u0027s defined in the stack as an array of 2 bytes, therefore we have a\\npotential stack out-of-bounds access here, also confirmed by KASAN:\\n\\n[ 6.512374] BUG: KASAN: stack-out-of-bounds in __ps2_command+0x372/0x7e0\\n[ 6.512397] Read of size 1 at addr ffff8881024d77c2 by task kworker/2:1/118\\n\\n[ 6.512416] CPU: 2 PID: 118 Comm: kworker/2:1 Not tainted 5.13.0-22-generic #22+arighi20211110\\n[ 6.512428] Hardware name: LENOVO 20T8000QGE/20T8000QGE, BIOS R1AET32W (1.08 ) 08/14/2020\\n[ 6.512436] Workqueue: events_long serio_handle_event\\n[ 6.512453] Call Trace:\\n[ 6.512462] show_stack+0x52/0x58\\n[ 6.512474] dump_stack+0xa1/0xd3\\n[ 6.512487] print_address_description.constprop.0+0x1d/0x140\\n[ 6.512502] ? __ps2_command+0x372/0x7e0\\n[ 6.512516] __kasan_report.cold+0x7d/0x112\\n[ 6.512527] ? _raw_write_lock_irq+0x20/0xd0\\n[ 6.512539] ? __ps2_command+0x372/0x7e0\\n[ 6.512552] kasan_report+0x3c/0x50\\n[ 6.512564] __asan_load1+0x6a/0x70\\n[ 6.512575] __ps2_command+0x372/0x7e0\\n[ 6.512589] ? ps2_drain+0x240/0x240\\n[ 6.512601] ? dev_printk_emit+0xa2/0xd3\\n[ 6.512612] ? dev_vprintk_emit+0xc5/0xc5\\n[ 6.512621] ? __kasan_check_write+0x14/0x20\\n[ 6.512634] ? mutex_lock+0x8f/0xe0\\n[ 6.512643] ? __mutex_lock_slowpath+0x20/0x20\\n[ 6.512655] ps2_command+0x52/0x90\\n[ 6.512670] elantech_ps2_command+0x4f/0xc0 [psmouse]\\n[ 6.512734] elantech_change_report_id+0x1e6/0x256 [psmouse]\\n[ 6.512799] ? elantech_report_trackpoint.constprop.0.cold+0xd/0xd [psmouse]\\n[ 6.512863] ? ps2_command+0x7f/0x90\\n[ 6.512877] elantech_query_info.cold+0x6bd/0x9ed [psmouse]\\n[ 6.512943] ? elantech_setup_ps2+0x460/0x460 [psmouse]\\n[ 6.513005] ? psmouse_reset+0x69/0xb0 [psmouse]\\n[ 6.513064] ? psmouse_attr_set_helper+0x2a0/0x2a0 [psmouse]\\n[ 6.513122] ? phys_pmd_init+0x30e/0x521\\n[ 6.513137] elantech_init+0x8a/0x200 [psmouse]\\n[ 6.513200] ? elantech_init_ps2+0xf0/0xf0 [psmouse]\\n[ 6.513249] ? elantech_query_info+0x440/0x440 [psmouse]\\n[ 6.513296] ? synaptics_send_cmd+0x60/0x60 [psmouse]\\n[ 6.513342] ? elantech_query_info+0x440/0x440 [psmouse]\\n[ 6.513388] ? psmouse_try_protocol+0x11e/0x170 [psmouse]\\n[ 6.513432] psmouse_extensions+0x65d/0x6e0 [psmouse]\\n[ 6.513476] ? psmouse_try_protocol+0x170/0x170 [psmouse]\\n[ 6.513519] ? mutex_unlock+0x22/0x40\\n[ 6.513526] ? ps2_command+0x7f/0x90\\n[ 6.513536] ? psmouse_probe+0xa3/0xf0 [psmouse]\\n[ 6.513580] psmouse_switch_protocol+0x27d/0x2e0 [psmouse]\\n[ 6.513624] psmouse_connect+0x272/0x530 [psmouse]\\n[ 6.513669] serio_driver_probe+0x55/0x70\\n[ 6.513679] really_probe+0x190/0x720\\n[ 6.513689] driver_probe_device+0x160/0x1f0\\n[ 6.513697] device_driver_attach+0x119/0x130\\n[ 6.513705] ? device_driver_attach+0x130/0x130\\n[ 6.513713] __driver_attach+0xe7/0x1a0\\n[ 6.513720] ? device_driver_attach+0x130/0x130\\n[ 6.513728] bus_for_each_dev+0xfb/0x150\\n[ 6.513738] ? subsys_dev_iter_exit+0x10/0x10\\n[ 6.513748] ? _raw_write_unlock_bh+0x30/0x30\\n[ 6.513757] driver_attach+0x2d/0x40\\n[ 6.513764] serio_handle_event+0x199/0x3d0\\n[ 6.513775] process_one_work+0x471/0x740\\n[ 6.513785] worker_thread+0x2d2/0x790\\n[ 6.513794] ? process_one_work+0x740/0x740\\n[ 6.513802] kthread+0x1b4/0x1e0\\n[ 6.513809] ? set_kthread_struct+0x80/0x80\\n[ 6.513816] ret_from_fork+0x22/0x30\\n\\n[ 6.513832] The buggy address belongs to the page:\\n[ 6.513838] page:00000000bc35e189 refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x1024d7\\n[ 6.513847] flags: 0x17ffffc0000000(node=0|zone=2|lastcpupid=0x1fffff)\\n[ 6.513860] raw: 0\\n---truncated---\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.4.169\", \"versionStartIncluding\": \"5.4.103\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.10.89\", \"versionStartIncluding\": \"5.10.21\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.15.12\", \"versionStartIncluding\": \"5.11\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.16\", \"versionStartIncluding\": \"5.11\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2026-05-23T15:19:18.641Z\"}}}",
"cveMetadata": "{\"cveId\": \"CVE-2021-47097\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-05-23T15:19:18.641Z\", \"dateReserved\": \"2024-02-29T22:33:44.301Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2024-03-04T18:10:49.194Z\", \"assignerShortName\": \"Linux\"}",
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
}
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
The MITRE ATT&CK techniques below are AI-generated suggestions, inferred from the description of the
vulnerability by the CIRCL/vulnerability-attack-technique-classification-roberta-base
model, served locally by ML-Gateway.
They have not been verified by an analyst and are provided for guidance only.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Loading…
Loading…