CVE-2022-2327
High · 7.8CVSS
7.8
EPSS
0.3%
Published
Jul 22, 2022
CISA due date
—
Cloudanix analysis
A bug in the Linux kernel can let someone already on the system crash it or potentially take full control, so updating the operating system kernel is important to stay protected.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Full Compromise
- Component
- OS kernel
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Medium
What it actually does
Missing work_flags handling in io_uring for certain operations causes incorrect reference counts on process identity objects, resulting in a double-free condition during IORING_OP execution.
Why it matters to the business
Local attackers can trigger kernel memory corruption leading to system crashes, denial of service, or potential privilege escalation on Linux systems, increasing operational risk and requiring urgent kernel updates across fleets.
How an attack unfolds
A local attacker with low privileges submits crafted io_uring submission queue entries that omit required identity work_flags; the kernel performs an incomplete reference grab, allowing a subsequent double-free that an attacker can leverage for arbitrary code execution or memory manipulation.
How to fix it
Upgrade the Linux kernel to a version containing commit df3f3bb5059d20ef094d6b2f0256c4bf4127a859 or any later mainline or distribution backport that fully addresses the missing work_flags cases for all IORING_OP types.
How to confirm the fix worked
Verify the running kernel includes the referenced commit via git log or distribution changelog; confirm absence of the vulnerable code paths in io_uring.c related to work_flags and identity handling.
Typical attack path
- Obtain local unprivileged access on a vulnerable Linux system
- Use io_uring syscalls to submit operations missing required work_flags
- Trigger reference count imbalance leading to double-free
- Leverage resulting use-after-free for kernel memory corruption or escalation
How to detect it
Review kernel logs (dmesg, syslog) for double-free warnings or slab corruption messages involving io_uring work items; inspect audit records for unusual io_uring syscall patterns from non-root users.
What your security team should do
- Prioritize kernel upgrades on all exposed Linux hosts within the next patching cycle
- Consider disabling io_uring via sysctl where the feature is not required
- Monitor kernel crash reports and audit logs for io_uring-related memory errors
The record
io_uring use work_flags to determine which identity need to grab from the calling process to make sure it is consistent with the calling process when executing IORING_OP. Some operations are missing some types, which can lead to incorrect reference counts which can then lead to a double free. We recommend upgrading the kernel past commit df3f3bb5059d20ef094d6b2f0256c4bf4127a859
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Chainguard | hyperv-daemons | 0 | 0 |
| Chainguard | hyperv-daemons-6.12 | 0 | 0 |
| Chainguard | hyperv-daemons-6.18 | 0 | 0 |
| Chainguard | hyperv-daemons-generic | 0 | 0 |
| Chainguard | linux | 0 | 0 |
| Chainguard | linux-aws-6.12 | 0 | 6.12.63-r0 |
| Chainguard | linux-aws-6.12 | 0 | 6.12.65-r0 |
| Chainguard | linux-aws-6.12-boot-installed | 0 | 0 |
| Chainguard | linux-aws-6.12-fips-boot-installed | 0 | 0 |
| Chainguard | linux-aws-6.12-headers | 0 | 0 |
| Chainguard | linux-aws-6.12-modules | 0 | 0 |
| Chainguard | linux-aws-6.18 | 0 | 6.18.4-r0 |
| Chainguard | linux-aws-6.18 | 0 | 6.18.5-r2 |
| Chainguard | linux-aws-6.18-boot-installed | 0 | 0 |
| Chainguard | linux-aws-6.18-fips-boot-installed | 0 | 0 |
| Chainguard | linux-aws-6.18-headers | 0 | 0 |
| Chainguard | linux-aws-6.18-modules | 0 | 0 |
| Chainguard | linux-aws-generic | 0 | 6.18.3-r0 |
| Chainguard | linux-aws-generic | 0 | 6.18.5-r0 |
| Chainguard | linux-aws-generic-boot-configuration | 0 | 0 |
| Chainguard | linux-aws-generic-boot-installed | 0 | 0 |
| Chainguard | linux-aws-generic-fips-boot-installed | 0 | 0 |
| Chainguard | linux-aws-generic-headers | 0 | 0 |
| Chainguard | linux-aws-generic-modules | 0 | 0 |
| Chainguard | linux-azure-6.12 | 0 | 6.12.63-r0 |
| Chainguard | linux-azure-6.12 | 0 | 6.12.65-r1 |
| Chainguard | linux-azure-6.12-boot-installed | 0 | 0 |
| Chainguard | linux-azure-6.12-fips-boot-installed | 0 | 0 |
| Chainguard | linux-azure-6.12-headers | 0 | 0 |
| Chainguard | linux-azure-6.12-modules | 0 | 0 |
| Chainguard | linux-azure-6.18 | 0 | 0 |
| Chainguard | linux-azure-6.18-boot-installed | 0 | 0 |
| Chainguard | linux-azure-6.18-fips-boot-installed | 0 | 0 |
| Chainguard | linux-azure-6.18-headers | 0 | 0 |
| Chainguard | linux-azure-6.18-modules | 0 | 0 |
| Chainguard | linux-azure-generic | 0 | 6.18.3-r0 |
| Chainguard | linux-azure-generic | 0 | 6.18.5-r0 |
| Chainguard | linux-azure-generic-boot-configuration | 0 | 0 |
| Chainguard | linux-azure-generic-boot-installed | 0 | 0 |
| Chainguard | linux-azure-generic-fips-boot-installed | 0 | 0 |
| Chainguard | linux-azure-generic-headers | 0 | 0 |
| Chainguard | linux-azure-generic-modules | 0 | 0 |
| Chainguard | linux-boot-configuration | 0 | 0 |
| Chainguard | linux-boot-installed | 0 | 0 |
| Chainguard | linux-gcp-6.12 | 0 | 6.12.63-r0 |
| Chainguard | linux-gcp-6.12 | 0 | 6.12.65-r0 |
| Chainguard | linux-gcp-6.12-boot-installed | 0 | 0 |
| Chainguard | linux-gcp-6.12-fips-boot-installed | 0 | 0 |
| Chainguard | linux-gcp-6.12-headers | 0 | 0 |
| Chainguard | linux-gcp-6.12-modules | 0 | 0 |
| Chainguard | linux-gcp-6.18 | 0 | 6.18.4-r0 |
| Chainguard | linux-gcp-6.18 | 0 | 6.18.5-r2 |
| Chainguard | linux-gcp-6.18-boot-installed | 0 | 0 |
| Chainguard | linux-gcp-6.18-fips-boot-installed | 0 | 0 |
| Chainguard | linux-gcp-6.18-headers | 0 | 0 |
| Chainguard | linux-gcp-6.18-modules | 0 | 0 |
| Chainguard | linux-gcp-generic | 0 | 6.18.3-r0 |
| Chainguard | linux-gcp-generic | 0 | 6.18.5-r0 |
| Chainguard | linux-gcp-generic-boot-installed | 0 | 0 |
| Chainguard | linux-gcp-generic-fips-boot-installed | 0 | 0 |
| Chainguard | linux-gcp-generic-headers | 0 | 0 |
| Chainguard | linux-gcp-generic-modules | 0 | 0 |
| Chainguard | linux-modules | 0 | 0 |
| Chainguard | linux-qemu-6.12 | 0 | 6.12.65-r2 |
| Chainguard | linux-qemu-6.12-boot-installed | 0 | 6.12.63-r0 |
| Chainguard | linux-qemu-6.12-fips-boot-installed | 0 | 6.12.63-r0 |
| Chainguard | linux-qemu-6.12-headers | 0 | 6.12.63-r0 |
| Chainguard | linux-qemu-6.12-modules | 0 | 6.12.63-r0 |
| Chainguard | linux-qemu-6.18 | 0 | 6.18.5-r2 |
| Chainguard | linux-qemu-6.18-boot-installed | 0 | 6.18.2-r0 |
| Chainguard | linux-qemu-6.18-fips-boot-installed | 0 | 6.18.2-r0 |
| Chainguard | linux-qemu-6.18-headers | 0 | 6.18.2-r0 |
| Chainguard | linux-qemu-6.18-modules | 0 | 6.18.2-r0 |
| Chainguard | linux-qemu-generic | 0 | 6.18.3-r0 |
| Chainguard | linux-qemu-generic | 0 | 6.18.5-r0 |
| Chainguard | linux-qemu-generic-boot-installed | 0 | 0 |
| Chainguard | linux-qemu-generic-bootc-boot-installed | 0 | 6.18.4-r0 |
| Chainguard | linux-qemu-generic-bootc-boot-installed | 0 | 6.18.5-r0 |
| Chainguard | linux-qemu-generic-fips-boot-installed | 0 | 0 |
| Chainguard | linux-qemu-generic-headers | 0 | 0 |
| Chainguard | linux-qemu-generic-modules | 0 | 0 |
| Chainguard | linux-qemu-rc | 0 | 6.19_rc4-r0 |
| Chainguard | linux-qemu-rc | 0 | 6.19_rc5-r0 |
| Chainguard | linux-qemu-rc-boot-installed | 0 | 0 |
| Chainguard | linux-qemu-rc-fips-boot-installed | 0 | 0 |
| Chainguard | linux-qemu-rc-headers | 0 | 0 |
| Chainguard | linux-qemu-rc-modules | 0 | 0 |
| Chainguard | linux-vmware-6.12 | 0 | 6.12.65-r2 |
| Chainguard | linux-vmware-6.12-boot-installed | 0 | 6.12.63-r0 |
| Chainguard | linux-vmware-6.12-fips-boot-installed | 0 | 6.12.63-r0 |
| Chainguard | linux-vmware-6.12-headers | 0 | 6.12.63-r0 |
| Chainguard | linux-vmware-6.12-modules | 0 | 6.12.63-r0 |
| Chainguard | linux-vmware-6.18 | 0 | 6.18.5-r2 |
| Chainguard | linux-vmware-6.18-boot-installed | 0 | 6.18.2-r0 |
| Chainguard | linux-vmware-6.18-fips-boot-installed | 0 | 6.18.2-r0 |
| Chainguard | linux-vmware-6.18-headers | 0 | 6.18.2-r0 |
| Chainguard | linux-vmware-6.18-modules | 0 | 6.18.2-r0 |
| Chainguard | linux-vmware-generic | 0 | 6.18.3-r0 |
| Chainguard | linux-vmware-generic | 0 | 6.18.5-r0 |
| Chainguard | linux-vmware-generic-boot-installed | 0 | 0 |
| Chainguard | linux-vmware-generic-fips-boot-installed | 0 | 0 |
| Chainguard | linux-vmware-generic-headers | 0 | 0 |
| Chainguard | linux-vmware-generic-modules | 0 | 0 |
| Debian:11 | linux | 0 | 5.10.127-1 |
| Debian:12 | linux | 0 | 5.14.6-1 |
| Debian:13 | linux | 0 | 5.14.6-1 |
| Ubuntu:16.04:LTS | linux-hwe-edge | 0 | No fix |
| Ubuntu:18.04:LTS | linux | 0 | 4.13.0-16.19 |
| Ubuntu:18.04:LTS | linux-aws | 0 | 4.15.0-1001.1 |
| Ubuntu:18.04:LTS | linux-aws-5.0 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-aws-5.3 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-aws-5.4 | 0 | 5.4.0-1018.18~18.04.1 |
| Ubuntu:18.04:LTS | linux-azure | 0 | No fix |
| Ubuntu:18.04:LTS | linux-azure-4.15 | 0 | 4.15.0-1082.92 |
| Ubuntu:18.04:LTS | linux-azure-5.3 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-azure-5.4 | 0 | 5.4.0-1020.20~18.04.1 |
| Ubuntu:18.04:LTS | linux-azure-edge | 0 | No fix |
| Ubuntu:18.04:LTS | linux-dell300x | 0 | 4.15.0-1005.8 |
| Ubuntu:18.04:LTS | linux-gcp | 0 | No fix |
| Ubuntu:18.04:LTS | linux-gcp-4.15 | 0 | 4.15.0-1071.81 |
| Ubuntu:18.04:LTS | linux-gcp-5.3 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-gcp-5.4 | 0 | 5.4.0-1019.19~18.04.2 |
| Ubuntu:18.04:LTS | linux-gke-4.15 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-gke-5.4 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-gkeop-5.4 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-hwe | 0 | No fix |
| Ubuntu:18.04:LTS | linux-hwe-5.4 | 0 | 5.4.0-37.41~18.04.1 |
| Ubuntu:18.04:LTS | linux-hwe-edge | 0 | No fix |
| Ubuntu:18.04:LTS | linux-ibm-5.4 | 0 | 5.4.0-1010.11~18.04.2 |
| Ubuntu:18.04:LTS | linux-kvm | 0 | 4.15.0-1002.2 |
| Ubuntu:18.04:LTS | linux-oem | 0 | No fix |
| Ubuntu:18.04:LTS | linux-oracle | 0 | 4.15.0-1007.9 |
| Ubuntu:18.04:LTS | linux-oracle-5.0 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-oracle-5.3 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-oracle-5.4 | 0 | 5.4.0-1019.19~18.04.1 |
| Ubuntu:18.04:LTS | linux-raspi-5.4 | 0 | 5.4.0-1013.13~18.04.1 |
| Ubuntu:18.04:LTS | linux-raspi2 | 0 | 4.13.0-1005.5 |
| Ubuntu:18.04:LTS | linux-snapdragon | 0 | 4.4.0-1077.82 |
| Ubuntu:20.04:LTS | linux | 0 | 5.4.0-9.12 |
| Ubuntu:20.04:LTS | linux-aws | 0 | 5.4.0-1005.5 |
| Ubuntu:20.04:LTS | linux-aws-5.11 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-aws-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-aws-5.15 | 0 | 5.15.0-1014.18~20.04.1 |
| Ubuntu:20.04:LTS | linux-aws-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-azure | 0 | 5.4.0-1006.6 |
| Ubuntu:20.04:LTS | linux-azure-5.11 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-azure-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-azure-5.15 | 0 | 5.15.0-1007.8~20.04.1 |
| Ubuntu:20.04:LTS | linux-azure-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-azure-fde-5.15 | 0 | 5.15.0-1019.24~20.04.1.1 |
| Ubuntu:20.04:LTS | linux-bluefield | 0 | 5.4.0-1007.10 |
| Ubuntu:20.04:LTS | linux-gcp | 0 | 5.4.0-1005.5 |
| Ubuntu:20.04:LTS | linux-gcp-5.11 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-gcp-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-gcp-5.15 | 0 | 5.15.0-1006.9~20.04.1 |
| Ubuntu:20.04:LTS | linux-gcp-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-gke | 0 | 5.4.0-1033.35 |
| Ubuntu:20.04:LTS | linux-gke-5.15 | 0 | 5.15.0-1011.14~20.04.1 |
| Ubuntu:20.04:LTS | linux-gkeop | 0 | 5.4.0-1008.9 |
| Ubuntu:20.04:LTS | linux-gkeop-5.15 | 0 | 5.15.0-1003.5~20.04.2 |
| Ubuntu:20.04:LTS | linux-hwe-5.11 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-hwe-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-hwe-5.15 | 0 | 5.15.0-33.34~20.04.1 |
| Ubuntu:20.04:LTS | linux-hwe-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-ibm | 0 | 5.4.0-1003.4 |
| Ubuntu:20.04:LTS | linux-ibm-5.15 | 0 | 5.15.0-1033.36~20.04.1 |
| Ubuntu:20.04:LTS | linux-intel-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-intel-iotg-5.15 | 0 | 5.15.0-1003.5~20.04.1 |
| Ubuntu:20.04:LTS | linux-iot | 0 | 5.4.0-1001.3 |
| Ubuntu:20.04:LTS | linux-kvm | 0 | 5.4.0-1004.4 |
| Ubuntu:20.04:LTS | linux-lowlatency-hwe-5.15 | 0 | 5.15.0-33.34~20.04.1 |
| Ubuntu:20.04:LTS | linux-oem-5.10 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-oem-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-oem-5.14 | 0 | 5.14.0-1004.4 |
| Ubuntu:20.04:LTS | linux-oem-5.6 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-oracle | 0 | 5.4.0-1005.5 |
| Ubuntu:20.04:LTS | linux-oracle-5.11 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-oracle-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-oracle-5.15 | 0 | 5.15.0-1007.9~20.04.1 |
| Ubuntu:20.04:LTS | linux-oracle-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-raspi | 0 | 5.4.0-1007.7 |
| Ubuntu:20.04:LTS | linux-raspi2 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-riscv | 0 | No fix |
| Ubuntu:20.04:LTS | linux-riscv-5.11 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-riscv-5.15 | 0 | 5.15.0-1015.17~20.04.1 |
| Ubuntu:20.04:LTS | linux-riscv-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-xilinx-zynqmp | 0 | 5.4.0-1020.24 |
| Ubuntu:22.04:LTS | linux | 0 | 5.13.0-19.19 |
| Ubuntu:22.04:LTS | linux-aws | 0 | 5.13.0-1005.6 |
| Ubuntu:22.04:LTS | linux-aws-6.5 | 0 | 6.5.0-1008.8~22.04.1 |
| Ubuntu:22.04:LTS | linux-azure | 0 | 5.13.0-1006.7 |
| Ubuntu:22.04:LTS | linux-azure-5.19 | 0 | 5.19.0-1020.21~22.04.1 |
| Ubuntu:22.04:LTS | linux-azure-6.5 | 0 | 6.5.0-1007.7~22.04.1 |
| Ubuntu:22.04:LTS | linux-azure-fde | 0 | 5.15.0-1019.24.1 |
| Ubuntu:22.04:LTS | linux-gcp | 0 | 5.13.0-1005.6 |
| Ubuntu:22.04:LTS | linux-gcp-6.5 | 0 | 6.5.0-1010.10~22.04.3 |
| Ubuntu:22.04:LTS | linux-gke | 0 | 5.15.0-1002.2 |
| Ubuntu:22.04:LTS | linux-gkeop | 0 | 5.15.0-1001.2 |
| Ubuntu:22.04:LTS | linux-hwe-5.19 | 0 | 5.19.0-28.29~22.04.1 |
| Ubuntu:22.04:LTS | linux-hwe-6.5 | 0 | 6.5.0-14.14~22.04.1 |
Related vulnerabilities
- CVE-2023-39180 A flaw was found within the handling of SMB2_READ commands in the kernel ksmbd module. Also affects hyperv-daemons
- CVE-2023-39179 A flaw was found within the handling of SMB2 read requests in the kernel ksmbd module. Also affects hyperv-daemons
- CVE-2023-39176 A flaw was found within the parsing of SMB2 requests that have a transform header in the… Also affects hyperv-daemons
- CVE-2023-4458 A flaw was found within the parsing of extended attributes in the kernel ksmbd module. Also affects hyperv-daemons
- CVE-2023-52904 In the Linux kernel, the following vulnerability has been resolved: ALSA: usb-audio: Fix… Also affects hyperv-daemons
- CVE-2024-38381 In the Linux kernel, the following vulnerability has been resolved: nfc: nci: Fix… Also affects hyperv-daemons
- CVE-2023-6535 A flaw was found in the Linux kernel's NVMe driver. Also affects hyperv-daemons
- CVE-2023-6270 A flaw was found in the ATA over Ethernet (AoE) driver in the Linux kernel. Also affects hyperv-daemons