CVE-2022-3566
Medium · 4.6CVSS
4.6
EPSS
0.7%
Published
Oct 17, 2022
CISA due date
—
Cloudanix analysis
A flaw in the Linux operating system's network handling could let someone already on the computer interfere with network connections and potentially take over the machine.
- Exploitation
- Adjacent Network
- Attacker needs
- Low Privilege
- Complexity
- High
- Impact
- Privilege Gain
- Component
- OS kernel
- Class
- Race Condition
- Remediation
- Patch
- Effort
- Medium
- Patch risk
- Low
What it actually does
Race condition in tcp_getsockopt and tcp_setsockopt functions within the Linux kernel TCP handler that can lead to inconsistent socket state or memory corruption.
Why it matters to the business
Linux-based systems remain exposed to local attacks that may result in privilege escalation, data disclosure, or service disruption; the issue has been public for over four years with no vendor fixes listed, increasing long-term operational risk across servers and embedded devices.
How an attack unfolds
An attacker with local access creates a TCP socket and issues concurrent getsockopt and setsockopt calls to trigger the race condition in the handler, potentially leading to use-after-free or privilege escalation on affected kernels.
How to fix it
Upgrade the Linux kernel to a version containing the upstream fix for the TCP socket option race condition; apply distribution-specific security updates as soon as they become available and rebuild any custom kernels with the patch.
How to confirm the fix worked
Confirm the running kernel version contains the upstream TCP handler fix, review kernel source for the corrected locking around tcp_getsockopt/tcp_setsockopt, and perform regression testing with concurrent socket option workloads.
Typical attack path
- Gain local user access on a Linux system
- Create a TCP socket
- Issue simultaneous tcp_getsockopt and tcp_setsockopt calls
- Trigger the race condition to corrupt socket state
- Escalate privileges or crash the system
How to detect it
Search kernel logs and audit trails for repeated socket option calls coinciding with crashes or privilege changes; examine process listings for unexpected local binaries exercising TCP socket APIs around suspicious events.
What your security team should do
- Prioritize kernel updates on all internet-facing and multi-user Linux systems
- Enforce least-privilege access to limit local attackers
- Monitor kernel logs and auditd for anomalous socket-related errors
- Track EPSS trend and re-assess if exploit maturity increases
The record
A vulnerability was identified in Linux Kernel up to 4.19.316/5.4.278/5.10.220/5.15.161. This impacts the function tcp_getsockopt/tcp_setsockopt of the component TCP Handler. Such manipulation leads to race condition. A high complexity level is associated with this attack. The exploitability is said to be difficult. The vulnerability was introduced in 2.6.12, commit 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ("Linux-2.6.12-rc2"). Upgrading to version 4.19.317, 5.4.279, 5.10.221, 5.15.162 and 6.1 will fix this issue. The name of the patch is fcd31dd8291b23d713245947ec2b2d99ef07aef2/3b32f265805a49071e2c4568a524398ba22bf93c/d529193eae979a7bf2255cd9fe68b7af7a1c91b3/5bb642cc3355ffd3c8bca0a8bd8e6e65bcc2091c/f49cd2f4d6170d27a2c61f1fecb03d8a70c91f57. The affected component should be upgraded.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | bpftool | 0 | 4.18.0-477.10.1.el8_8 |
| AlmaLinux:8 | kernel | 0 | 4.18.0-477.10.1.el8_8 |
| AlmaLinux:8 | kernel-abi-stablelists | 0 | 4.18.0-477.10.1.el8_8 |
| AlmaLinux:8 | kernel-core | 0 | 4.18.0-477.10.1.el8_8 |
| AlmaLinux:8 | kernel-cross-headers | 0 | 4.18.0-477.10.1.el8_8 |
| AlmaLinux:8 | kernel-debug | 0 | 4.18.0-477.10.1.el8_8 |
| AlmaLinux:8 | kernel-debug-core | 0 | 4.18.0-477.10.1.el8_8 |
| AlmaLinux:8 | kernel-debug-devel | 0 | 4.18.0-477.10.1.el8_8 |
| AlmaLinux:8 | kernel-debug-modules | 0 | 4.18.0-477.10.1.el8_8 |
| AlmaLinux:8 | kernel-debug-modules-extra | 0 | 4.18.0-477.10.1.el8_8 |
| AlmaLinux:8 | kernel-devel | 0 | 4.18.0-477.10.1.el8_8 |
| AlmaLinux:8 | kernel-doc | 0 | 4.18.0-477.10.1.el8_8 |
| AlmaLinux:8 | kernel-modules | 0 | 4.18.0-477.10.1.el8_8 |
| AlmaLinux:8 | kernel-modules-extra | 0 | 4.18.0-477.10.1.el8_8 |
| AlmaLinux:8 | kernel-rt | 0 | 4.18.0-477.10.1.rt7.274.el8_8 |
| AlmaLinux:8 | kernel-rt-core | 0 | 4.18.0-477.10.1.rt7.274.el8_8 |
| AlmaLinux:8 | kernel-rt-debug | 0 | 4.18.0-477.10.1.rt7.274.el8_8 |
| AlmaLinux:8 | kernel-rt-debug-core | 0 | 4.18.0-477.10.1.rt7.274.el8_8 |
| AlmaLinux:8 | kernel-rt-debug-devel | 0 | 4.18.0-477.10.1.rt7.274.el8_8 |
| AlmaLinux:8 | kernel-rt-debug-kvm | 0 | 4.18.0-477.10.1.rt7.274.el8_8 |
| AlmaLinux:8 | kernel-rt-debug-modules | 0 | 4.18.0-477.10.1.rt7.274.el8_8 |
| AlmaLinux:8 | kernel-rt-debug-modules-extra | 0 | 4.18.0-477.10.1.rt7.274.el8_8 |
| AlmaLinux:8 | kernel-rt-devel | 0 | 4.18.0-477.10.1.rt7.274.el8_8 |
| AlmaLinux:8 | kernel-rt-kvm | 0 | 4.18.0-477.10.1.rt7.274.el8_8 |
| AlmaLinux:8 | kernel-rt-modules | 0 | 4.18.0-477.10.1.rt7.274.el8_8 |
| AlmaLinux:8 | kernel-rt-modules-extra | 0 | 4.18.0-477.10.1.rt7.274.el8_8 |
| AlmaLinux:8 | kernel-tools | 0 | 4.18.0-477.10.1.el8_8 |
| AlmaLinux:8 | kernel-tools-libs | 0 | 4.18.0-477.10.1.el8_8 |
| AlmaLinux:8 | kernel-tools-libs-devel | 0 | 4.18.0-477.10.1.el8_8 |
| AlmaLinux:8 | kernel-zfcpdump | 0 | 4.18.0-477.10.1.el8_8 |
| AlmaLinux:8 | kernel-zfcpdump-core | 0 | 4.18.0-477.10.1.el8_8 |
| AlmaLinux:8 | kernel-zfcpdump-devel | 0 | 4.18.0-477.10.1.el8_8 |
| AlmaLinux:8 | kernel-zfcpdump-modules | 0 | 4.18.0-477.10.1.el8_8 |
| AlmaLinux:8 | kernel-zfcpdump-modules-extra | 0 | 4.18.0-477.10.1.el8_8 |
| AlmaLinux:8 | perf | 0 | 4.18.0-477.10.1.el8_8 |
| AlmaLinux:8 | python3-perf | 0 | 4.18.0-477.10.1.el8_8 |
| AlmaLinux:9 | bpftool | 0 | 7.0.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-64k | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-64k-core | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-64k-debug | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-64k-debug-core | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-64k-debug-devel | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-64k-debug-devel-matched | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-64k-debug-modules | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-64k-debug-modules-core | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-64k-debug-modules-extra | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-64k-devel | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-64k-devel-matched | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-64k-modules | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-64k-modules-core | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-64k-modules-extra | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-abi-stablelists | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-core | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-cross-headers | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-debug | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-debug-core | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-debug-devel | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-debug-devel-matched | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-debug-modules | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-debug-modules-core | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-debug-modules-extra | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-debug-uki-virt | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-devel | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-devel-matched | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-doc | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-modules | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-modules-core | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-modules-extra | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-rt | 0 | 5.14.0-284.11.1.rt14.296.el9_2 |
| AlmaLinux:9 | kernel-rt-core | 0 | 5.14.0-284.11.1.rt14.296.el9_2 |
| AlmaLinux:9 | kernel-rt-debug | 0 | 5.14.0-284.11.1.rt14.296.el9_2 |
| AlmaLinux:9 | kernel-rt-debug-core | 0 | 5.14.0-284.11.1.rt14.296.el9_2 |
| AlmaLinux:9 | kernel-rt-debug-devel | 0 | 5.14.0-284.11.1.rt14.296.el9_2 |
| AlmaLinux:9 | kernel-rt-debug-kvm | 0 | 5.14.0-284.11.1.rt14.296.el9_2 |
| AlmaLinux:9 | kernel-rt-debug-modules | 0 | 5.14.0-284.11.1.rt14.296.el9_2 |
| AlmaLinux:9 | kernel-rt-debug-modules-core | 0 | 5.14.0-284.11.1.rt14.296.el9_2 |
| AlmaLinux:9 | kernel-rt-debug-modules-extra | 0 | 5.14.0-284.11.1.rt14.296.el9_2 |
| AlmaLinux:9 | kernel-rt-devel | 0 | 5.14.0-284.11.1.rt14.296.el9_2 |
| AlmaLinux:9 | kernel-rt-kvm | 0 | 5.14.0-284.11.1.rt14.296.el9_2 |
| AlmaLinux:9 | kernel-rt-modules | 0 | 5.14.0-284.11.1.rt14.296.el9_2 |
| AlmaLinux:9 | kernel-rt-modules-core | 0 | 5.14.0-284.11.1.rt14.296.el9_2 |
| AlmaLinux:9 | kernel-rt-modules-extra | 0 | 5.14.0-284.11.1.rt14.296.el9_2 |
| AlmaLinux:9 | kernel-tools | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-tools-libs | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-tools-libs-devel | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-uki-virt | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-zfcpdump | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-zfcpdump-core | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-zfcpdump-devel | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-zfcpdump-devel-matched | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-zfcpdump-modules | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-zfcpdump-modules-core | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | kernel-zfcpdump-modules-extra | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | perf | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | python3-perf | 0 | 5.14.0-284.11.1.el9_2 |
| AlmaLinux:9 | rtla | 0 | 5.14.0-284.11.1.el9_2 |
| 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 |
Related vulnerabilities
- CVE-2025-68301 In the Linux kernel, the following vulnerability has been resolved: net: atlantic: fix… Also affects bpftool
- CVE-2025-68285 In the Linux kernel, the following vulnerability has been resolved: libceph: fix… Also affects bpftool
- CVE-2025-40277 In the Linux kernel, the following vulnerability has been resolved: drm/vmwgfx: Validate… Also affects bpftool
- CVE-2025-40248 In the Linux kernel, the following vulnerability has been resolved: vsock: Ignore… Also affects bpftool
- CVE-2025-40240 In the Linux kernel, the following vulnerability has been resolved: sctp: avoid NULL… Also affects bpftool
- CVE-2025-40154 In the Linux kernel, the following vulnerability has been resolved: ASoC: Intel… Also affects bpftool
- CVE-2025-40096 In the Linux kernel, the following vulnerability has been resolved: drm/sched: Fix… Also affects bpftool
- CVE-2025-38352 In the Linux kernel, the following vulnerability has been resolved: posix-cpu-timers: fix… Also affects bpftool