In the Linux kernel, the following vulnerability has been resolved:
mptcp: clear 'kern' flag from fallback sockets
The mptcp ULP extension relies on sk->sksockkern being set correctly: It prevents setsockopt(fd, IPPROTOTCP, TCPULP, "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 subflowdataready+0x181/0x2b0 Call Trace: tcpdataready+0xf8/0x370 [..]
[
{
"events": [
{
"introduced": "5.6"
},
{
"fixed": "5.10.88"
}
]
},
{
"events": [
{
"introduced": "5.11"
},
{
"fixed": "5.15.11"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "5.16-rc1"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "5.16-rc2"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "5.16-rc3"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "5.16-rc4"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "5.16-rc5"
}
]
}
]
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2021-47593.json"