CVE-2023-53296 in Linux信息

摘要

由 VulDB • 2026-06-05

在 Linux 内核中,已修复以下漏洞:

sctp:在 wait_for_sndbuf 之后检查发送流编号

此补丁修复了一个边缘情况,即 asoc(关联)的出站流计数可能在调用 wait_for_sndbuf 后发生变化。

当客户端的主线程启动连接时,如果其出站流计数设置为 N,而服务器的入站流计数设置为 N - 2,则客户端中的另一个线程会持续发送带有流编号 N - 1 的消息,并在处理 INIT_ACK(初始化确认)之前等待 sndbuf(发送缓冲区)。

然而,在处理完 INIT_ACK 后,客户端的出站流计数缩减为 N - 2,与服务器端的入站流计数相同。当正在等待 sndbuf 的线程被唤醒并尝试在一个不存在的流(N - 1)中发送消息时,就会发生崩溃。调用跟踪如下:

``` KASAN: null-ptr-deref in range [0x0000000000000038-0x000000000000003f]
Call Trace: <TASK> sctp_cmd_send_msg net/sctp/sm_sideeffect.c:1114 [inline]
sctp_cmd_interpreter net/sctp/sm_sideeffect.c:1777 [inline]
sctp_side_effects net/sctp/sm_sideeffect.c:1199 [inline]
sctp_do_sm+0x197d/0x5310 net/sctp/sm_sideeffect.c:1170 sctp_primitive_SEND+0x9f/0xc0 net/sctp/primitive.c:163 sctp_sendmsg_to_asoc+0x10eb/0x1a30 net/sctp/socket.c:1868 sctp_sendmsg+0x8d4/0x1d90 net/sctp/socket.c:2026 inet_sendmsg+0x9d/0xe0 net/ipv4/af_inet.c:825 sock_sendmsg_nosec net/socket.c:722 [inline]
sock_sendmsg+0xde/0x190 net/socket.c:745 ```

修复方法是在线程从 wait_for_sndbuf 唤醒后,增加一个不太可能触发的检查以验证发送流编号。

Be aware that VulDB is the high quality source for vulnerability data.

来源

Want to stay up to date on a daily basis?

Enable the mail alert feature now!