From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 00D2A1586D2 for ; Thu, 29 Feb 2024 15:53:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709222018; cv=none; b=OwmAnU0JfkgSsrT/EWDd8gmXs1n2G4MG9Tgtck8skiC+1QsAI9NHH0jZVUsQpbfQpmk2d3IDaqBU5Gs1cLSEq65RcvwsLKpZ/amnoAJmhIyJ6QMeEvkMYbYmbdPd5spbJ34jeVjummzuIClOIn0GuYTtSAj/Ly5+sjYsEB+HY0k= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709222018; c=relaxed/simple; bh=0GjNOAtATg6sp5jnoB7i6G2HjOhC5tcFGea1/9rmIsk=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=K24jh8vKDMQIesvZnkS0Z/bc0p7qnKJ3xIpQjbKRsvR6gcgyrIlIJgIrC06celzatkrg8R6qive3DhizVsUC8jwSshvK8qZJZrtd8CRtuYNkMloVo8PNPtpqau23jfSnr2/TxCutix16WQD+qqJ+dALmtJiPyu2RXTxrfrxm0VI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=INsYAe9o; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="INsYAe9o" Received: by smtp.kernel.org (Postfix) with ESMTPSA id E646EC43390; Thu, 29 Feb 2024 15:53:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1709222016; bh=0GjNOAtATg6sp5jnoB7i6G2HjOhC5tcFGea1/9rmIsk=; h=From:To:Cc:Subject:Date:Reply-to:From; b=INsYAe9o6v0eFPTWNYVb4Js4a5suZuoV5GrWRAn4P+vuIrOG7JiN2I9vgCP6NwaGb ZSnnYehWrWzGxyrVBFu3THeRvl7fPNHm8v3I0yp1wftakZXxOnevG2nQWJmEDrcuWH z7ftDsc7E0WsLcs7uiIMQ2QZweCs1C/wv8p2hbq7gSbSX7pBUG+/Ui9tPh88gp3PCS UNQKLlHAepQ5P7h46TrWT5VDbIvk1gEupuBwsYEeKP6L5Uj+/BCBzmYBbnaV3pBAD5 kdLoDx//mF5xC49VEibQnCX3KrYQBeuYNg3xNiaRtAgv81LNLrOIiTo2Yja2V2bZcB UENkEyXHfCszQ== From: Lee Jones To: linux-cve-announce@vger.kernel.org Cc: Lee Jones Subject: CVE-2024-26615: net/smc: fix illegal rmb_desc access in SMC-D connection dump Date: Thu, 29 Feb 2024 15:53:06 +0000 Message-ID: <20240229155245.1571576-47-lee@kernel.org> X-Mailer: git-send-email 2.44.0.rc1.240.g4c46232300-goog Precedence: bulk X-Mailing-List: linux-cve-announce@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Reply-to: , X-Developer-Signature: v=1; a=openpgp-sha256; l=4552; i=lee@kernel.org; h=from:subject; bh=0GjNOAtATg6sp5jnoB7i6G2HjOhC5tcFGea1/9rmIsk=; b=owEBbQKS/ZANAwAKAVGvii+H/HdhAcsmYgBl4KhQFC1YANkBgvPaBGDs18KRG6jA2Ghs6AH9D Y2bLEesdjyJAjMEAAEKAB0WIQR2tsk1o74gmpTwh0hRr4ovh/x3YQUCZeCoUAAKCRBRr4ovh/x3 YR/PEACdB66K0yJ88KEYW8SwLmb05sC5njz9+FzY4evDDUIHFnlGa/kXSrerp4qM2P0whlajwc+ ToEPG1BlkXXgdgytyCcM0NACmGqeA+RW0ZJpih6hWPGgjErh/+Z0vzQCIMKABipVERo+hJW+f1g JQ5HMANMKKUYqz7HFSD8+8GLcQV3+t6GZ33ZFYsgs6NdCgwKNBoMeGlKgGAncnMqy28TKG6oZfT URPxXqZt0JKwTMimX25DlF2+w4mODJEtQW9aXgQnr1NV2sc3iS7iHnr8Uw5ra14kGF7eN2QlQK4 0N6L0/g+3owK8b9Ju59flgh52gsCv4HUS+kcR04JryPylpEfhZxVRImi04VGh0nTZFQIe7lm4Tq GQS4Po1x0ZWC8ycaU1yAYgAORxJYf0A9lPxzxd6V8ZNyPRuQqFRmYZePQMgxOVt5sfvckzEfabm h63plqMAWUPEeU+8rqagzyEGQlAB2RSh0xGZudhe9Y8p8+MWrQdBdos1YYQAMAkR5VjG0CB+V+W 3SiOl7FwyNwEiUK8SR37J43ogbm153xL4uByHYReWaytntgwXpQK2kcX1Mq17imvYPiirRgExrJ wBBl0XjOsJ5j2+wVJWzJ7p7Kgfr4/s/fHVcGjpdKKdevds1bv9uI3GxwQnCFBA24IPU/wGik9se YeduJ3bQXVUNN1w== X-Developer-Key: i=lee@kernel.org; a=openpgp; fpr=76B6C935A3BE209A94F0874851AF8A2F87FC7761 Content-Transfer-Encoding: 8bit Description =========== In the Linux kernel, the following vulnerability has been resolved: net/smc: fix illegal rmb_desc access in SMC-D connection dump A crash was found when dumping SMC-D connections. It can be reproduced by following steps: - run nginx/wrk test: smc_run nginx smc_run wrk -t 16 -c 1000 -d -H 'Connection: Close' - continuously dump SMC-D connections in parallel: watch -n 1 'smcss -D' BUG: kernel NULL pointer dereference, address: 0000000000000030 CPU: 2 PID: 7204 Comm: smcss Kdump: loaded Tainted: G E 6.7.0+ #55 RIP: 0010:__smc_diag_dump.constprop.0+0x5e5/0x620 [smc_diag] Call Trace: ? __die+0x24/0x70 ? page_fault_oops+0x66/0x150 ? exc_page_fault+0x69/0x140 ? asm_exc_page_fault+0x26/0x30 ? __smc_diag_dump.constprop.0+0x5e5/0x620 [smc_diag] ? __kmalloc_node_track_caller+0x35d/0x430 ? __alloc_skb+0x77/0x170 smc_diag_dump_proto+0xd0/0xf0 [smc_diag] smc_diag_dump+0x26/0x60 [smc_diag] netlink_dump+0x19f/0x320 __netlink_dump_start+0x1dc/0x300 smc_diag_handler_dump+0x6a/0x80 [smc_diag] ? __pfx_smc_diag_dump+0x10/0x10 [smc_diag] sock_diag_rcv_msg+0x121/0x140 ? __pfx_sock_diag_rcv_msg+0x10/0x10 netlink_rcv_skb+0x5a/0x110 sock_diag_rcv+0x28/0x40 netlink_unicast+0x22a/0x330 netlink_sendmsg+0x1f8/0x420 __sock_sendmsg+0xb0/0xc0 ____sys_sendmsg+0x24e/0x300 ? copy_msghdr_from_user+0x62/0x80 ___sys_sendmsg+0x7c/0xd0 ? __do_fault+0x34/0x160 ? do_read_fault+0x5f/0x100 ? do_fault+0xb0/0x110 ? __handle_mm_fault+0x2b0/0x6c0 __sys_sendmsg+0x4d/0x80 do_syscall_64+0x69/0x180 entry_SYSCALL_64_after_hwframe+0x6e/0x76 It is possible that the connection is in process of being established when we dump it. Assumed that the connection has been registered in a link group by smc_conn_create() but the rmb_desc has not yet been initialized by smc_buf_create(), thus causing the illegal access to conn->rmb_desc. So fix it by checking before dump. The Linux kernel CVE team has assigned CVE-2024-26615 to this issue. Affected and fixed versions =========================== Issue introduced in 4.19 with commit 4b1b7d3b30a6 and fixed in 4.19.307 with commit 27aea6483891 Issue introduced in 4.19 with commit 4b1b7d3b30a6 and fixed in 5.4.269 with commit 1fea9969b81c Issue introduced in 4.19 with commit 4b1b7d3b30a6 and fixed in 5.10.210 with commit 5fed92ca32ea Issue introduced in 4.19 with commit 4b1b7d3b30a6 and fixed in 5.15.149 with commit 68b888d51ac8 Issue introduced in 4.19 with commit 4b1b7d3b30a6 and fixed in 6.1.76 with commit 6994dba06321 Issue introduced in 4.19 with commit 4b1b7d3b30a6 and fixed in 6.6.15 with commit a164c2922675 Issue introduced in 4.19 with commit 4b1b7d3b30a6 and fixed in 6.7.3 with commit 8f3f9186e5bb Issue introduced in 4.19 with commit 4b1b7d3b30a6 and fixed in 6.8-rc2 with commit dbc153fd3c14 Please see https://www.kernel.org or a full list of currently supported kernel versions by the kernel community. Unaffected versions might change over time as fixes are backported to older supported kernel versions. The official CVE entry at https://cve.org/CVERecord/?id=CVE-2024-26615 will be updated if fixes are backported, please check that for the most up to date information about this issue. Affected files ============== The file(s) affected by this issue are: net/smc/smc_diag.c Mitigation ========== The Linux kernel CVE team recommends that you update to the latest stable kernel version for this, and many other bugfixes. Individual changes are never tested alone, but rather are part of a larger kernel release. Cherry-picking individual commits is not recommended or supported by the Linux kernel community at all. If however, updating to the latest release is impossible, the individual changes to resolve this issue can be found at these commits: https://git.kernel.org/stable/c/27aea64838914c6122db5b8bd4bed865c9736f22 https://git.kernel.org/stable/c/1fea9969b81c67d0cb1611d1b8b7d19049d937be https://git.kernel.org/stable/c/5fed92ca32eafbfae8b6bee8ca34cca71c6a8b6d https://git.kernel.org/stable/c/68b888d51ac82f2b96bf5e077a31d76afcdef25a https://git.kernel.org/stable/c/6994dba06321e3c48fdad0ba796a063d9d82183a https://git.kernel.org/stable/c/a164c2922675d7051805cdaf2b07daffe44f20d9 https://git.kernel.org/stable/c/8f3f9186e5bb96a9c9654c41653210e3ea7e48a6 https://git.kernel.org/stable/c/dbc153fd3c142909e564bb256da087e13fbf239c