CVE-2021-46957
riscv/kprobe: fix kernel panic when invoking sys_read traced by kprobe
In the Linux kernel, the following vulnerability has been resolved:
riscv/kprobe: fix kernel panic when invoking sys_read traced by kprobe
The execution of sys_read end up hitting a BUG_ON() in __find_get_block after installing kprobe at sys_read, the BUG message like the following:
[ 65.708663] ------------[ cut here ]------------ [ 65.709987] kernel BUG at fs/buffer.c:1251! [ 65.711283] Kernel BUG [#1] [ 65.712032] Modules linked in: [ 65.712925] CPU: 0 PID: 51 Comm: sh Not tainted 5.12.0-rc4 #1 [ 65.714407] Hardware name: riscv-virtio,qemu (DT) [ 65.715696] epc : __find_get_block+0x218/0x2c8 [ 65.716835] ra : __getblk_gfp+0x1c/0x4a [ 65.717831] epc : ffffffe00019f11e ra : ffffffe00019f56a sp : ffffffe002437930 [ 65.719553] gp : ffffffe000f06030 tp : ffffffe0015abc00 t0 : ffffffe00191e038 [ 65.721290] t1 : ffffffe00191e038 t2 : 000000000000000a s0 : ffffffe002437960 [ 65.723051] s1 : ffffffe00160ad00 a0 : ffffffe00160ad00 a1 : 000000000000012a [ 65.724772] a2 : 0000000000000400 a3 : 0000000000000008 a4 : 0000000000000040 [ 65.726545] a5 : 0000000000000000 a6 : ffffffe00191e000 a7 : 0000000000000000 [ 65.728308] s2 : 000000000000012a s3 : 0000000000000400 s4 : 0000000000000008 [ 65.730049] s5 : 000000000000006c s6 : ffffffe00240f800 s7 : ffffffe000f080a8 [ 65.731802] s8 : 0000000000000001 s9 : 000000000000012a s10: 0000000000000008 [ 65.733516] s11: 0000000000000008 t3 : 00000000000003ff t4 : 000000000000000f [ 65.734434] t5 : 00000000000003ff t6 : 0000000000040000 [ 65.734613] status: 0000000000000100 badaddr: 0000000000000000 cause: 0000000000000003 [ 65.734901] Call Trace: [ 65.735076] [<ffffffe00019f11e>] __find_get_block+0x218/0x2c8 [ 65.735417] [<ffffffe00020017a>] __ext4_get_inode_loc+0xb2/0x2f6 [ 65.735618] [<ffffffe000201b6c>] ext4_get_inode_loc+0x3a/0x8a [ 65.735802] [<ffffffe000203380>] ext4_reserve_inode_write+0x2e/0x8c [ 65.735999] [<ffffffe00020357a>] __ext4_mark_inode_dirty+0x4c/0x18e [ 65.736208] [<ffffffe000206bb0>] ext4_dirty_inode+0x46/0x66 [ 65.736387] [<ffffffe000192914>] __mark_inode_dirty+0x12c/0x3da [ 65.736576] [<ffffffe000180dd2>] touch_atime+0x146/0x150 [ 65.736748] [<ffffffe00010d762>] filemap_read+0x234/0x246 [ 65.736920] [<ffffffe00010d834>] generic_file_read_iter+0xc0/0x114 [ 65.737114] [<ffffffe0001f5d7a>] ext4_file_read_iter+0x42/0xea [ 65.737310] [<ffffffe000163f2c>] new_sync_read+0xe2/0x15a [ 65.737483] [<ffffffe000165814>] vfs_read+0xca/0xf2 [ 65.737641] [<ffffffe000165bae>] ksys_read+0x5e/0xc8 [ 65.737816] [<ffffffe000165c26>] sys_read+0xe/0x16 [ 65.737973] [<ffffffe000003972>] ret_from_syscall+0x0/0x2 [ 65.738858] ---[ end trace fe93f985456c935d ]---
A simple reproducer looks like: echo 'p:myprobe sys_read fd=%a0 buf=%a1 count=%a2' > /sys/kernel/debug/tracing/kprobe_events echo 1 > /sys/kernel/debug/tracing/events/kprobes/myprobe/enable cat /sys/kernel/debug/tracing/trace
Here's what happens to hit that BUG_ON():
After installing kprobe at entry of sys_read, the first instruction is replaced by 'ebreak' instruction on riscv64 platform.
Once kernel reach the 'ebreak' instruction at the entry of sys_read, it trap into the riscv breakpoint handler, where it do something to setup for coming single-step of origin instruction, including backup the 'sstatus' in pt_regs, followed by disable interrupt during single stepping via clear 'SIE' bit of 'sstatus' in pt_regs.
Then kernel restore to the instruction slot contains two instructions, one is original instruction at entry of sys_read, the other is 'ebreak'. Here it trigger a 'Instruction page fault' exception (value at 'scause' is '0xc'), if PF is not filled into PageTabe for that slot yet.
Again kernel trap into page fault exception handler, where it choose different policy according to the state of running kprobe. Because afte 2) the state is KPROBE_HIT_SS, so kernel reset the current kp ---truncated---
Attack profile
How easy it is to exploit
- Attack vector
- Local
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used 5.5
riscv/kprobe: fix kernel panic when invoking sys_read traced by kprobe
In the Linux kernel, the following vulnerability has been resolved:
riscv/kprobe: fix kernel panic when invoking sys_read traced by kprobe
The execution of sys_read end up hitting a BUG_ON() in __find_get_block after installing kprobe at sys_read, the BUG message like the following:
[ 65.708663] ------------[ cut here ]------------ [ 65.709987] kernel BUG at fs/buffer.c:1251! [ 65.711283] Kernel BUG [#1] [ 65.712032] Modules linked in: [ 65.712925] CPU: 0 PID: 51 Comm: sh Not tainted 5.12.0-rc4 #1 [ 65.714407] Hardware name: riscv-virtio,qemu (DT) [ 65.715696] epc : __find_get_block+0x218/0x2c8 [ 65.716835] ra : __getblk_gfp+0x1c/0x4a [ 65.717831] epc : ffffffe00019f11e ra : ffffffe00019f56a sp : ffffffe002437930 [ 65.719553] gp : ffffffe000f06030 tp : ffffffe0015abc00 t0 : ffffffe00191e038 [ 65.721290] t1 : ffffffe00191e038 t2 : 000000000000000a s0 : ffffffe002437960 [ 65.723051] s1 : ffffffe00160ad00 a0 : ffffffe00160ad00 a1 : 000000000000012a [ 65.724772] a2 : 0000000000000400 a3 : 0000000000000008 a4 : 0000000000000040 [ 65.726545] a5 : 0000000000000000 a6 : ffffffe00191e000 a7 : 0000000000000000 [ 65.728308] s2 : 000000000000012a s3 : 0000000000000400 s4 : 0000000000000008 [ 65.730049] s5 : 000000000000006c s6 : ffffffe00240f800 s7 : ffffffe000f080a8 [ 65.731802] s8 : 0000000000000001 s9 : 000000000000012a s10: 0000000000000008 [ 65.733516] s11: 0000000000000008 t3 : 00000000000003ff t4 : 000000000000000f [ 65.734434] t5 : 00000000000003ff t6 : 0000000000040000 [ 65.734613] status: 0000000000000100 badaddr: 0000000000000000 cause: 0000000000000003 [ 65.734901] Call Trace: [ 65.735076] [<ffffffe00019f11e>] __find_get_block+0x218/0x2c8 [ 65.735417] [<ffffffe00020017a>] __ext4_get_inode_loc+0xb2/0x2f6 [ 65.735618] [<ffffffe000201b6c>] ext4_get_inode_loc+0x3a/0x8a [ 65.735802] [<ffffffe000203380>] ext4_reserve_inode_write+0x2e/0x8c [ 65.735999] [<ffffffe00020357a>] __ext4_mark_inode_dirty+0x4c/0x18e [ 65.736208] [<ffffffe000206bb0>] ext4_dirty_inode+0x46/0x66 [ 65.736387] [<ffffffe000192914>] __mark_inode_dirty+0x12c/0x3da [ 65.736576] [<ffffffe000180dd2>] touch_atime+0x146/0x150 [ 65.736748] [<ffffffe00010d762>] filemap_read+0x234/0x246 [ 65.736920] [<ffffffe00010d834>] generic_file_read_iter+0xc0/0x114 [ 65.737114] [<ffffffe0001f5d7a>] ext4_file_read_iter+0x42/0xea [ 65.737310] [<ffffffe000163f2c>] new_sync_read+0xe2/0x15a [ 65.737483] [<ffffffe000165814>] vfs_read+0xca/0xf2 [ 65.737641] [<ffffffe000165bae>] ksys_read+0x5e/0xc8 [ 65.737816] [<ffffffe000165c26>] sys_read+0xe/0x16 [ 65.737973] [<ffffffe000003972>] ret_from_syscall+0x0/0x2 [ 65.738858] ---[ end trace fe93f985456c935d ]---
A simple reproducer looks like: echo 'p:myprobe sys_read fd=%a0 buf=%a1 count=%a2' > /sys/kernel/debug/tracing/kprobe_events echo 1 > /sys/kernel/debug/tracing/events/kprobes/myprobe/enable cat /sys/kernel/debug/tracing/trace
Here's what happens to hit that BUG_ON():
After installing kprobe at entry of sys_read, the first instruction is replaced by 'ebreak' instruction on riscv64 platform.
Once kernel reach the 'ebreak' instruction at the entry of sys_read, it trap into the riscv breakpoint handler, where it do something to setup for coming single-step of origin instruction, including backup the 'sstatus' in pt_regs, followed by disable interrupt during single stepping via clear 'SIE' bit of 'sstatus' in pt_regs.
Then kernel restore to the instruction slot contains two instructions, one is original instruction at entry of sys_read, the other is 'ebreak'. Here it trigger a 'Instruction page fault' exception (value at 'scause' is '0xc'), if PF is not filled into PageTabe for that slot yet.
Again kernel trap into page fault exception handler, where it choose different policy according to the state of running kprobe. Because afte 2) the state is KPROBE_HIT_SS, so kernel reset the current kp ---truncated---
- Record
CVE-2021-46957- CVSS 3.1
- 5.5 Medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
EUVDEUVD-2021-33605 5.5
In the Linux kernel, the following vulnerability has been resolved:
riscv/kprobe: fix kernel panic when invoking sys_read traced by kprobe
The execution of sys_read end up hitting a BUG_ON() in __find_get_block after installing kprobe at sys_read, the BUG message like the following:
[ 65.708663] ------------[ cut here ]------------ [ 65.709987] kernel BUG at fs/buffer.c:1251! [ 65.711283] Kernel BUG [#1] [ 65.712032] Modules linked in: [ 65.712925] CPU: 0 PID: 51 Comm: sh Not tainted 5.12.0-rc4 #1 [ 65.714407] Hardware name: riscv-virtio,qemu (DT) [ 65.715696] epc : __find_get_block+0x218/0x2c8 [ 65.716835] ra : __getblk_gfp+0x1c/0x4a [ 65.717831] epc : ffffffe00019f11e ra : ffffffe00019f56a sp : ffffffe002437930 [ 65.719553] gp : ffffffe000f06030 tp : ffffffe0015abc00 t0 : ffffffe00191e038 [ 65.721290] t1 : ffffffe00191e038 t2 : 000000000000000a s0 : ffffffe002437960 [ 65.723051] s1 : ffffffe00160ad00 a0 : ffffffe00160ad00 a1 : 000000000000012a [ 65.724772] a2 : 0000000000000400 a3 : 0000000000000008 a4 : 0000000000000040 [ 65.726545] a5 : 0000000000000000 a6 : ffffffe00191e000 a7 : 0000000000000000 [ 65.728308] s2 : 000000000000012a s3 : 0000000000000400 s4 : 0000000000000008 [ 65.730049] s5 : 000000000000006c s6 : ffffffe00240f800 s7 : ffffffe000f080a8 [ 65.731802] s8 : 0000000000000001 s9 : 000000000000012a s10: 0000000000000008 [ 65.733516] s11: 0000000000000008 t3 : 00000000000003ff t4 : 000000000000000f [ 65.734434] t5 : 00000000000003ff t6 : 0000000000040000 [ 65.734613] status: 0000000000000100 badaddr: 0000000000000000 cause: 0000000000000003 [ 65.734901] Call Trace: [ 65.735076] [<ffffffe00019f11e>] __find_get_block+0x218/0x2c8 [ 65.735417] [<ffffffe00020017a>] __ext4_get_inode_loc+0xb2/0x2f6 [ 65.735618] [<ffffffe000201b6c>] ext4_get_inode_loc+0x3a/0x8a [ 65.735802] [<ffffffe000203380>] ext4_reserve_inode_write+0x2e/0x8c [ 65.735999] [<ffffffe00020357a>] __ext4_mark_inode_dirty+0x4c/0x18e [ 65.736208] [<ffffffe000206bb0>] ext4_dirty_inode+0x46/0x66 [ 65.736387] [<ffffffe000192914>] __mark_inode_dirty+0x12c/0x3da [ 65.736576] [<ffffffe000180dd2>] touch_atime+0x146/0x150 [ 65.736748] [<ffffffe00010d762>] filemap_read+0x234/0x246 [ 65.736920] [<ffffffe00010d834>] generic_file_read_iter+0xc0/0x114 [ 65.737114] [<ffffffe0001f5d7a>] ext4_file_read_iter+0x42/0xea [ 65.737310] [<ffffffe000163f2c>] new_sync_read+0xe2/0x15a [ 65.737483] [<ffffffe000165814>] vfs_read+0xca/0xf2 [ 65.737641] [<ffffffe000165bae>] ksys_read+0x5e/0xc8 [ 65.737816] [<ffffffe000165c26>] sys_read+0xe/0x16 [ 65.737973] [<ffffffe000003972>] ret_from_syscall+0x0/0x2 [ 65.738858] ---[ end trace fe93f985456c935d ]---
A simple reproducer looks like: echo 'p:myprobe sys_read fd=%a0 buf=%a1 count=%a2' > /sys/kernel/debug/tracing/kprobe_events echo 1 > /sys/kernel/debug/tracing/events/kprobes/myprobe/enable cat /sys/kernel/debug/tracing/trace
Here's what happens to hit that BUG_ON():
After installing kprobe at entry of sys_read, the first instruction is replaced by 'ebreak' instruction on riscv64 platform.
Once kernel reach the 'ebreak' instruction at the entry of sys_read, it trap into the riscv breakpoint handler, where it do something to setup for coming single-step of origin instruction, including backup the 'sstatus' in pt_regs, followed by disable interrupt during single stepping via clear 'SIE' bit of 'sstatus' in pt_regs.
Then kernel restore to the instruction slot contains two instructions, one is original instruction at entry of sys_read, the other is 'ebreak'. Here it trigger a 'Instruction page fault' exception (value at 'scause' is '0xc'), if PF is not filled into PageTabe for that slot yet.
Again kernel trap into page fault exception handler, where it choose different policy according to the state of running kprobe. Because afte 2) the state is KPROBE_HIT_SS, so kernel reset the current kp ---truncated---
- Record
EUVD-2021-33605- CVSS 3.1
- 5.5 Medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-rfvx-8c45-w4c7 5.5
In the Linux kernel, the following vulnerability has been resolved: riscv/kprobe: fix kernel...
In the Linux kernel, the following vulnerability has been resolved:
riscv/kprobe: fix kernel panic when invoking sys_read traced by kprobe
The execution of sys_read end up hitting a BUG_ON() in __find_get_block after installing kprobe at sys_read, the BUG message like the following:
[ 65.708663] ------------[ cut here ]------------ [ 65.709987] kernel BUG at fs/buffer.c:1251! [ 65.711283] Kernel BUG [#1] [ 65.712032] Modules linked in: [ 65.712925] CPU: 0 PID: 51 Comm: sh Not tainted 5.12.0-rc4 #1 [ 65.714407] Hardware name: riscv-virtio,qemu (DT) [ 65.715696] epc : __find_get_block+0x218/0x2c8 [ 65.716835] ra : __getblk_gfp+0x1c/0x4a [ 65.717831] epc : ffffffe00019f11e ra : ffffffe00019f56a sp : ffffffe002437930 [ 65.719553] gp : ffffffe000f06030 tp : ffffffe0015abc00 t0 : ffffffe00191e038 [ 65.721290] t1 : ffffffe00191e038 t2 : 000000000000000a s0 : ffffffe002437960 [ 65.723051] s1 : ffffffe00160ad00 a0 : ffffffe00160ad00 a1 : 000000000000012a [ 65.724772] a2 : 0000000000000400 a3 : 0000000000000008 a4 : 0000000000000040 [ 65.726545] a5 : 0000000000000000 a6 : ffffffe00191e000 a7 : 0000000000000000 [ 65.728308] s2 : 000000000000012a s3 : 0000000000000400 s4 : 0000000000000008 [ 65.730049] s5 : 000000000000006c s6 : ffffffe00240f800 s7 : ffffffe000f080a8 [ 65.731802] s8 : 0000000000000001 s9 : 000000000000012a s10: 0000000000000008 [ 65.733516] s11: 0000000000000008 t3 : 00000000000003ff t4 : 000000000000000f [ 65.734434] t5 : 00000000000003ff t6 : 0000000000040000 [ 65.734613] status: 0000000000000100 badaddr: 0000000000000000 cause: 0000000000000003 [ 65.734901] Call Trace: [ 65.735076] [<ffffffe00019f11e>] __find_get_block+0x218/0x2c8 [ 65.735417] [<ffffffe00020017a>] __ext4_get_inode_loc+0xb2/0x2f6 [ 65.735618] [<ffffffe000201b6c>] ext4_get_inode_loc+0x3a/0x8a [ 65.735802] [<ffffffe000203380>] ext4_reserve_inode_write+0x2e/0x8c [ 65.735999] [<ffffffe00020357a>] __ext4_mark_inode_dirty+0x4c/0x18e [ 65.736208] [<ffffffe000206bb0>] ext4_dirty_inode+0x46/0x66 [ 65.736387] [<ffffffe000192914>] __mark_inode_dirty+0x12c/0x3da [ 65.736576] [<ffffffe000180dd2>] touch_atime+0x146/0x150 [ 65.736748] [<ffffffe00010d762>] filemap_read+0x234/0x246 [ 65.736920] [<ffffffe00010d834>] generic_file_read_iter+0xc0/0x114 [ 65.737114] [<ffffffe0001f5d7a>] ext4_file_read_iter+0x42/0xea [ 65.737310] [<ffffffe000163f2c>] new_sync_read+0xe2/0x15a [ 65.737483] [<ffffffe000165814>] vfs_read+0xca/0xf2 [ 65.737641] [<ffffffe000165bae>] ksys_read+0x5e/0xc8 [ 65.737816] [<ffffffe000165c26>] sys_read+0xe/0x16 [ 65.737973] [<ffffffe000003972>] ret_from_syscall+0x0/0x2 [ 65.738858] ---[ end trace fe93f985456c935d ]---
A simple reproducer looks like: echo 'p:myprobe sys_read fd=%a0 buf=%a1 count=%a2' > /sys/kernel/debug/tracing/kprobe_events echo 1 > /sys/kernel/debug/tracing/events/kprobes/myprobe/enable cat /sys/kernel/debug/tracing/trace
Here's what happens to hit that BUG_ON():
After installing kprobe at entry of sys_read, the first instruction is replaced by 'ebreak' instruction on riscv64 platform.
Once kernel reach the 'ebreak' instruction at the entry of sys_read, it trap into the riscv breakpoint handler, where it do something to setup for coming single-step of origin instruction, including backup the 'sstatus' in pt_regs, followed by disable interrupt during single stepping via clear 'SIE' bit of 'sstatus' in pt_regs.
Then kernel restore to the instruction slot contains two instructions, one is original instruction at entry of sys_read, the other is 'ebreak'. Here it trigger a 'Instruction page fault' exception (value at 'scause' is '0xc'), if PF is not filled into PageTabe for that slot yet.
Again kernel trap into page fault exception handler, where it choose different policy according to the state of running kprobe. Because afte 2) the state is KPROBE_HIT_SS, so kernel reset the current kp ---truncated---
- Record
GHSA-rfvx-8c45-w4c7- CVSS 3.1
- 5.5 Medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
NVD 5.5
In the Linux kernel, the following vulnerability has been resolved:
riscv/kprobe: fix kernel panic when invoking sys_read traced by kprobe
The execution of sys_read end up hitting a BUG_ON() in __find_get_block after installing kprobe at sys_read, the BUG message like the following:
[ 65.708663] ------------[ cut here ]------------ [ 65.709987] kernel BUG at fs/buffer.c:1251! [ 65.711283] Kernel BUG [#1] [ 65.712032] Modules linked in: [ 65.712925] CPU: 0 PID: 51 Comm: sh Not tainted 5.12.0-rc4 #1 [ 65.714407] Hardware name: riscv-virtio,qemu (DT) [ 65.715696] epc : __find_get_block+0x218/0x2c8 [ 65.716835] ra : __getblk_gfp+0x1c/0x4a [ 65.717831] epc : ffffffe00019f11e ra : ffffffe00019f56a sp : ffffffe002437930 [ 65.719553] gp : ffffffe000f06030 tp : ffffffe0015abc00 t0 : ffffffe00191e038 [ 65.721290] t1 : ffffffe00191e038 t2 : 000000000000000a s0 : ffffffe002437960 [ 65.723051] s1 : ffffffe00160ad00 a0 : ffffffe00160ad00 a1 : 000000000000012a [ 65.724772] a2 : 0000000000000400 a3 : 0000000000000008 a4 : 0000000000000040 [ 65.726545] a5 : 0000000000000000 a6 : ffffffe00191e000 a7 : 0000000000000000 [ 65.728308] s2 : 000000000000012a s3 : 0000000000000400 s4 : 0000000000000008 [ 65.730049] s5 : 000000000000006c s6 : ffffffe00240f800 s7 : ffffffe000f080a8 [ 65.731802] s8 : 0000000000000001 s9 : 000000000000012a s10: 0000000000000008 [ 65.733516] s11: 0000000000000008 t3 : 00000000000003ff t4 : 000000000000000f [ 65.734434] t5 : 00000000000003ff t6 : 0000000000040000 [ 65.734613] status: 0000000000000100 badaddr: 0000000000000000 cause: 0000000000000003 [ 65.734901] Call Trace: [ 65.735076] [<ffffffe00019f11e>] __find_get_block+0x218/0x2c8 [ 65.735417] [<ffffffe00020017a>] __ext4_get_inode_loc+0xb2/0x2f6 [ 65.735618] [<ffffffe000201b6c>] ext4_get_inode_loc+0x3a/0x8a [ 65.735802] [<ffffffe000203380>] ext4_reserve_inode_write+0x2e/0x8c [ 65.735999] [<ffffffe00020357a>] __ext4_mark_inode_dirty+0x4c/0x18e [ 65.736208] [<ffffffe000206bb0>] ext4_dirty_inode+0x46/0x66 [ 65.736387] [<ffffffe000192914>] __mark_inode_dirty+0x12c/0x3da [ 65.736576] [<ffffffe000180dd2>] touch_atime+0x146/0x150 [ 65.736748] [<ffffffe00010d762>] filemap_read+0x234/0x246 [ 65.736920] [<ffffffe00010d834>] generic_file_read_iter+0xc0/0x114 [ 65.737114] [<ffffffe0001f5d7a>] ext4_file_read_iter+0x42/0xea [ 65.737310] [<ffffffe000163f2c>] new_sync_read+0xe2/0x15a [ 65.737483] [<ffffffe000165814>] vfs_read+0xca/0xf2 [ 65.737641] [<ffffffe000165bae>] ksys_read+0x5e/0xc8 [ 65.737816] [<ffffffe000165c26>] sys_read+0xe/0x16 [ 65.737973] [<ffffffe000003972>] ret_from_syscall+0x0/0x2 [ 65.738858] ---[ end trace fe93f985456c935d ]---
A simple reproducer looks like: echo 'p:myprobe sys_read fd=%a0 buf=%a1 count=%a2' > /sys/kernel/debug/tracing/kprobe_events echo 1 > /sys/kernel/debug/tracing/events/kprobes/myprobe/enable cat /sys/kernel/debug/tracing/trace
Here's what happens to hit that BUG_ON():
After installing kprobe at entry of sys_read, the first instruction is replaced by 'ebreak' instruction on riscv64 platform.
Once kernel reach the 'ebreak' instruction at the entry of sys_read, it trap into the riscv breakpoint handler, where it do something to setup for coming single-step of origin instruction, including backup the 'sstatus' in pt_regs, followed by disable interrupt during single stepping via clear 'SIE' bit of 'sstatus' in pt_regs.
Then kernel restore to the instruction slot contains two instructions, one is original instruction at entry of sys_read, the other is 'ebreak'. Here it trigger a 'Instruction page fault' exception (value at 'scause' is '0xc'), if PF is not filled into PageTabe for that slot yet.
Again kernel trap into page fault exception handler, where it choose different policy according to the state of running kprobe. Because afte 2) the state is KPROBE_HIT_SS, so kernel reset the current kp ---truncated---
- Record
CVE-2021-46957- CVSS 3.1
- 5.5 Medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2021-46957 5.5
In the Linux kernel, the following vulnerability has been resolved: riscv/kprobe: fix kernel panic when invoking sys_read traced by kprobe The execution of sys_read end up hitting a BUG_ON() in __find_get_block after installing kprobe at sys_read, the BUG message like the following: [ 65.708663] ------------[ cut here ]------------ [ 65.709987] kernel BUG at fs/buffer.c:1251! [ 65.711283] Kernel BUG [#1] [ 65.712032] Modules linked in: [ 65.712925] CPU: 0 PID: 51 Comm: sh Not tainted 5.12.0-rc4 #1 [ 65.714407] Hardware name: riscv-virtio,qemu (DT) [ 65.715696] epc : __find_get_block+0x218/0x2c8 [ 65.716835] ra : __getblk_gfp+0x1c/0x4a [ 65.717831] epc : ffffffe00019f11e ra : ffffffe00019f56a sp : ffffffe002437930 [ 65.719553] gp : ffffffe000f06030 tp : ffffffe0015abc00 t0 : ffffffe00191e038 [ 65.721290] t1 : ffffffe00191e038 t2 : 000000000000000a s0 : ffffffe002437960 [ 65.723051] s1 : ffffffe00160ad00 a0 : ffffffe00160ad00 a1 : 000000000000012a [ 65.724772] a2 : 0000000000000400 a3 : 0000000000000008 a4 : 0000000000000040 [ 65.726545] a5 : 0000000000000000 a6 : ffffffe00191e000 a7 : 0000000000000000 [ 65.728308] s2 : 000000000000012a s3 : 0000000000000400 s4 : 0000000000000008 [ 65.730049] s5 : 000000000000006c s6 : ffffffe00240f800 s7 : ffffffe000f080a8 [ 65.731802] s8 : 0000000000000001 s9 : 000000000000012a s10: 0000000000000008 [ 65.733516] s11: 0000000000000008 t3 : 00000000000003ff t4 : 000000000000000f [ 65.734434] t5 : 00000000000003ff t6 : 0000000000040000 [ 65.734613] status: 0000000000000100 badaddr: 0000000000000000 cause: 0000000000000003 [ 65.734901] Call Trace: [ 65.735076] [<ffffffe00019f11e>] __find_get_block+0x218/0x2c8 [ 65.735417] [<ffffffe00020017a>] __ext4_get_inode_loc+0xb2/0x2f6 [ 65.735618] [<ffffffe000201b6c>] ext4_get_inode_loc+0x3a/0x8a [ 65.735802] [<ffffffe000203380>] ext4_reserve_inode_write+0x2e/0x8c [ 65.735999] [<ffffffe00020357a>] __ext4_mark_inode_dirty+0x4c/0x18e [ 65.736208] [<ffffffe000206bb0>] ext4_dirty_inode+0x46/0x66 [ 65.736387] [<ffffffe000192914>] __mark_inode_dirty+0x12c/0x3da [ 65.736576] [<ffffffe000180dd2>] touch_atime+0x146/0x150 [ 65.736748] [<ffffffe00010d762>] filemap_read+0x234/0x246 [ 65.736920] [<ffffffe00010d834>] generic_file_read_iter+0xc0/0x114 [ 65.737114] [<ffffffe0001f5d7a>] ext4_file_read_iter+0x42/0xea [ 65.737310] [<ffffffe000163f2c>] new_sync_read+0xe2/0x15a [ 65.737483] [<ffffffe000165814>] vfs_read+0xca/0xf2 [ 65.737641] [<ffffffe000165bae>] ksys_read+0x5e/0xc8 [ 65.737816] [<ffffffe000165c26>] sys_read+0xe/0x16 [ 65.737973] [<ffffffe000003972>] ret_from_syscall+0x0/0x2 [ 65.738858] ---[ end trace fe93f985456c935d ]--- A simple reproducer looks like: echo 'p:myprobe sys_read fd=%a0 buf=%a1 count=%a2' > /sys/kernel/debug/tracing/kprobe_events echo 1 > /sys/kernel/debug/tracing/events/kprobes/myprobe/enable cat /sys/kernel/debug/tracing/trace Here's what happens to hit that BUG_ON(): 1) After installing kprobe at entry of sys_read, the first instruction is replaced by 'ebreak' instruction on riscv64 platform. 2) Once kernel reach the 'ebreak' instruction at the entry of sys_read, it trap into the riscv breakpoint handler, where it do something to setup for coming single-step of origin instruction, including backup the 'sstatus' in pt_regs, followed by disable interrupt during single stepping via clear 'SIE' bit of 'sstatus' in pt_regs. 3) Then kernel restore to the instruction slot contains two instructions, one is original instruction at entry of sys_read, the other is 'ebreak'. Here it trigger a 'Instruction page fault' exception (value at 'scause' is '0xc'), if PF is not filled into PageTabe for that slot yet. 4) Again kernel trap into page fault exception handler, where it choose different policy according to the state of running kprobe. Because afte 2) the state is KPROBE_HIT_SS, so kernel reset the current kp ---truncated---
- Record
UBUNTU-CVE-2021-46957- CVSS 3.1
- 5.5 Medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
linux-hwe-edgeUbuntu:16.04:LTS | All versions, plus listed versions 4.8.0-28.30~16.04.14.8.0-30.32~16.04.14.8.0-32.34~16.04.14.8.0-34.36~16.04.14.10.0-14.16~16.04.1 Show 18 moreShow less4.10.0-19.21~16.04.14.10.0-20.22~16.04.14.10.0-21.23~16.04.14.10.0-22.24~16.04.14.10.0-24.28~16.04.14.10.0-26.30~16.04.14.11.0-13.19~16.04.14.11.0-14.20~16.04.14.13.0-16.19~16.04.34.13.0-17.20~16.04.14.13.0-19.22~16.04.14.13.0-21.24~16.04.14.13.0-25.29~16.04.24.15.0-13.14~16.04.14.15.0-15.16~16.04.14.15.0-20.21~16.04.14.15.0-22.24~16.04.14.15.0-23.25~16.04.1 | None known |
linux-aws-5.0Ubuntu:18.04:LTS | All versions, plus listed versions 5.0.0-1021.24~18.04.15.0.0-1022.25~18.04.15.0.0-1023.26~18.04.15.0.0-1024.27~18.04.15.0.0-1025.285.0.0-1027.30 | None known |
linux-aws-5.3Ubuntu:18.04:LTS | All versions, plus listed versions 5.3.0-1016.17~18.04.15.3.0-1017.18~18.04.15.3.0-1019.21~18.04.15.3.0-1023.25~18.04.15.3.0-1028.30~18.04.1 Show 5 moreShow less5.3.0-1030.32~18.04.15.3.0-1032.34~18.04.25.3.0-1033.355.3.0-1034.365.3.0-1035.37 | None known |
linux-azureUbuntu:18.04:LTS | All versions, plus listed versions 4.15.0-1002.24.15.0-1003.34.15.0-1004.44.15.0-1008.84.15.0-1009.9 Show 39 moreShow less4.15.0-1012.124.15.0-1013.134.15.0-1014.144.15.0-1018.184.15.0-1019.194.15.0-1021.214.15.0-1022.234.15.0-1023.244.15.0-1025.264.15.0-1028.294.15.0-1030.314.15.0-1031.324.15.0-1032.334.15.0-1035.364.15.0-1036.384.15.0-1037.394.18.0-1011.11~18.04.14.18.0-1013.13~18.04.14.18.0-1014.14~18.04.14.18.0-1018.18~18.04.14.18.0-1019.19~18.04.14.18.0-1020.20~18.04.14.18.0-1023.24~18.04.14.18.0-1024.25~18.04.14.18.0-1025.27~18.04.15.0.0-1014.14~18.04.15.0.0-1016.17~18.04.15.0.0-1018.19~18.04.15.0.0-1020.21~18.04.15.0.0-1022.23~18.04.15.0.0-1023.24~18.04.15.0.0-1025.27~18.04.15.0.0-1027.29~18.04.15.0.0-1028.30~18.04.15.0.0-1029.31~18.04.15.0.0-1031.335.0.0-1032.345.0.0-1035.375.0.0-1036.38 | None known |
linux-azure-5.3Ubuntu:18.04:LTS | All versions, plus listed versions 5.3.0-1007.8~18.04.15.3.0-1008.9~18.04.15.3.0-1009.10~18.04.15.3.0-1010.11~18.04.15.3.0-1012.13~18.04.1 Show 11 moreShow less5.3.0-1013.14~18.04.15.3.0-1016.17~18.04.15.3.0-1018.19~18.04.15.3.0-1019.20~18.04.15.3.0-1020.21~18.04.15.3.0-1022.23~18.04.15.3.0-1028.29~18.04.15.3.0-1031.32~18.04.15.3.0-1032.33~18.04.15.3.0-1034.35~18.04.15.3.0-1035.36 | None known |
linux-azure-edgeUbuntu:18.04:LTS | All versions, plus listed versions 4.18.0-1006.6~18.04.14.18.0-1007.7~18.04.14.18.0-1008.8~18.04.15.0.0-1012.12~18.04.2 | None known |
linux-gcpUbuntu:18.04:LTS | All versions, plus listed versions 4.15.0-1001.14.15.0-1003.34.15.0-1005.54.15.0-1006.64.15.0-1008.8 Show 33 moreShow less4.15.0-1009.94.15.0-1010.104.15.0-1014.144.15.0-1015.154.15.0-1017.184.15.0-1018.194.15.0-1019.204.15.0-1021.224.15.0-1023.244.15.0-1024.254.15.0-1025.264.15.0-1026.274.15.0-1027.284.15.0-1028.294.15.0-1029.314.15.0-1030.324.15.0-1032.344.15.0-1033.354.15.0-1034.364.15.0-1036.384.15.0-1037.394.15.0-1040.424.15.0-1042.454.15.0-1044.705.0.0-1020.20~18.04.15.0.0-1021.21~18.04.15.0.0-1025.26~18.04.15.0.0-1026.27~18.04.15.0.0-1028.29~18.04.15.0.0-1029.30~18.04.15.0.0-1031.325.0.0-1033.345.0.0-1034.35 | None known |
linux-gcp-5.3Ubuntu:18.04:LTS | All versions, plus listed versions 5.3.0-1008.9~18.04.15.3.0-1009.10~18.04.15.3.0-1010.11~18.04.15.3.0-1012.13~18.04.15.3.0-1014.15~18.04.1 Show 8 moreShow less5.3.0-1016.17~18.04.15.3.0-1017.18~18.04.15.3.0-1018.19~18.04.15.3.0-1020.22~18.04.15.3.0-1026.28~18.04.15.3.0-1029.31~18.04.15.3.0-1030.32~18.04.15.3.0-1032.34~18.04.1 | None known |
linux-gke-4.15Ubuntu:18.04:LTS | All versions, plus listed versions 4.15.0-1030.324.15.0-1032.344.15.0-1033.354.15.0-1034.364.15.0-1036.38 Show 28 moreShow less4.15.0-1037.394.15.0-1040.424.15.0-1041.434.15.0-1042.444.15.0-1044.464.15.0-1045.484.15.0-1046.494.15.0-1048.514.15.0-1049.524.15.0-1050.534.15.0-1052.554.15.0-1055.584.15.0-1057.604.15.0-1058.614.15.0-1059.624.15.0-1063.664.15.0-1064.674.15.0-1066.694.15.0-1067.704.15.0-1069.724.15.0-1070.734.15.0-1072.764.15.0-1073.784.15.0-1074.794.15.0-1076.814.15.0-1077.824.15.0-1078.834.15.0-1079.84 | None known |
linux-gke-5.4Ubuntu:18.04:LTS | All versions, plus listed versions 5.4.0-1025.25~18.04.15.4.0-1027.28~18.04.15.4.0-1029.31~18.04.15.4.0-1030.32~18.04.15.4.0-1032.34~18.04.1 Show 32 moreShow less5.4.0-1033.35~18.04.15.4.0-1035.37~18.04.15.4.0-1036.38~18.04.15.4.0-1037.39~18.04.15.4.0-1039.41~18.04.15.4.0-1040.42~18.04.15.4.0-1042.44~18.04.15.4.0-1043.45~18.04.15.4.0-1044.46~18.04.15.4.0-1046.48~18.04.15.4.0-1049.52~18.04.15.4.0-1051.54~18.04.15.4.0-1052.55~18.04.15.4.0-1053.56~18.04.15.4.0-1054.57~18.04.15.4.0-1055.58~18.04.15.4.0-1056.59~18.04.15.4.0-1057.60~18.04.15.4.0-1059.62~18.04.15.4.0-1061.64~18.04.15.4.0-1062.65~18.04.15.4.0-1063.66~18.04.15.4.0-1065.68~18.04.15.4.0-1066.69~18.04.15.4.0-1067.70~18.04.15.4.0-1068.71~18.04.15.4.0-1071.76~18.04.35.4.0-1072.77~18.04.15.4.0-1074.79~18.04.15.4.0-1076.82~18.04.15.4.0-1078.84~18.04.15.4.0-1080.86~18.04.1 | None known |
Show 54 moreShow less
| Package | Affected | Fixed |
|---|---|---|
linux-gkeop-5.4Ubuntu:18.04:LTS | All versions, plus listed versions 5.4.0-1001.15.4.0-1003.35.4.0-1004.55.4.0-1005.65.4.0-1007.8~18.04.1 Show 32 moreShow less5.4.0-1008.9~18.04.15.4.0-1009.10~18.04.15.4.0-1010.11~18.04.15.4.0-1011.12~18.04.25.4.0-1012.13~18.04.15.4.0-1013.14~18.04.15.4.0-1014.15~18.04.15.4.0-1015.16~18.04.15.4.0-1016.17~18.04.15.4.0-1018.19~18.04.15.4.0-1021.22~18.04.15.4.0-1022.23~18.04.15.4.0-1023.24~18.04.15.4.0-1024.25~18.04.15.4.0-1025.26~18.04.15.4.0-1026.27~18.04.15.4.0-1027.28~18.04.15.4.0-1029.30~18.04.25.4.0-1031.32~18.04.15.4.0-1032.33~18.04.15.4.0-1033.34~18.04.15.4.0-1034.35~18.04.15.4.0-1036.37~18.04.15.4.0-1037.38~18.04.15.4.0-1038.39~18.04.15.4.0-1039.40~18.04.15.4.0-1040.41~18.04.15.4.0-1043.44~18.04.15.4.0-1046.48~18.04.15.4.0-1048.51~18.04.15.4.0-1049.52~18.04.15.4.0-1051.54~18.04.1 | None known |
linux-hweUbuntu:18.04:LTS | All versions, plus listed versions 4.18.0-13.14~18.04.14.18.0-14.15~18.04.14.18.0-15.16~18.04.14.18.0-16.17~18.04.14.18.0-17.18~18.04.1 Show 38 moreShow less4.18.0-18.19~18.04.14.18.0-20.21~18.04.14.18.0-21.22~18.04.14.18.0-22.23~18.04.14.18.0-24.25~18.04.14.18.0-25.26~18.04.15.0.0-23.24~18.04.15.0.0-25.26~18.04.15.0.0-27.28~18.04.15.0.0-29.31~18.04.15.0.0-31.33~18.04.15.0.0-32.34~18.04.25.0.0-35.38~18.04.15.0.0-36.39~18.04.15.0.0-37.40~18.04.15.3.0-26.28~18.04.15.3.0-28.30~18.04.15.3.0-40.32~18.04.15.3.0-42.34~18.04.15.3.0-45.37~18.04.15.3.0-46.38~18.04.15.3.0-51.44~18.04.25.3.0-53.47~18.04.15.3.0-59.53~18.04.15.3.0-61.55~18.04.15.3.0-62.56~18.04.15.3.0-64.58~18.04.15.3.0-65.595.3.0-66.605.3.0-67.615.3.0-68.635.3.0-69.655.3.0-70.665.3.0-72.685.3.0-73.695.3.0-74.705.3.0-75.715.3.0-76.72 | None known |
linux-hwe-edgeUbuntu:18.04:LTS | All versions, plus listed versions 5.0.0-15.16~18.04.15.0.0-16.17~18.04.15.0.0-17.18~18.04.15.0.0-19.20~18.04.15.0.0-20.21~18.04.1 Show 5 moreShow less5.3.0-19.20~18.04.25.3.0-22.24~18.04.15.3.0-23.25~18.04.15.3.0-23.25~18.04.25.3.0-24.26~18.04.2 | None known |
linux-oemUbuntu:18.04:LTS | All versions, plus listed versions 4.15.0-1002.34.15.0-1004.54.15.0-1006.94.15.0-1008.114.15.0-1009.12 Show 45 moreShow less4.15.0-1012.154.15.0-1013.164.15.0-1015.184.15.0-1017.204.15.0-1018.214.15.0-1021.244.15.0-1024.294.15.0-1026.314.15.0-1028.334.15.0-1030.354.15.0-1033.384.15.0-1034.394.15.0-1035.404.15.0-1036.414.15.0-1038.434.15.0-1039.444.15.0-1043.484.15.0-1045.504.15.0-1050.574.15.0-1056.654.15.0-1057.664.15.0-1059.684.15.0-1063.724.15.0-1064.734.15.0-1065.754.15.0-1066.764.15.0-1067.774.15.0-1069.794.15.0-1073.834.15.0-1076.864.15.0-1079.894.15.0-1080.904.15.0-1081.914.15.0-1087.974.15.0-1090.1004.15.0-1091.1014.15.0-1093.1034.15.0-1094.1044.15.0-1096.1064.15.0-1097.1074.15.0-1099.1094.15.0-1100.1104.15.0-1101.1124.15.0-1102.1134.15.0-1103.114 | None known |
linux-oracle-5.0Ubuntu:18.04:LTS | All versions, plus listed versions 5.0.0-1007.12~18.04.15.0.0-1008.13~18.04.15.0.0-1009.14~18.04.15.0.0-1010.15~18.04.15.0.0-1011.165.0.0-1013.185.0.0-1014.19 | None known |
linux-oracle-5.3Ubuntu:18.04:LTS | All versions, plus listed versions 5.3.0-1011.12~18.04.15.3.0-1013.14~18.04.15.3.0-1014.15~18.04.15.3.0-1016.18~18.04.15.3.0-1018.20~18.04.1 Show 4 moreShow less5.3.0-1024.26~18.04.15.3.0-1027.29~18.04.15.3.0-1028.30~18.04.15.3.0-1030.32~18.04.1 | None known |
linux-aws-5.11Ubuntu:20.04:LTS | All versions, plus listed versions 5.11.0-1009.9~20.04.25.11.0-1014.15~20.04.15.11.0-1016.17~20.04.15.11.0-1017.18~20.04.15.11.0-1019.20~20.04.1 Show 7 moreShow less5.11.0-1020.21~20.04.25.11.0-1021.22~20.04.25.11.0-1022.23~20.04.15.11.0-1023.24~20.04.15.11.0-1025.27~20.04.15.11.0-1027.30~20.04.15.11.0-1028.31~20.04.1 | None known |
linux-aws-5.13Ubuntu:20.04:LTS | All versions, plus listed versions 5.13.0-1008.9~20.04.25.13.0-1011.12~20.04.15.13.0-1012.13~20.04.15.13.0-1014.15~20.04.15.13.0-1017.19~20.04.1 Show 8 moreShow less5.13.0-1019.21~20.04.15.13.0-1021.23~20.04.25.13.0-1022.24~20.04.15.13.0-1023.25~20.04.15.13.0-1025.27~20.04.15.13.0-1028.31~20.04.15.13.0-1029.32~20.04.15.13.0-1031.35~20.04.1 | None known |
linux-aws-5.8Ubuntu:20.04:LTS | All versions, plus listed versions 5.8.0-1035.37~20.04.15.8.0-1038.40~20.04.15.8.0-1041.43~20.04.15.8.0-1042.44~20.04.1 | None known |
linux-azure-5.11Ubuntu:20.04:LTS | All versions, plus listed versions 5.11.0-1007.7~20.04.25.11.0-1012.13~20.04.15.11.0-1013.14~20.04.15.11.0-1015.16~20.04.15.11.0-1017.18~20.04.1 Show 8 moreShow less5.11.0-1019.20~20.04.15.11.0-1020.21~20.04.15.11.0-1021.22~20.04.15.11.0-1022.23~20.04.15.11.0-1023.24~20.04.15.11.0-1025.27~20.04.15.11.0-1027.30~20.04.15.11.0-1028.31~20.04.2 | None known |
linux-azure-5.13Ubuntu:20.04:LTS | All versions, plus listed versions 5.13.0-1009.10~20.04.25.13.0-1012.14~20.04.15.13.0-1013.15~20.04.15.13.0-1014.16~20.04.15.13.0-1017.19~20.04.1 Show 7 moreShow less5.13.0-1021.24~20.04.15.13.0-1022.26~20.04.15.13.0-1023.27~20.04.15.13.0-1025.29~20.04.15.13.0-1028.33~20.04.15.13.0-1029.34~20.04.15.13.0-1031.37~20.04.1 | None known |
linux-azure-5.8Ubuntu:20.04:LTS | All versions, plus listed versions 5.8.0-1033.35~20.04.15.8.0-1036.38~20.04.15.8.0-1039.42~20.04.15.8.0-1040.43~20.04.15.8.0-1041.44~20.04.15.8.0-1042.45~20.04.15.8.0-1043.46~20.04.1 | None known |
linux-azure-fdeUbuntu:20.04:LTS | All versions, plus listed versions 5.4.0-1063.66+cvm2.25.4.0-1063.66+cvm3.25.4.0-1064.67+cvm1.15.4.0-1065.68+cvm2.15.4.0-1067.70+cvm1.1 Show 21 moreShow less5.4.0-1068.71+cvm1.15.4.0-1069.72+cvm1.15.4.0-1070.73+cvm1.15.4.0-1072.75+cvm1.15.4.0-1073.76+cvm1.15.4.0-1074.77+cvm1.15.4.0-1076.79+cvm1.15.4.0-1078.81+cvm1.15.4.0-1080.83+cvm1.15.4.0-1083.87+cvm1.15.4.0-1085.90+cvm1.15.4.0-1085.90+cvm2.15.4.0-1086.91+cvm1.15.4.0-1089.94+cvm1.25.4.0-1090.95+cvm1.15.4.0-1091.96+cvm1.15.4.0-1092.97+cvm1.15.4.0-1095.101+cvm1.15.4.0-1098.104+cvm1.15.4.0-1100.106+cvm1.15.4.0-1103.109+cvm1.1 | None known |
linux-gcp-5.11Ubuntu:20.04:LTS | All versions, plus listed versions 5.11.0-1009.10~20.04.15.11.0-1014.16~20.04.15.11.0-1017.19~20.04.15.11.0-1018.20~20.04.25.11.0-1020.22~20.04.1 Show 7 moreShow less5.11.0-1021.23~20.04.15.11.0-1022.24~20.04.15.11.0-1023.25~20.04.15.11.0-1024.26~20.04.15.11.0-1026.29~20.04.15.11.0-1028.32~20.04.15.11.0-1029.33~20.04.3 | None known |
linux-gcp-5.13Ubuntu:20.04:LTS | All versions, plus listed versions 5.13.0-1008.9~20.04.35.13.0-1012.15~20.04.15.13.0-1013.16~20.04.15.13.0-1015.18~20.04.15.13.0-1019.23~20.04.1 Show 8 moreShow less5.13.0-1021.25~20.04.15.13.0-1023.28~20.04.15.13.0-1024.29~20.04.15.13.0-1025.30~20.04.15.13.0-1027.32~20.04.15.13.0-1030.36~20.04.15.13.0-1031.37~20.04.15.13.0-1033.40~20.04.1 | None known |
linux-gcp-5.8Ubuntu:20.04:LTS | All versions, plus listed versions 5.8.0-1032.34~20.04.15.8.0-1035.37~20.04.15.8.0-1038.40~20.04.15.8.0-1039.41 | None known |
linux-gkeUbuntu:20.04:LTS | All versions, plus listed versions 5.4.0-1033.355.4.0-1035.375.4.0-1036.385.4.0-1037.395.4.0-1039.41 Show 45 moreShow less5.4.0-1041.435.4.0-1042.445.4.0-1043.455.4.0-1044.465.4.0-1046.485.4.0-1049.525.4.0-1051.545.4.0-1052.555.4.0-1053.565.4.0-1054.575.4.0-1055.585.4.0-1056.595.4.0-1057.605.4.0-1059.625.4.0-1061.645.4.0-1062.655.4.0-1063.665.4.0-1065.685.4.0-1066.695.4.0-1067.705.4.0-1068.715.4.0-1071.765.4.0-1072.775.4.0-1074.795.4.0-1076.825.4.0-1078.845.4.0-1080.865.4.0-1081.875.4.0-1083.895.4.0-1084.905.4.0-1086.935.4.0-1087.945.4.0-1090.975.4.0-1091.985.4.0-1094.1015.4.0-1095.1025.4.0-1096.1035.4.0-1097.1045.4.0-1098.1055.4.0-1099.1065.4.0-1100.1075.4.0-1101.1085.4.0-1102.1095.4.0-1103.1105.4.0-1104.111 | None known |
linux-gke-5.15Ubuntu:20.04:LTS | All versions, plus listed versions 5.15.0-1011.14~20.04.15.15.0-1014.17~20.04.15.15.0-1015.18~20.04.15.15.0-1016.19~20.04.15.15.0-1019.23~20.04.1 Show 13 moreShow less5.15.0-1020.25~20.04.15.15.0-1023.28~20.04.25.15.0-1027.32~20.04.15.15.0-1028.33~20.04.15.15.0-1029.34~20.04.15.15.0-1031.36~20.04.15.15.0-1032.37~20.04.15.15.0-1033.38~20.04.15.15.0-1034.39~20.04.15.15.0-1036.41~20.04.15.15.0-1037.42~20.04.15.15.0-1038.43~20.04.15.15.0-1039.44~20.04.1 | None known |
linux-hwe-5.11Ubuntu:20.04:LTS | All versions, plus listed versions 5.11.0-22.23~20.04.15.11.0-25.27~20.04.15.11.0-27.29~20.04.15.11.0-34.36~20.04.15.11.0-36.40~20.04.1 Show 7 moreShow less5.11.0-37.41~20.04.25.11.0-38.42~20.04.15.11.0-40.44~20.04.25.11.0-41.45~20.04.15.11.0-43.47~20.04.25.11.0-44.48~20.04.25.11.0-46.51~20.04.1 | None known |
linux-hwe-5.13Ubuntu:20.04:LTS | All versions, plus listed versions 5.13.0-21.21~20.04.15.13.0-22.22~20.04.15.13.0-23.23~20.04.25.13.0-25.26~20.04.15.13.0-27.29~20.04.1 Show 11 moreShow less5.13.0-28.31~20.04.15.13.0-30.33~20.04.15.13.0-35.40~20.04.15.13.0-37.42~20.04.15.13.0-39.44~20.04.15.13.0-40.45~20.04.15.13.0-41.46~20.04.15.13.0-44.49~20.04.15.13.0-48.54~20.04.15.13.0-51.58~20.04.15.13.0-52.59~20.04.1 | None known |
linux-hwe-5.8Ubuntu:20.04:LTS | All versions, plus listed versions 5.8.0-23.24~20.04.15.8.0-25.26~20.04.15.8.0-28.30~20.04.15.8.0-29.31~20.04.15.8.0-31.33~20.04.1 Show 16 moreShow less5.8.0-33.36~20.04.15.8.0-34.37~20.04.25.8.0-36.40~20.04.15.8.0-38.43~20.04.15.8.0-40.45~20.04.15.8.0-41.46~20.04.15.8.0-43.49~20.04.15.8.0-44.50~20.04.15.8.0-45.51~20.04.15.8.0-48.54~20.04.15.8.0-49.55~20.04.15.8.0-50.56~20.04.15.8.0-53.60~20.04.15.8.0-55.62~20.04.15.8.0-59.66~20.04.15.8.0-63.71~20.04.1 | None known |
linux-intel-5.13Ubuntu:20.04:LTS | All versions, plus listed versions 5.13.0-1007.75.13.0-1008.85.13.0-1009.95.13.0-1010.105.13.0-1011.115.13.0-1014.155.13.0-1017.19 | None known |
linux-oem-5.10Ubuntu:20.04:LTS | All versions, plus listed versions 5.10.0-1008.95.10.0-1011.125.10.0-1013.145.10.0-1014.155.10.0-1016.17 Show 21 moreShow less5.10.0-1017.185.10.0-1019.205.10.0-1021.225.10.0-1022.235.10.0-1023.245.10.0-1025.265.10.0-1026.275.10.0-1029.305.10.0-1032.335.10.0-1033.345.10.0-1034.355.10.0-1038.405.10.0-1044.465.10.0-1045.475.10.0-1049.515.10.0-1050.525.10.0-1051.535.10.0-1052.545.10.0-1053.555.10.0-1055.585.10.0-1057.61 | None known |
linux-oem-5.13Ubuntu:20.04:LTS | All versions, plus listed versions 5.13.0-1009.105.13.0-1010.115.13.0-1012.165.13.0-1014.185.13.0-1017.21 Show 7 moreShow less5.13.0-1019.235.13.0-1020.245.13.0-1021.255.13.0-1022.265.13.0-1026.325.13.0-1028.355.13.0-1029.36 | None known |
linux-oem-5.14Ubuntu:20.04:LTS | All versions, plus listed versions 5.14.0-1004.45.14.0-1005.55.14.0-1007.75.14.0-1008.85.14.0-1010.10 Show 30 moreShow less5.14.0-1011.115.14.0-1013.135.14.0-1018.195.14.0-1020.225.14.0-1022.245.14.0-1024.265.14.0-1027.305.14.0-1029.325.14.0-1031.345.14.0-1032.355.14.0-1033.365.14.0-1034.375.14.0-1036.405.14.0-1038.425.14.0-1042.475.14.0-1044.495.14.0-1045.515.14.0-1046.535.14.0-1047.545.14.0-1048.555.14.0-1049.565.14.0-1050.575.14.0-1051.585.14.0-1052.595.14.0-1054.615.14.0-1055.625.14.0-1056.635.14.0-1057.645.14.0-1058.665.14.0-1059.67 | None known |
linux-oem-5.6Ubuntu:20.04:LTS | All versions, plus listed versions 5.6.0-1007.75.6.0-1008.85.6.0-1010.105.6.0-1011.115.6.0-1013.13 Show 24 moreShow less5.6.0-1017.175.6.0-1018.185.6.0-1020.205.6.0-1021.215.6.0-1023.235.6.0-1026.265.6.0-1027.275.6.0-1028.285.6.0-1031.325.6.0-1032.335.6.0-1033.355.6.0-1034.365.6.0-1035.375.6.0-1036.395.6.0-1039.435.6.0-1042.465.6.0-1047.515.6.0-1048.525.6.0-1050.545.6.0-1052.565.6.0-1053.575.6.0-1054.585.6.0-1055.595.6.0-1056.60 | None known |
linux-oracle-5.11Ubuntu:20.04:LTS | All versions, plus listed versions 5.11.0-1008.8~20.04.15.11.0-1013.14~20.04.15.11.0-1016.17~20.04.15.11.0-1017.18~20.04.15.11.0-1019.20~20.04.1 Show 7 moreShow less5.11.0-1020.21~20.04.15.11.0-1021.22~20.04.15.11.0-1022.23~20.04.15.11.0-1023.24~20.04.15.11.0-1025.27~20.04.15.11.0-1027.30~20.04.15.11.0-1028.31~20.04.1 | None known |
linux-oracle-5.13Ubuntu:20.04:LTS | All versions, plus listed versions 5.13.0-1011.13~20.04.25.13.0-1015.19~20.04.15.13.0-1016.20~20.04.15.13.0-1018.22~20.04.15.13.0-1021.26~20.04.1 Show 7 moreShow less5.13.0-1025.30~20.04.15.13.0-1027.32~20.04.15.13.0-1028.33~20.04.15.13.0-1030.35~20.04.15.13.0-1033.39~20.04.15.13.0-1034.40~20.04.15.13.0-1036.43~20.04.1 | None known |
linux-oracle-5.8Ubuntu:20.04:LTS | All versions, plus listed versions 5.8.0-1031.32~20.04.25.8.0-1033.34~20.04.15.8.0-1034.35~20.04.25.8.0-1037.38~20.04.15.8.0-1038.39~20.04.1 | None known |
linux-raspi2Ubuntu:20.04:LTS | All versions, plus listed versions 5.3.0-1007.85.3.0-1014.165.3.0-1015.175.3.0-1017.195.4.0-1004.45.4.0-1006.6 | None known |
linux-riscvUbuntu:20.04:LTS | All versions, plus listed versions 5.4.0-24.285.4.0-26.305.4.0-27.315.4.0-28.325.4.0-30.34 Show 7 moreShow less5.4.0-31.355.4.0-33.375.4.0-34.385.4.0-36.415.4.0-37.425.4.0-39.445.4.0-40.45 | None known |
linux-riscv-5.11Ubuntu:20.04:LTS | All versions, plus listed versions 5.11.0-1015.16~20.04.15.11.0-1017.18~20.04.15.11.0-1018.19~20.04.25.11.0-1020.21~20.04.15.11.0-1021.22~20.04.1 Show 8 moreShow less5.11.0-1022.23~20.04.15.11.0-1023.24~20.04.15.11.0-1024.25~20.04.15.11.0-1026.28~20.04.15.11.0-1028.31~20.04.15.11.0-1029.32~20.04.15.11.0-1030.345.11.0-1031.35 | None known |
linux-riscv-5.8Ubuntu:20.04:LTS | All versions, plus listed versions 5.8.0-14.16~20.04.15.8.0-14.16~20.04.35.8.0-16.18~20.04.15.8.0-17.19~20.04.15.8.0-18.20~20.04.1 Show 5 moreShow less5.8.0-20.22~20.04.15.8.0-22.24~20.04.15.8.0-25.27~20.04.15.8.0-26.28~20.04.15.8.0-29.31~20.04.1 | None known |
linux-allwinner-5.19Ubuntu:22.04:LTS | All versions, plus listed versions 5.19.0-1007.7~22.04.15.19.0-1009.9~22.04.15.19.0-1010.10~22.04.15.19.0-1011.11~22.04.15.19.0-1012.12~22.04.15.19.0-1013.13~22.04.15.19.0-1014.14~22.04.15.19.0-1015.15~22.04.1 | None known |
linux-aws-5.19Ubuntu:22.04:LTS | All versions, plus listed versions 5.19.0-1019.20~22.04.15.19.0-1020.21~22.04.15.19.0-1022.23~22.04.15.19.0-1023.24~22.04.15.19.0-1024.25~22.04.1 Show 5 moreShow less5.19.0-1025.26~22.04.15.19.0-1026.27~22.04.15.19.0-1027.28~22.04.15.19.0-1028.29~22.04.15.19.0-1029.30~22.04.1 | None known |
linux-aws-6.2Ubuntu:22.04:LTS | All versions, plus listed versions 6.2.0-1005.5~22.04.16.2.0-1006.6~22.04.16.2.0-1007.7~22.04.16.2.0-1008.8~22.04.16.2.0-1009.9~22.04.3 Show 9 moreShow less6.2.0-1010.10~22.04.16.2.0-1011.11~22.04.16.2.0-1012.12~22.04.16.2.0-1013.13~22.04.16.2.0-1014.14~22.04.16.2.0-1015.15~22.04.16.2.0-1016.16~22.04.16.2.0-1017.17~22.04.16.2.0-1018.18~22.04.1 | None known |
linux-azure-5.19Ubuntu:22.04:LTS | All versions, plus listed versions 5.19.0-1020.21~22.04.15.19.0-1021.22~22.04.15.19.0-1022.23~22.04.15.19.0-1023.24~22.04.15.19.0-1025.28~22.04.15.19.0-1026.29~22.04.15.19.0-1027.30~22.04.2 | None known |
linux-azure-6.2Ubuntu:22.04:LTS | All versions, plus listed versions 6.2.0-1005.5~22.04.16.2.0-1006.6~22.04.16.2.0-1007.7~22.04.16.2.0-1008.8~22.04.16.2.0-1009.9~22.04.3 Show 8 moreShow less6.2.0-1011.11~22.04.16.2.0-1012.12~22.04.16.2.0-1014.14~22.04.16.2.0-1015.15~22.04.16.2.0-1016.16~22.04.16.2.0-1017.17~22.04.16.2.0-1018.18~22.04.16.2.0-1019.19~22.04.1 | None known |
linux-azure-fde-5.19Ubuntu:22.04:LTS | All versions, plus listed versions 5.19.0-1025.28~22.04.1.15.19.0-1026.29~22.04.1.15.19.0-1027.30~22.04.2.1 | None known |
linux-azure-fde-6.2Ubuntu:22.04:LTS | All versions, plus listed versions 6.2.0-1008.8~22.04.1.16.2.0-1009.9~22.04.3.16.2.0-1011.11~22.04.1.16.2.0-1012.12~22.04.1.16.2.0-1014.14~22.04.1.1 Show 5 moreShow less6.2.0-1015.15~22.04.1.16.2.0-1016.16~22.04.1.16.2.0-1017.17~22.04.1.16.2.0-1018.18~22.04.1.16.2.0-1019.19~22.04.1.1 | None known |
linux-gcp-5.19Ubuntu:22.04:LTS | All versions, plus listed versions 5.19.0-1020.22~22.04.25.19.0-1021.23~22.04.15.19.0-1022.24~22.04.15.19.0-1024.26~22.04.15.19.0-1025.27~22.04.15.19.0-1026.28~22.04.15.19.0-1027.29~22.04.15.19.0-1030.32~22.04.1 | None known |
linux-gcp-6.2Ubuntu:22.04:LTS | All versions, plus listed versions 6.2.0-1009.9~22.04.36.2.0-1010.10~22.04.16.2.0-1011.11~22.04.16.2.0-1011.11~22.04.36.2.0-1012.12~22.04.1 Show 7 moreShow less6.2.0-1013.13~22.04.16.2.0-1014.14~22.04.16.2.0-1016.18~22.04.16.2.0-1017.19~22.04.16.2.0-1018.20~22.04.16.2.0-1019.21~22.04.16.2.0-1021.23~22.04.1 | None known |
linux-hwe-5.19Ubuntu:22.04:LTS | All versions, plus listed versions 5.19.0-28.29~22.04.15.19.0-32.33~22.04.15.19.0-35.36~22.04.15.19.0-38.39~22.04.15.19.0-40.41~22.04.1 Show 6 moreShow less5.19.0-41.42~22.04.15.19.0-42.43~22.04.15.19.0-43.44~22.04.15.19.0-45.46~22.04.15.19.0-46.47~22.04.15.19.0-50.50 | None known |
linux-hwe-6.2Ubuntu:22.04:LTS | All versions, plus listed versions 6.2.0-25.25~22.04.26.2.0-26.26~22.04.16.2.0-31.31~22.04.16.2.0-32.32~22.04.16.2.0-33.33~22.04.1 Show 5 moreShow less6.2.0-34.34~22.04.16.2.0-35.35~22.04.16.2.0-36.37~22.04.16.2.0-37.38~22.04.16.2.0-39.40~22.04.1 | None known |
linux-lowlatency-hwe-5.19Ubuntu:22.04:LTS | All versions, plus listed versions 5.19.0-1017.18~22.04.15.19.0-1018.19~22.04.15.19.0-1021.22~22.04.15.19.0-1022.23~22.04.15.19.0-1023.24~22.04.1 Show 5 moreShow less5.19.0-1024.25~22.04.15.19.0-1025.26~22.04.15.19.0-1027.28~22.04.15.19.0-1028.29~22.04.15.19.0-1030.30 | None known |
linux-lowlatency-hwe-6.2Ubuntu:22.04:LTS | All versions, plus listed versions 6.2.0-1008.8~22.04.16.2.0-1009.9~22.04.16.2.0-1011.11~22.04.16.2.0-1012.12~22.04.16.2.0-1013.13~22.04.1 Show 5 moreShow less6.2.0-1014.14~22.04.16.2.0-1015.15~22.04.16.2.0-1016.16~22.04.16.2.0-1017.17~22.04.16.2.0-1018.18~22.04.1 | None known |
linux-nvidia-6.2Ubuntu:22.04:LTS | All versions, plus listed versions 6.2.0-1003.3~22.04.16.2.0-1009.96.2.0-1010.106.2.0-1011.116.2.0-1012.126.2.0-1013.136.2.0-1015.15 | None known |
linux-oem-5.17Ubuntu:22.04:LTS | All versions, plus listed versions 5.17.0-1003.35.17.0-1004.45.17.0-1006.65.17.0-1011.125.17.0-1012.13 Show 21 moreShow less5.17.0-1013.145.17.0-1014.155.17.0-1015.165.17.0-1016.175.17.0-1017.185.17.0-1018.195.17.0-1019.205.17.0-1020.215.17.0-1021.225.17.0-1024.255.17.0-1025.265.17.0-1026.275.17.0-1027.285.17.0-1028.295.17.0-1029.305.17.0-1030.315.17.0-1031.325.17.0-1032.335.17.0-1033.345.17.0-1034.355.17.0-1035.36 | None known |
linux-oem-6.0Ubuntu:22.04:LTS | All versions, plus listed versions 6.0.0-1006.66.0.0-1007.76.0.0-1008.86.0.0-1009.96.0.0-1010.10 Show 11 moreShow less6.0.0-1011.116.0.0-1012.126.0.0-1013.136.0.0-1014.146.0.0-1015.156.0.0-1016.166.0.0-1017.176.0.0-1018.186.0.0-1019.196.0.0-1020.206.0.0-1021.21 | None known |
linux-oem-6.1Ubuntu:22.04:LTS | All versions, plus listed versions 6.1.0-1004.46.1.0-1006.66.1.0-1007.76.1.0-1008.86.1.0-1009.9 Show 22 moreShow less6.1.0-1010.106.1.0-1012.126.1.0-1013.136.1.0-1014.146.1.0-1015.156.1.0-1016.166.1.0-1017.176.1.0-1019.196.1.0-1020.206.1.0-1021.216.1.0-1022.226.1.0-1023.236.1.0-1024.246.1.0-1025.256.1.0-1026.266.1.0-1027.276.1.0-1028.286.1.0-1029.296.1.0-1033.336.1.0-1034.346.1.0-1035.356.1.0-1036.36 | None known |
linux-riscvUbuntu:22.04:LTS | All versions, plus listed versions 5.13.0-1004.45.13.0-1006.6+22.04.15.13.0-1007.7+22.04.15.13.0-1010.11+22.04.15.15.0-1004.4 Show 18 moreShow less5.15.0-1005.55.15.0-1006.65.15.0-1007.75.15.0-1008.85.15.0-1011.125.15.0-1012.135.15.0-1014.165.15.0-1015.175.15.0-1016.185.15.0-1017.195.15.0-1018.215.15.0-1019.225.15.0-1020.235.15.0-1022.265.15.0-1023.275.15.0-1026.305.15.0-1027.315.15.0-1028.32 | None known |
linux-riscv-5.19Ubuntu:22.04:LTS | All versions, plus listed versions 5.19.0-1012.13~22.04.15.19.0-1015.16~22.04.15.19.0-1016.17~22.04.15.19.0-1017.18~22.04.15.19.0-1018.19~22.04.15.19.0-1019.21~22.04.15.19.0-1020.22~22.04.15.19.0-1021.23~22.04.1 | None known |
linux-starfive-5.19Ubuntu:22.04:LTS | All versions, plus listed versions 5.19.0-1014.16~22.04.15.19.0-1015.17~22.04.15.19.0-1016.18~22.04.15.19.0-1017.19~22.04.15.19.0-1018.20~22.04.15.19.0-1019.21~22.04.15.19.0-1020.22~22.04.1 | None known |
linux-starfive-6.2Ubuntu:22.04:LTS | All versions, plus listed versions 6.2.0-1006.7~22.04.16.2.0-1007.8~22.04.16.2.0-1009.10~22.04.1 | None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2021-46957 is a medium vulnerability (CVSS 5.5) in Linux, published February 27, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.21%, the 10th percentile. No source names a fixed version.
References
git.kernel.org/stable/c/fd0f06590d35c99f98d12c7984897ec4201a6263
git.kernel.org/stable/c/b1ebaa0e1318494a7637099a26add50509e37964
nvd.nist.gov/vuln/detail/CVE-2021-46957
github.com/advisories/GHSA-rfvx-8c45-w4c7
ubuntu.com/security/CVE-2021-46957
git.kernel.org/linus/b1ebaa0e1318494a7637099a26add50509e37964
cve.org/CVERecord?id=CVE-2021-46957
Left out here: 1 version. The JSON record has them.