CVE-2013-7421
NoneCVSS
—
EPSS
0.7%
Published
Mar 2, 2015
CISA due date
—
Cloudanix analysis
A local user on older Linux systems can trick the kernel into loading extra code that gives them much higher access than they should have.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Low
- Impact
- Privilege Gain
- Component
- OS kernel
- Class
- Privilege Escalation
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Medium
What it actually does
The flaw permits a local process to trigger automatic loading of arbitrary kernel modules by issuing a bind() call on an AF_ALG socket and supplying a module name in the salg_name field of the sockaddr_alg structure.
Why it matters to the business
Attackers who already have a shell on an affected Linux system can obtain the ability to execute code at kernel level, potentially leading to full host compromise, persistence, or lateral movement within the environment.
How an attack unfolds
An attacker with local shell access creates an AF_ALG socket, populates the salg_name field with the name of a desired kernel module, and calls bind(); the kernel's Crypto API then loads that module without further validation, allowing the attacker to introduce malicious code into the kernel.
How to fix it
Upgrade the Linux kernel to version 3.18.5 or later on all affected distributions; apply vendor-supplied updates for Ubuntu, Debian, Oracle Linux, and other downstream packages that include the fix.
How to confirm the fix worked
Verify that the running kernel version is 3.18.5 or newer using uname -r; confirm that attempts to bind an AF_ALG socket with an arbitrary salg_name no longer result in module loading without explicit allow-listing.
Typical attack path
- Obtain local shell or unprivileged process execution on the target host
- Craft and execute a program that opens an AF_ALG socket and performs bind() with a chosen module name in salg_name
- Trigger automatic module loading via the Crypto API
- Use the newly loaded module to escalate privileges or install kernel-level implants
How to detect it
Review system audit logs and kernel module load events for unexpected modules loaded shortly after AF_ALG socket activity; examine process execution history for binaries performing bind() on AF_ALG sockets with non-standard algorithm names.
What your security team should do
- Prioritize kernel upgrades on all internet-facing and multi-tenant systems within the next patching cycle
- Restrict unprivileged users from loading kernel modules via kernel module signing and lockdown features where feasible
- Monitor for new kernel releases and subscribe to distribution security mailing lists for backported fixes
The record
The Crypto API in the Linux kernel before 3.18.5 allows local users to load arbitrary kernel modules via a bind system call for an AF_ALG socket with a module name in the salg_name field, a different vulnerability than CVE-2014-9644.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | linux | 0 | 3.16.7-ckt4-2 |
| Debian:12 | linux | 0 | 3.16.7-ckt4-2 |
| Debian:13 | linux | 0 | 3.16.7-ckt4-2 |
| Debian:14 | linux | 0 | 3.16.7-ckt4-2 |
| Debian:7 | linux | 0 | 3.2.65-1+deb7u2 |
| Mageia:4 | kernel | 0 | 3.14.32-1.mga4 |
| Mageia:4 | kernel-linus | 0 | 3.14.32-1.mga4 |
| Mageia:4 | kernel-rt | 0 | 3.14.32-0.rt28.1.mga4 |
| Mageia:4 | kernel-tmb | 0 | 3.14.32-1.mga4 |
| Mageia:4 | kernel-userspace-headers | 0 | 3.14.32-1.mga4 |
| Mageia:4 | kernel-vserver | 0 | 3.14.32-0.vs2.3.6.14.1.mga4 |
| Mageia:4 | kmod-broadcom-wl | 0 | 6.30.223.141-47.mga4.nonfree |
| Mageia:4 | kmod-fglrx | 0 | 14.010.1006-17.mga4.nonfree |
| Mageia:4 | kmod-nvidia-current | 0 | 331.113-3.mga4.nonfree |
| Mageia:4 | kmod-nvidia173 | 0 | 173.14.39-31.mga4.nonfree |
| Mageia:4 | kmod-nvidia304 | 0 | 304.125-3.mga4.nonfree |
| Mageia:4 | kmod-vboxadditions | 0 | 4.3.20-5.mga4 |
| Mageia:4 | kmod-virtualbox | 0 | 4.3.20-5.mga4 |
| Mageia:4 | kmod-xtables-addons | 0 | 2.5-11.mga4 |
| Red Hat:enterprise_linux:7::client | kernel | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::client | kernel-abi-whitelists | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::client | kernel-bootwrapper | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::client | kernel-debug | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::client | kernel-debug-debuginfo | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::client | kernel-debug-devel | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::client | kernel-debuginfo | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::client | kernel-debuginfo-common-ppc64 | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::client | kernel-debuginfo-common-ppc64le | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::client | kernel-debuginfo-common-s390x | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::client | kernel-debuginfo-common-x86_64 | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::client | kernel-devel | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::client | kernel-doc | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::client | kernel-headers | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::client | kernel-kdump | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::client | kernel-kdump-debuginfo | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::client | kernel-kdump-devel | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::client | kernel-tools | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::client | kernel-tools-debuginfo | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::client | kernel-tools-libs | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::client | kernel-tools-libs-devel | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::client | perf | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::client | perf-debuginfo | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::client | python-perf | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::client | python-perf-debuginfo | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-abi-whitelists | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-bootwrapper | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-debug | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-debug-debuginfo | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-debug-devel | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-debuginfo | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-debuginfo-common-ppc64 | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-debuginfo-common-ppc64le | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-debuginfo-common-s390x | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-debuginfo-common-x86_64 | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-devel | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-doc | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-headers | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-kdump | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-kdump-debuginfo | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-kdump-devel | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-tools | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-tools-debuginfo | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-tools-libs | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-tools-libs-devel | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::computenode | perf | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::computenode | perf-debuginfo | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::computenode | python-perf | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::computenode | python-perf-debuginfo | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::server | kernel | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::server | kernel-abi-whitelists | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::server | kernel-bootwrapper | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::server | kernel-debug | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::server | kernel-debug-debuginfo | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::server | kernel-debug-devel | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::server | kernel-debuginfo | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::server | kernel-debuginfo-common-ppc64 | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::server | kernel-debuginfo-common-ppc64le | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::server | kernel-debuginfo-common-s390x | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::server | kernel-debuginfo-common-x86_64 | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::server | kernel-devel | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::server | kernel-doc | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::server | kernel-headers | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::server | kernel-kdump | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::server | kernel-kdump-debuginfo | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::server | kernel-kdump-devel | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::server | kernel-tools | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::server | kernel-tools-debuginfo | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::server | kernel-tools-libs | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::server | kernel-tools-libs-devel | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::server | perf | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::server | perf-debuginfo | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::server | python-perf | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::server | python-perf-debuginfo | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::workstation | kernel | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::workstation | kernel-abi-whitelists | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::workstation | kernel-bootwrapper | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::workstation | kernel-debug | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::workstation | kernel-debug-debuginfo | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::workstation | kernel-debug-devel | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::workstation | kernel-debuginfo | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::workstation | kernel-debuginfo-common-ppc64 | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::workstation | kernel-debuginfo-common-ppc64le | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::workstation | kernel-debuginfo-common-s390x | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::workstation | kernel-debuginfo-common-x86_64 | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::workstation | kernel-devel | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::workstation | kernel-doc | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::workstation | kernel-headers | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::workstation | kernel-kdump | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::workstation | kernel-kdump-debuginfo | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::workstation | kernel-kdump-devel | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::workstation | kernel-tools | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::workstation | kernel-tools-debuginfo | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::workstation | kernel-tools-libs | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::workstation | kernel-tools-libs-devel | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::workstation | perf | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::workstation | perf-debuginfo | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::workstation | python-perf | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_linux:7::workstation | python-perf-debuginfo | 0 | 0:3.10.0-327.el7 |
| Red Hat:enterprise_mrg:2:server:el6 | kernel-rt | 0 | 1:3.10.0-327.rt56.170.el6rt |
| Red Hat:enterprise_mrg:2:server:el6 | kernel-rt-debug | 0 | 1:3.10.0-327.rt56.170.el6rt |
| Red Hat:enterprise_mrg:2:server:el6 | kernel-rt-debug-debuginfo | 0 | 1:3.10.0-327.rt56.170.el6rt |
| Red Hat:enterprise_mrg:2:server:el6 | kernel-rt-debug-devel | 0 | 1:3.10.0-327.rt56.170.el6rt |
| Red Hat:enterprise_mrg:2:server:el6 | kernel-rt-debuginfo | 0 | 1:3.10.0-327.rt56.170.el6rt |
| Red Hat:enterprise_mrg:2:server:el6 | kernel-rt-debuginfo-common-x86_64 | 0 | 1:3.10.0-327.rt56.170.el6rt |
| Red Hat:enterprise_mrg:2:server:el6 | kernel-rt-devel | 0 | 1:3.10.0-327.rt56.170.el6rt |
| Red Hat:enterprise_mrg:2:server:el6 | kernel-rt-doc | 0 | 1:3.10.0-327.rt56.170.el6rt |
| Red Hat:enterprise_mrg:2:server:el6 | kernel-rt-firmware | 0 | 1:3.10.0-327.rt56.170.el6rt |
| Red Hat:enterprise_mrg:2:server:el6 | kernel-rt-trace | 0 | 1:3.10.0-327.rt56.170.el6rt |
| Red Hat:enterprise_mrg:2:server:el6 | kernel-rt-trace-debuginfo | 0 | 1:3.10.0-327.rt56.170.el6rt |
| Red Hat:enterprise_mrg:2:server:el6 | kernel-rt-trace-devel | 0 | 1:3.10.0-327.rt56.170.el6rt |
| Red Hat:enterprise_mrg:2:server:el6 | kernel-rt-vanilla | 0 | 1:3.10.0-327.rt56.170.el6rt |
| Red Hat:enterprise_mrg:2:server:el6 | kernel-rt-vanilla-debuginfo | 0 | 1:3.10.0-327.rt56.170.el6rt |
| Red Hat:enterprise_mrg:2:server:el6 | kernel-rt-vanilla-devel | 0 | 1:3.10.0-327.rt56.170.el6rt |
| Red Hat:rhel_extras_rt:7 | kernel-rt | 0 | 0:3.10.0-327.rt56.204.el7 |
| Red Hat:rhel_extras_rt:7 | kernel-rt-debug | 0 | 0:3.10.0-327.rt56.204.el7 |
| Red Hat:rhel_extras_rt:7 | kernel-rt-debug-debuginfo | 0 | 0:3.10.0-327.rt56.204.el7 |
| Red Hat:rhel_extras_rt:7 | kernel-rt-debug-devel | 0 | 0:3.10.0-327.rt56.204.el7 |
| Red Hat:rhel_extras_rt:7 | kernel-rt-debuginfo | 0 | 0:3.10.0-327.rt56.204.el7 |
| Red Hat:rhel_extras_rt:7 | kernel-rt-debuginfo-common-x86_64 | 0 | 0:3.10.0-327.rt56.204.el7 |
| Red Hat:rhel_extras_rt:7 | kernel-rt-devel | 0 | 0:3.10.0-327.rt56.204.el7 |
| Red Hat:rhel_extras_rt:7 | kernel-rt-doc | 0 | 0:3.10.0-327.rt56.204.el7 |
| Red Hat:rhel_extras_rt:7 | kernel-rt-trace | 0 | 0:3.10.0-327.rt56.204.el7 |
| Red Hat:rhel_extras_rt:7 | kernel-rt-trace-debuginfo | 0 | 0:3.10.0-327.rt56.204.el7 |
| Red Hat:rhel_extras_rt:7 | kernel-rt-trace-devel | 0 | 0:3.10.0-327.rt56.204.el7 |
| Ubuntu:14.04:LTS | linux | 0 | 3.13.0-48.80 |
| Ubuntu:14.04:LTS | linux-aws | 0 | 4.4.0-1002.2 |
| Ubuntu:14.04:LTS | linux-lts-utopic | 0 | 3.16.0-33.44~14.04.1 |
| Ubuntu:14.04:LTS | linux-lts-vivid | 0 | 3.19.0-18.18~14.04.1 |
| Ubuntu:14.04:LTS | linux-lts-wily | 0 | 4.2.0-18.22~14.04.1 |
| Ubuntu:14.04:LTS | linux-lts-xenial | 0 | 4.4.0-13.29~14.04.1 |
| Ubuntu:16.04:LTS | linux | 0 | 4.2.0-16.19 |
| Ubuntu:16.04:LTS | linux-aws | 0 | 4.4.0-1001.10 |
| Ubuntu:16.04:LTS | linux-gke | 0 | 4.4.0-1003.3 |
| Ubuntu:16.04:LTS | linux-hwe | 0 | 4.8.0-36.36~16.04.1 |
| Ubuntu:16.04:LTS | linux-raspi2 | 0 | 4.2.0-1013.19 |
| Ubuntu:16.04:LTS | linux-snapdragon | 0 | 4.4.0-1012.12 |
| Ubuntu:Pro:16.04:LTS | linux-flo | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | linux-goldfish | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | linux-mako | 0 | No fix |
Related vulnerabilities
- CVE-2025-38562 In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix null… Also affects linux
- CVE-2025-38352 In the Linux kernel, the following vulnerability has been resolved: posix-cpu-timers: fix… Also affects linux
- CVE-2025-22037 In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix null… Also affects linux
- CVE-2025-21760 In the Linux kernel, the following vulnerability has been resolved: ndisc: extend RCU… Also affects linux
- CVE-2025-21758 In the Linux kernel, the following vulnerability has been resolved: ipv6: mcast: add RCU… Also affects linux
- CVE-2025-21664 In the Linux kernel, the following vulnerability has been resolved: dm thin: make… Also affects linux
- CVE-2024-57946 In the Linux kernel, the following vulnerability has been resolved: virtio-blk: don't… Also affects linux
- CVE-2024-57945 In the Linux kernel, the following vulnerability has been resolved: riscv: mm: Fix the… Also affects linux