CVE-2021-47591·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: mptcp: remove tcp ulp setsockopt support TCP_ULP setsockopt cannot be used for mptcp because its already used internally to plumb subflow (tcp) sockets to the mptcp layer. syzbot managed to trigger a crash for mptcp connections that are in fallback mode: KASAN: null-ptr-deref in range [0x0000000000000020-0x0000000000000027] CPU: 1 PID: 1083 Comm: syz-executor.3 Not tainted 5.16.0-rc2-syzkaller #0 RIP: 0010:tls_build_proto net/tls/tls_main.c:776 [inline] [..] __tcp_set_ulp net/ipv4/tcp_ulp.c:139 [inline] tcp_set_ulp+0x428/0x4c0 net/ipv4/tcp_ulp.c:160 do_tcp_setsockopt+0x455/0x37c0 net/ipv4/tcp.c:3391 mptcp_setsockopt+0x1b47/0x2400 net/mptcp/sockopt.c:638 Remove support for TCP_ULP setsockopt.
- Severity
- medium
- Software
- Kernel
- Fixed in
- 5.15.11
- Published
- 2024-06-19
Affected versions
From: 5.13
Until: 5.15.11
Fixed in: 5.15.11
How to fix this CVE
Update the Linux kernel to version 5.15.11 or later to remediate CVE-2021-47591. This vulnerability allows unprivileged local users to trigger a null pointer dereference in MPTCP fallback connections by attempting to apply TCP ULP setsockopt operations. The fix removes TCP_ULP setsockopt support from MPTCP to prevent misuse of this internal-only mechanism.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Step 1: Check kernel version with 'uname -r' and verify it is 5.15.11 or later
- Step 2: Confirm MPTCP support is enabled by checking 'grep CONFIG_MPTCP /boot/config-$(uname -r)'
- Step 3: Search system logs for null pointer dereference crashes: 'grep -i 'kasan\|null-ptr-deref\|tls_build_proto' /var/log/kern.log'
- Step 4: Verify the patch was applied by checking kernel commit history: 'git log --oneline | grep -i 'tcp_ulp\|mptcp' | head -5'
FAQ
What is CVE-2021-47591?
CVE-2021-47591 is a medium-severity null pointer dereference vulnerability in the Linux kernel's MPTCP implementation. It occurs when an unprivileged local user attempts to use TCP_ULP setsockopt on an MPTCP socket in fallback mode, causing the kernel to crash.
Is CVE-2021-47591 being actively exploited?
No, this vulnerability is not listed in CISA's Known Exploited Vulnerabilities (KEV) catalog, and no public exploits are currently available. However, it requires only local access and can be triggered via simple socket operations.
What versions of Kernel are affected by CVE-2021-47591?
Linux kernel versions 5.13.0 through 5.15.10 are vulnerable. The fix was released in kernel 5.15.11.
How do I check if my server is vulnerable to CVE-2021-47591?
Run 'uname -r' to display your kernel version. If it is between 5.13 and 5.15.10 (inclusive) and MPTCP support is enabled, your system is vulnerable. Verify MPTCP support with 'grep CONFIG_MPTCP /boot/config-$(uname -r)'.
Does Defensia detect CVE-2021-47591?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If the Linux kernel is installed on a monitored server, CVE-2021-47591 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2021-47591. Free for 1 server.
Get started free