CVE-2021-46957
Linux Kernel vulnerability analysis and mitigation

Overview

In the Linux kernel, a vulnerability (CVE-2021-46957) was discovered that causes a kernel panic when invoking sys_read traced by kprobe on the RISC-V architecture. The issue occurs when installing a kprobe at sys_read, which results in hitting a BUG_ON() in __find_get_block function (Kernel Git).

Technical details

The vulnerability occurs through a sequence of events: 1) After installing kprobe at sys_read entry, the first instruction is replaced by 'ebreak' instruction on RISC-V platform. 2) When reaching the 'ebreak' instruction, the kernel traps into the RISC-V breakpoint handler, where it sets up single-step execution and backs up the 'sstatus' register. 3) During instruction restoration, an 'Instruction page fault' exception can occur if the page table entry isn't filled. 4) The fault handling causes the 'sstatus' CSR to be restored with a value that has interrupts disabled, leading to a kernel panic when reaching __find_get_block which requires interrupts to be enabled (Kernel Git).

Impact

When exploited, this vulnerability results in a kernel panic on RISC-V systems when using kprobes to trace the sys_read system call. This can lead to system instability and denial of service conditions (Kernel Git).

Exploitability

The vulnerability can be triggered using a simple reproducer that involves setting up a kprobe event on sys_read and enabling it through the kernel's tracing interface. The specific commands to reproduce are documented in the kernel commit (Kernel Git).

Mitigation and workarounds

The issue has been fixed in the Linux kernel by restoring the value of 'sstatus' in pt_regs with the backup value when the instruction being single-stepped causes a page fault. The fix was implemented through a patch that modifies the kprobe fault handler (Kernel Git).

Additional resources


SourceThis report was generated using AI

Related Linux Kernel vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-80904MEDIUM5.9
  • Linux Kernel logoLinux Kernel
  • linux-bluefield
NoYesSep 04, 2026
CVE-2026-80905MEDIUM5.5
  • Linux Kernel logoLinux Kernel
  • linux-aws-6.14
NoYesSep 04, 2026
CVE-2026-80913MEDIUM4.4
  • Linux Kernel logoLinux Kernel
  • kernel6.18
NoYesSep 04, 2026
CVE-2026-80912MEDIUM4.4
  • Linux Kernel logoLinux Kernel
  • linux-oracle-5.4
NoYesSep 04, 2026
CVE-2026-80906NONEN/A
  • Linux Kernel logoLinux Kernel
  • linux-oracle-6.8
NoYesSep 04, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management