tcp_bpf:修复 tcp_bpf_sendmsg() 的返回值(CVE-2024-46783)

admin 2024-09-19 12:28:09 Ali_nvd 来源:ZONE.CI 全球网 0 阅读模式
tcp_bpf:修复 tcp_bpf_sendmsg() 的返回值(CVE-2024-46783)

CVE编号

CVE-2024-46783

利用情况

暂无

补丁情况

N/A

披露时间

2024-09-18
漏洞描述
在Linux内核中,存在一个关于tcp_bpf的漏洞。当我们在psock->cork中累积消息并在最后一个消息触发刷新时,可能会导致发送的sk_msg大小超过当前消息大小。在tcp_bpf_send_verdict()函数中,'copied'变量在某些情况下会变成负数,特别是在以下代码段中:```css468 case __SK_DROP:469 default:470 sk_msg_free_partial(sk, msg, tosend);471 sk_msg_apply_bytes(psock, tosend);472 *copied -= (tosend + delta); // 这里可能导致copied变成负数473 return -EACCES;```由于使用了不正确的'copied'返回值,这可能导致内核出现BUG,报错信息如下:```csskernel BUG at net/socket.c:733! Internal error: Oops - BUG: 00000000f2000800 [#1] PREEMPT SMP```这个BUG是由于不正确的'copied'值引起的(感谢syzbot指出)。我们不应该在这里使用负的'copied'作为返回值。因此,这个问题需要在tcp_bpf的相关代码中修复,确保'copied'的值始终是正确的,避免内核出现BUG。
解决建议
建议您更新当前系统或软件至最新版,完成漏洞的修复。
参考链接
https://git.kernel.org/stable/c/126d72b726c4cf1119f3a7fe413a78d341c3fea9
https://git.kernel.org/stable/c/3efe53eb221a38e207c1e3f81c51e4ca057d50c2
https://git.kernel.org/stable/c/6f9fdf5806cced888c43512bccbdf7fefd50f510
https://git.kernel.org/stable/c/78bb38d9c5a311c5f8bdef7c9557d7d81ca30e4a
https://git.kernel.org/stable/c/810a4e7d92dea4074cb04c25758320909d752193
https://git.kernel.org/stable/c/c8219a27fa43a2cbf99f5176f6dddfe73e7a24ae
https://git.kernel.org/stable/c/fe1910f9337bd46a9343967b547ccab26b4b2c6e
CVSS3评分 N/A
  • 攻击路径 N/A
  • 攻击复杂度 N/A
  • 权限要求 N/A
  • 影响范围 N/A
  • 用户交互 N/A
  • 可用性 N/A
  • 保密性 N/A
  • 完整性 N/A
N/A
CWE-ID 漏洞类型
- avd.aliyun.com
weinxin
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
评论:0   参与:  0