CVE-2021-3759
Medium · 5.5CVSS
5.5
EPSS
0.4%
Published
Aug 23, 2022
CISA due date
—
Cloudanix analysis
A flaw in the Linux kernel lets local users crash or freeze the system by creating too many semaphores, making the machine unavailable until restarted.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Medium
What it actually does
A local user can repeatedly invoke semget to create semaphores within the memcg subsystem, exhausting kernel memory resources and triggering a denial of service.
Why it matters to the business
Systems become unavailable, halting workloads and requiring administrative intervention or reboot to restore service.
How an attack unfolds
An attacker with local access on an affected Linux kernel repeatedly calls the semget function to allocate semaphores, starving the memcg subsystem until the system is rendered unresponsive.
How to fix it
Upgrade the Linux kernel to a patched release that addresses the memcg semaphore handling flaw; apply vendor updates for Debian and other distributions as they become available.
How to confirm the fix worked
Verify the installed kernel version against upstream fixes, test that repeated semget calls no longer cause resource exhaustion, and confirm system stability under load.
Typical attack path
- Gain local shell access on the target system
- Execute repeated semget calls in a loop or script
- Monitor resource consumption until the kernel starves and availability is lost
How to detect it
Review system logs for repeated IPC or semaphore allocation events, high memory pressure in the memcg subsystem, and sudden unresponsiveness coinciding with local user activity.
What your security team should do
- Prioritize kernel updates across all Linux hosts
- Restrict local user access where possible to reduce attack surface
- Monitor for unusual semaphore or IPC activity in production environments
The record
A memory overflow vulnerability was found in the Linux kernel’s ipc functionality of the memcg subsystem, in the way a user calls the semget function multiple times, creating semaphores. This flaw allows a local user to starve the resources, causing a denial of service. The highest threat from this vulnerability is to system availability.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | bpftool | 0 | 4.18.0-372.9.1.el8 |
| AlmaLinux:8 | kernel | 0 | 4.18.0-372.9.1.el8 |
| AlmaLinux:8 | kernel-abi-stablelists | 0 | 4.18.0-372.9.1.el8 |
| AlmaLinux:8 | kernel-core | 0 | 4.18.0-372.9.1.el8 |
| AlmaLinux:8 | kernel-cross-headers | 0 | 4.18.0-372.9.1.el8 |
| AlmaLinux:8 | kernel-debug | 0 | 4.18.0-372.9.1.el8 |
| AlmaLinux:8 | kernel-debug-core | 0 | 4.18.0-372.9.1.el8 |
| AlmaLinux:8 | kernel-debug-devel | 0 | 4.18.0-372.9.1.el8 |
| AlmaLinux:8 | kernel-debug-modules | 0 | 4.18.0-372.9.1.el8 |
| AlmaLinux:8 | kernel-debug-modules-extra | 0 | 4.18.0-372.9.1.el8 |
| AlmaLinux:8 | kernel-devel | 0 | 4.18.0-372.9.1.el8 |
| AlmaLinux:8 | kernel-doc | 0 | 4.18.0-372.9.1.el8 |
| AlmaLinux:8 | kernel-headers | 0 | 4.18.0-372.9.1.el8 |
| AlmaLinux:8 | kernel-modules | 0 | 4.18.0-372.9.1.el8 |
| AlmaLinux:8 | kernel-modules-extra | 0 | 4.18.0-372.9.1.el8 |
| AlmaLinux:8 | kernel-tools | 0 | 4.18.0-372.9.1.el8 |
| AlmaLinux:8 | kernel-tools-libs | 0 | 4.18.0-372.9.1.el8 |
| AlmaLinux:8 | kernel-tools-libs-devel | 0 | 4.18.0-372.9.1.el8 |
| AlmaLinux:8 | perf | 0 | 4.18.0-372.9.1.el8 |
| AlmaLinux:8 | python3-perf | 0 | 4.18.0-372.9.1.el8 |
| 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.64-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-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.4-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.64-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.4-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.64-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.7-r0 |
| 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.4-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-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-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.4-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-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-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.4-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:10 | linux-5.10 | 0 | 5.10.158-2~deb10u1 |
| Debian:11 | linux | 0 | 5.10.158-1 |
| Debian:12 | linux | 0 | 5.15.3-1 |
| Debian:13 | linux | 0 | 5.15.3-1 |
| Red Hat:enterprise_linux:8::baseos | bpftool | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::baseos | bpftool-debuginfo | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::baseos | kernel | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::baseos | kernel-abi-stablelists | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::baseos | kernel-core | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::baseos | kernel-cross-headers | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::baseos | kernel-debug | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::baseos | kernel-debug-core | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::baseos | kernel-debug-debuginfo | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::baseos | kernel-debug-devel | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::baseos | kernel-debug-modules | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::baseos | kernel-debug-modules-extra | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::baseos | kernel-debuginfo | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::baseos | kernel-debuginfo-common-aarch64 | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::baseos | kernel-debuginfo-common-ppc64le | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::baseos | kernel-debuginfo-common-s390x | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::baseos | kernel-debuginfo-common-x86_64 | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::baseos | kernel-devel | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::baseos | kernel-doc | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::baseos | kernel-headers | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::baseos | kernel-modules | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::baseos | kernel-modules-extra | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::baseos | kernel-tools | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::baseos | kernel-tools-debuginfo | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::baseos | kernel-tools-libs | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::baseos | kernel-tools-libs-devel | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::baseos | kernel-zfcpdump | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::baseos | kernel-zfcpdump-core | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::baseos | kernel-zfcpdump-debuginfo | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::baseos | kernel-zfcpdump-devel | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::baseos | kernel-zfcpdump-modules | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::baseos | kernel-zfcpdump-modules-extra | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::baseos | perf | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::baseos | perf-debuginfo | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::baseos | python3-perf | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::baseos | python3-perf-debuginfo | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | bpftool | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | bpftool-debuginfo | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | kernel | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | kernel-abi-stablelists | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | kernel-core | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | kernel-cross-headers | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | kernel-debug | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | kernel-debug-core | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | kernel-debug-debuginfo | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | kernel-debug-devel | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | kernel-debug-modules | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | kernel-debug-modules-extra | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | kernel-debuginfo | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | kernel-debuginfo-common-aarch64 | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | kernel-debuginfo-common-ppc64le | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | kernel-debuginfo-common-s390x | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | kernel-debuginfo-common-x86_64 | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | kernel-devel | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | kernel-doc | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | kernel-headers | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | kernel-modules | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | kernel-modules-extra | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | kernel-tools | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | kernel-tools-debuginfo | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | kernel-tools-libs | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | kernel-tools-libs-devel | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | kernel-zfcpdump | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | kernel-zfcpdump-core | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | kernel-zfcpdump-debuginfo | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | kernel-zfcpdump-devel | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | kernel-zfcpdump-modules | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | kernel-zfcpdump-modules-extra | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | perf | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | perf-debuginfo | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | python3-perf | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::crb | python3-perf-debuginfo | 0 | 0:4.18.0-372.9.1.el8 |
| Red Hat:enterprise_linux:8::nfv | kernel-rt | 0 | 0:4.18.0-372.9.1.rt7.166.el8 |
| Red Hat:enterprise_linux:8::nfv | kernel-rt-core | 0 | 0:4.18.0-372.9.1.rt7.166.el8 |
| Red Hat:enterprise_linux:8::nfv | kernel-rt-debug | 0 | 0:4.18.0-372.9.1.rt7.166.el8 |
| Red Hat:enterprise_linux:8::nfv | kernel-rt-debug-core | 0 | 0:4.18.0-372.9.1.rt7.166.el8 |
| Red Hat:enterprise_linux:8::nfv | kernel-rt-debug-debuginfo | 0 | 0:4.18.0-372.9.1.rt7.166.el8 |
| Red Hat:enterprise_linux:8::nfv | kernel-rt-debug-devel | 0 | 0:4.18.0-372.9.1.rt7.166.el8 |
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