CVE-2021-47169
published 2024-03-25CVE-2021-47169: In the Linux kernel, the following vulnerability has been resolved: serial: rp2: use 'request_firmware' instead of 'request_firmware_nowait' In 'rp2_probe'…
PriorityP421medium5.5CVSS 3.1
AVLACLPRLUINSUCNINAH
EPSS
0.23%
13.4th percentile
In the Linux kernel, the following vulnerability has been resolved:
serial: rp2: use 'request_firmware' instead of 'request_firmware_nowait'
In 'rp2_probe', the driver registers 'rp2_uart_interrupt' then calls
'rp2_fw_cb' through 'request_firmware_nowait'. In 'rp2_fw_cb', if the
firmware don't exists, function just return without initializing ports
of 'rp2_card'. But now the interrupt handler function has been
registered, and when an interrupt comes, 'rp2_uart_interrupt' may access
those ports then causing NULL pointer dereference or other bugs.
Because the driver does some initialization work in 'rp2_fw_cb', in
order to make the driver ready to handle interrupts, 'request_firmware'
should be used instead of asynchronous 'request_firmware_nowait'.
This report reveals it:
INFO: trying to register non-static key.
the code is fine but needs lockdep annotation.
turning off the locking correctness validator.
CPU: 2 PID: 0 Comm: swapper/2 Not tainted 4.19.177-gdba4159c14ef-dirty #45
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.12.0-59-
gc9ba5276e321-prebuilt.qemu.org 04/01/2014
Call Trace:
__dump_stack lib/dump_stack.c:77 [inline]
dump_stack+0xec/0x156 lib/dump_stack.c:118
assign_lock_key kernel/locking/lockdep.c:727 [inline]
register_lock_class+0x14e5/0x1ba0 kernel/locking/lockdep.c:753
__lock_acquire+0x187/0x3750 kernel/locking/lockdep.c:3303
lock_acquire+0x124/0x340 kernel/locking/lockdep.c:3907
__raw_spin_lock include/linux/spinlock_api_smp.h:142 [inline]
_raw_spin_lock+0x32/0x50 kernel/locking/spinlock.c:144
spin_lock include/linux/spinlock.h:329 [inline]
rp2_ch_interrupt drivers/tty/serial/rp2.c:466 [inline]
rp2_asic_interrupt.isra.9+0x15d/0x990 drivers/tty/serial/rp2.c:493
rp2_uart_interrupt+0x49/0xe0 drivers/tty/serial/rp2.c:504
__handle_irq_event_percpu+0xfb/0x770 kernel/irq/handle.c:149
handle_irq_event_percpu+0x79/0x150 kernel/irq/handle.c:189
handle_irq_event+0xac/0x140 kernel/irq/handle.c:206
handle_fasteoi_irq+0x232/0x5c0 kernel/irq/c
Affected
22 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| debian | linux | < linux 5.14.6-1 (bookworm) | linux 5.14.6-1 (bookworm) |
| linux | linux | — | — |
| linux | linux | >= 7d9f49afa451d8565d00a5cea39acf9bb26feb50 < 1e04d5d5fe5e76af68f834e1941fcbfa439653be | 1e04d5d5fe5e76af68f834e1941fcbfa439653be |
| linux | linux | >= 7d9f49afa451d8565d00a5cea39acf9bb26feb50 < c697244ce940ec07e2d745ccb63ca97fc0266fbc | c697244ce940ec07e2d745ccb63ca97fc0266fbc |
| linux | linux | >= 7d9f49afa451d8565d00a5cea39acf9bb26feb50 < 1cc57cb32c84e059bd158494f746b665fc14d1b1 | 1cc57cb32c84e059bd158494f746b665fc14d1b1 |
| linux | linux | >= 7d9f49afa451d8565d00a5cea39acf9bb26feb50 < 35265552c7fe9553c75e324c80f45e28ff14eb6e | 35265552c7fe9553c75e324c80f45e28ff14eb6e |
| linux | linux | >= 7d9f49afa451d8565d00a5cea39acf9bb26feb50 < 915452f40e2f495e187276c4407a4f567ec2307e | 915452f40e2f495e187276c4407a4f567ec2307e |
| linux | linux | >= 7d9f49afa451d8565d00a5cea39acf9bb26feb50 < 6a931ceb0b9401fe18d0c500e08164bf9cc7be4b | 6a931ceb0b9401fe18d0c500e08164bf9cc7be4b |
| linux | linux | >= 7d9f49afa451d8565d00a5cea39acf9bb26feb50 < 9b07b6973f7359e2dd6a9fe6db0c142634c823b7 | 9b07b6973f7359e2dd6a9fe6db0c142634c823b7 |
| linux | linux | >= 7d9f49afa451d8565d00a5cea39acf9bb26feb50 < 016002848c82eeb5d460489ce392d91fe18c475c | 016002848c82eeb5d460489ce392d91fe18c475c |
| linux | linux_kernel | < 4.4.271 | 4.4.271 |
| linux | linux_kernel | — | — |
| linux | linux_kernel | >= 0 < 5.10.46-1 | 5.10.46-1 |
| linux | linux_kernel | >= 0 < 5.14.6-1 | 5.14.6-1 |
| linux | linux_kernel | >= 0 < 5.14.6-1 | 5.14.6-1 |
| linux | linux_kernel | >= 0 < 5.14.6-1 | 5.14.6-1 |
| linux | linux_kernel | >= 4.10 < 4.14.235 | 4.14.235 |
| linux | linux_kernel | >= 4.15 < 4.19.193 | 4.19.193 |
| linux | linux_kernel | >= 4.20 < 5.4.124 | 5.4.124 |
| linux | linux_kernel | >= 4.5 < 4.9.271 | 4.9.271 |
| linux | linux_kernel | >= 5.11 < 5.12.9 | 5.12.9 |
| linux | linux_kernel | >= 5.5 < 5.10.42 | 5.10.42 |
CVSS provenance
nvdv3.15.5MEDIUMCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
osv5.5MEDIUM
vendor_debian5.5MEDIUM
vendor_redhat5.5MEDIUM
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
GHSA
GHSA-q5g9-gxxp-qxh7: In the Linux kernel, the following vulnerability has been resolved:
serial: rp2: use 'request_firmware' instead of 'request_firmware_nowait'
In 'rp2
ghsa_unreviewed·2024-03-25
CVE-2021-47169 [MEDIUM] CWE-476 GHSA-q5g9-gxxp-qxh7: In the Linux kernel, the following vulnerability has been resolved:
serial: rp2: use 'request_firmware' instead of 'request_firmware_nowait'
In 'rp2
In the Linux kernel, the following vulnerability has been resolved:
serial: rp2: use 'request_firmware' instead of 'request_firmware_nowait'
In 'rp2_probe', the driver registers 'rp2_uart_interrupt' then calls
'rp2_fw_cb' through 'request_firmware_nowait'. In 'rp2_fw_cb', if the
firmware don't exists, function just return without initializing ports
of 'rp2_card'. But now the interrupt handler function has been
registered, and when an interrupt comes, 'rp2_uart_interrupt' may access
those ports then causing NULL pointer dereference or other bugs.
Because the driver does some initialization work in 'rp2_fw_cb', in
order to make the driver ready to handle interrupts, 'request_firmware'
should be used instead of asynchronous 'request_firmware_nowait'.
This report reveals it:
INFO: trying
OSV
CVE-2021-47169: In the Linux kernel, the following vulnerability has been resolved: serial: rp2: use 'request_firmware' instead of 'request_firmware_nowait' In 'rp2_p
osv·2024-03-25·CVSS 5.5
CVE-2021-47169 [MEDIUM] CVE-2021-47169: In the Linux kernel, the following vulnerability has been resolved: serial: rp2: use 'request_firmware' instead of 'request_firmware_nowait' In 'rp2_p
In the Linux kernel, the following vulnerability has been resolved: serial: rp2: use 'request_firmware' instead of 'request_firmware_nowait' In 'rp2_probe', the driver registers 'rp2_uart_interrupt' then calls 'rp2_fw_cb' through 'request_firmware_nowait'. In 'rp2_fw_cb', if the firmware don't exists, function just return without initializing ports of 'rp2_card'. But now the interrupt handler function has been registered, and when an interrupt comes, 'rp2_uart_interrupt' may access those ports then causing NULL pointer dereference or other bugs. Because the driver does some initialization work in 'rp2_fw_cb', in order to make the driver ready to handle interrupts, 'request_firmware' should be used instead of asynchronous 'request_firmware_nowait'. This report reveals it: INFO: trying to re
Red Hat
kernel: serial: rp2: use 'request_firmware' instead of 'request_firmware_nowait'
vendor_redhat·2024-03-25·CVSS 5.5
CVE-2021-47169 [MEDIUM] CWE-476 kernel: serial: rp2: use 'request_firmware' instead of 'request_firmware_nowait'
kernel: serial: rp2: use 'request_firmware' instead of 'request_firmware_nowait'
In the Linux kernel, the following vulnerability has been resolved:
serial: rp2: use 'request_firmware' instead of 'request_firmware_nowait'
In 'rp2_probe', the driver registers 'rp2_uart_interrupt' then calls
'rp2_fw_cb' through 'request_firmware_nowait'. In 'rp2_fw_cb', if the
firmware don't exists, function just return without initializing ports
of 'rp2_card'. But now the interrupt handler function has been
registered, and when an interrupt comes, 'rp2_uart_interrupt' may access
those ports then causing NULL pointer dereference or other bugs.
Because the driver does some initialization work in 'rp2_fw_cb', in
order to make the driver ready to handle interrupts, 'request_firmware'
should be used instead of
Debian
CVE-2021-47169: linux - In the Linux kernel, the following vulnerability has been resolved: serial: rp2...
vendor_debian·2021·CVSS 5.5
CVE-2021-47169 [MEDIUM] CVE-2021-47169: linux - In the Linux kernel, the following vulnerability has been resolved: serial: rp2...
In the Linux kernel, the following vulnerability has been resolved: serial: rp2: use 'request_firmware' instead of 'request_firmware_nowait' In 'rp2_probe', the driver registers 'rp2_uart_interrupt' then calls 'rp2_fw_cb' through 'request_firmware_nowait'. In 'rp2_fw_cb', if the firmware don't exists, function just return without initializing ports of 'rp2_card'. But now the interrupt handler function has been registered, and when an interrupt comes, 'rp2_uart_interrupt' may access those ports then causing NULL pointer dereference or other bugs. Because the driver does some initialization work in 'rp2_fw_cb', in order to make the driver ready to handle interrupts, 'request_firmware' should be used instead of asynchronous 'request_firmware_nowait'. This report reveals it: INFO: trying to re
No detection rules found.
No public exploits indexed.
https://git.kernel.org/stable/c/016002848c82eeb5d460489ce392d91fe18c475chttps://git.kernel.org/stable/c/1cc57cb32c84e059bd158494f746b665fc14d1b1https://git.kernel.org/stable/c/1e04d5d5fe5e76af68f834e1941fcbfa439653behttps://git.kernel.org/stable/c/35265552c7fe9553c75e324c80f45e28ff14eb6ehttps://git.kernel.org/stable/c/6a931ceb0b9401fe18d0c500e08164bf9cc7be4bhttps://git.kernel.org/stable/c/915452f40e2f495e187276c4407a4f567ec2307ehttps://git.kernel.org/stable/c/9b07b6973f7359e2dd6a9fe6db0c142634c823b7https://git.kernel.org/stable/c/c697244ce940ec07e2d745ccb63ca97fc0266fbchttps://git.kernel.org/stable/c/016002848c82eeb5d460489ce392d91fe18c475chttps://git.kernel.org/stable/c/1cc57cb32c84e059bd158494f746b665fc14d1b1https://git.kernel.org/stable/c/1e04d5d5fe5e76af68f834e1941fcbfa439653behttps://git.kernel.org/stable/c/35265552c7fe9553c75e324c80f45e28ff14eb6ehttps://git.kernel.org/stable/c/6a931ceb0b9401fe18d0c500e08164bf9cc7be4bhttps://git.kernel.org/stable/c/915452f40e2f495e187276c4407a4f567ec2307ehttps://git.kernel.org/stable/c/9b07b6973f7359e2dd6a9fe6db0c142634c823b7https://git.kernel.org/stable/c/c697244ce940ec07e2d745ccb63ca97fc0266fbc
2024-03-25
Published