In the Linux kernel, the following vulnerability has been resolved:
mptcp: ensure snd_una is properly initialized on connect
This is strictly related to commit fb7a0d334894 ("mptcp: ensure sndnxt is properly initialized on connect"). It turns out that syzkaller can trigger the retransmit after fallback and before processing any other incoming packet - so that snduna is still left uninitialized.
Address the issue explicitly initializing snduna together with sndnxt and write_seq.
[
{
"id": "CVE-2024-40931-0f0c0cfe",
"deprecated": false,
"digest": {
"length": 1159.0,
"function_hash": "332770713591430534525531803624255848149"
},
"target": {
"file": "net/mptcp/protocol.c",
"function": "mptcp_connect"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f03c46eabb3a67bd2993e237ab5517f00a5f1813",
"signature_version": "v1",
"signature_type": "Function"
},
{
"id": "CVE-2024-40931-0f4f8307",
"deprecated": false,
"digest": {
"line_hashes": [
"196121940881662930713965669749253775774",
"113490861631179638312530601179625029065",
"325817619627943292052180214292949290974",
"202215326615271276235633030020787680055"
],
"threshold": 0.9
},
"target": {
"file": "net/mptcp/protocol.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@208cd22ef5e57f82d38ec11c1a1703f9401d6dde",
"signature_version": "v1",
"signature_type": "Line"
},
{
"id": "CVE-2024-40931-aa4ebf5b",
"deprecated": false,
"digest": {
"length": 986.0,
"function_hash": "139465857168771089937332441675127733445"
},
"target": {
"file": "net/mptcp/protocol.c",
"function": "mptcp_stream_connect"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@208cd22ef5e57f82d38ec11c1a1703f9401d6dde",
"signature_version": "v1",
"signature_type": "Function"
},
{
"id": "CVE-2024-40931-bc1eeb56",
"deprecated": false,
"digest": {
"line_hashes": [
"269921056462562950229504868512984758088",
"76360684291091766709672550565146165573",
"314554605189008267718753124726922119851",
"122485772492400858673486800245465892595"
],
"threshold": 0.9
},
"target": {
"file": "net/mptcp/protocol.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f03c46eabb3a67bd2993e237ab5517f00a5f1813",
"signature_version": "v1",
"signature_type": "Line"
},
{
"id": "CVE-2024-40931-e5709c6a",
"deprecated": false,
"digest": {
"length": 1209.0,
"function_hash": "76161944114907076070373369596550038496"
},
"target": {
"file": "net/mptcp/protocol.c",
"function": "mptcp_stream_connect"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7b9c7fc8600b64a86e4b47b2d190bba380267726",
"signature_version": "v1",
"signature_type": "Function"
},
{
"id": "CVE-2024-40931-ec88fe68",
"deprecated": false,
"digest": {
"line_hashes": [
"269921056462562950229504868512984758088",
"76360684291091766709672550565146165573",
"43329373786880079899186549542913005764",
"82392575758350906611216370103746238618"
],
"threshold": 0.9
},
"target": {
"file": "net/mptcp/protocol.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7b9c7fc8600b64a86e4b47b2d190bba380267726",
"signature_version": "v1",
"signature_type": "Line"
}
]