CVE-2021-47593

Summary

In the Linux kernel, the following vulnerability has been resolved:

mptcp: clear 'kern' flag from fallback sockets

The mptcp ULP extension relies on sk->sk_sock_kern being set correctly: It prevents setsockopt(fd, IPPROTO_TCP, TCP_ULP, "mptcp", 6); from working for plain tcp sockets (any userspace-exposed socket).

But in case of fallback, accept() can return a plain tcp sk. In such case, sk is still tagged as 'kernel' and setsockopt will work.

This will crash the kernel, The subflow extension has a NULL ctx->conn mptcp socket:

BUG: KASAN: null-ptr-deref in subflow_data_ready+0x181/0x2b0 Call Trace: tcp_data_ready+0xf8/0x370 [..]

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxcf7da0d66cc1a2a19fc5930bb746ffbb2d4cd1be < 451f1eded7f56e93aaf52eb547ba97742d9c0e97affected
LinuxLinuxcf7da0d66cc1a2a19fc5930bb746ffbb2d4cd1be < c26ac0ea3a91c210cf90452e625dc441adf3e549affected
LinuxLinuxcf7da0d66cc1a2a19fc5930bb746ffbb2d4cd1be < d6692b3b97bdc165d150f4c1505751a323a80717affected
LinuxLinux5.6affected
LinuxLinux0 < 5.6unaffected
LinuxLinux5.10.88 <= 5.10.*unaffected
LinuxLinux5.15.11 <= 5.15.*unaffected
LinuxLinux5.16 <= *unaffected

Weaknesses

ADP Enrichment

CVE Program Container

Additional References

CISA ADP Vulnrichment

  • SSVC:
  • Exploitation: none
    • Automatable: no
    • Technical Impact: partial

References