CVE-2022-50206: arm64: fix oops in concurrently setting insn_emulation sysctls
In the Linux kernel, the following vulnerability has been resolved:
arm64: fix oops in concurrently setting insn_emulation sysctls
emulation_proc_handler() changes table->data for proc_dointvec_minmax
and can generate the following Oops if called concurrently with itself:
| Unable to handle kernel NULL pointer dereference at virtual address 0000000000000010
| Internal error: Oops: 96000006 [#1] SMP
| Call trace:
| update_insn_emulation_mode+0xc0/0x148
| emulation_proc_handler+0x64/0xb8
| proc_sys_call_handler+0x9c/0xf8
| proc_sys_write+0x18/0x20
| __vfs_write+0x20/0x48
| vfs_write+0xe4/0x1d0
| ksys_write+0x70/0xf8
| __arm64_sys_write+0x20/0x28
| el0_svc_common.constprop.0+0x7c/0x1c0
| el0_svc_handler+0x2c/0xa0
| el0_svc+0x8/0x200
To fix this issue, keep the table->data as &insn->current_mode and
use container_of() to retrieve the insn pointer. Another mutex is
used to protect against the current_mode update but not for retrieving
insn_emulation as table->data is no longer changing.
Security readout for executives and security teams
Plain-English summary
CVE-2022-50206 is a Linux kernel ARM64 bug where concurrent changes to instruction-emulation sysctl settings can trigger a kernel NULL pointer dereference and Oops. The main business concern is availability on affected ARM64 Linux systems, not confirmed data theft or remote compromise.
Executive priority
Patch through normal kernel maintenance, with higher priority for ARM64 production systems where availability is critical. There is no source evidence of active exploitation, but a kernel Oops can create operational disruption if reachable.
Technical view
The issue is in arm64 emulation_proc_handler(). It changed table->data before calling proc_dointvec_minmax, creating a race when called concurrently. The fix keeps table->data stable at &insn->current_mode, recovers the enclosing structure with container_of(), and uses a mutex for current_mode updates.
Likely exposure
Exposure appears limited to ARM64 Linux systems using affected kernel versions or vulnerable stable commits, especially where the relevant insn_emulation sysctls can be changed. The source bundle does not identify affected distributions, default configuration exposure, containers, or remote attack surface.
Exploitation context
The bundle does not cite active exploitation, public exploitation, KEV listing, CVSS, or CWE classification. The described failure is a kernel Oops from concurrent sysctl writes, so practical exploitability and required privileges remain unclear from the provided evidence.
Researcher notes
Key uncertainty is privilege and reachability. The call trace shows proc_sys_write, but the bundle does not state who can write the affected sysctls or whether the Oops is consistently panic-inducing. Avoid extrapolating beyond ARM64 instruction-emulation sysctl concurrency.
Mitigation direction
Update affected ARM64 Linux kernels to a version containing the referenced stable fixes.
Check vendor distribution advisories for backported kernel packages and support status.
Restrict administrative access to kernel sysctl configuration interfaces.
Review whether panic-on-oops or watchdog settings increase outage impact.
Prioritize remediation on ARM64 production systems with local administrative multi-user access.
Validation and detection
Inventory ARM64 Linux systems and record running kernel versions.
Compare installed kernel builds against vendor advisories and referenced stable fixes.
Confirm whether relevant insn_emulation sysctls exist on each system.
Review logs for kernel Oops traces referencing update_insn_emulation_mode or emulation_proc_handler.
Validate patched systems after maintenance using normal operational health checks.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2022-50206 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
0CVSS vectors
3Timeline events
0ADP providers
9Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
Jun 18, 2025, 11:03 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.