CVE-2024-46783: Vulnerability in Linux Linux
In the Linux kernel, the following vulnerability has been resolved: tcp_bpf: fix return value of tcp_bpf_sendmsg() When we cork messages in psock->cork, the last message triggers the flushing will result in sending a sk_msg larger than the current message size. In this case, in tcp_bpf_send_verdict(), 'copied' becomes negative at least in the following case: 468 case __SK_DROP: 469 default: 470 sk_msg_free_partial(sk, msg, tosend); 471 sk_msg_apply_bytes(psock, tosend); 472 *copied -= (tosend + delta); // <==== HERE 473 return -EACCES; Therefore, it could lead to the following BUG with a proper value of 'copied' (thanks to syzbot). We should not use negative 'copied' as a return value here. ------------[ cut here ]------------ kernel BUG at net/socket.c:733! Internal error: Oops - BUG: 00000000f2000800 [#1] PREEMPT SMP Modules linked in: CPU: 0 UID: 0 PID: 3265 Comm: syz-executor510 Not tainted 6.11.0-rc3-syzkaller-00060-gd07b43284ab3 #0 Hardware name: linux,dummy-virt (DT) pstate: 61400009 (nZCv daif +PAN -UAO -TCO +DIT -SSBS BTYPE=--) pc : sock_sendmsg_nosec net/socket.c:733 [inline] pc : sock_sendmsg_nosec net/socket.c:728 [inline] pc : __sock_sendmsg+0x5c/0x60 net/socket.c:745 lr : sock_sendmsg_nosec net/socket.c:730 [inline] lr : __sock_sendmsg+0x54/0x60 net/socket.c:745 sp : ffff800088ea3b30 x29: ffff800088ea3b30 x28: fbf00000062bc900 x27: 0000000000000000 x26: ffff800088ea3bc0 x25: ffff800088ea3bc0 x24: 0000000000000000 x23: f9f00000048dc000 x22: 0000000000000000 x21: ffff800088ea3d90 x20: f9f00000048dc000 x19: ffff800088ea3d90 x18: 0000000000000001 x17: 0000000000000000 x16: 0000000000000000 x15: 000000002002ffaf x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000 x11: 0000000000000000 x10: ffff8000815849c0 x9 : ffff8000815b49c0 x8 : 0000000000000000 x7 : 000000000000003f x6 : 0000000000000000 x5 : 00000000000007e0 x4 : fff07ffffd239000 x3 : fbf00000062bc900 x2 : 0000000000000000 x1 : 0000000000000000 x0 : 00000000fffffdef Call trace: sock_sendmsg_nosec net/socket.c:733 [inline] __sock_sendmsg+0x5c/0x60 net/socket.c:745 ____sys_sendmsg+0x274/0x2ac net/socket.c:2597 ___sys_sendmsg+0xac/0x100 net/socket.c:2651 __sys_sendmsg+0x84/0xe0 net/socket.c:2680 __do_sys_sendmsg net/socket.c:2689 [inline] __se_sys_sendmsg net/socket.c:2687 [inline] __arm64_sys_sendmsg+0x24/0x30 net/socket.c:2687 __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline] invoke_syscall+0x48/0x110 arch/arm64/kernel/syscall.c:49 el0_svc_common.constprop.0+0x40/0xe0 arch/arm64/kernel/syscall.c:132 do_el0_svc+0x1c/0x28 arch/arm64/kernel/syscall.c:151 el0_svc+0x34/0xec arch/arm64/kernel/entry-common.c:712 el0t_64_sync_handler+0x100/0x12c arch/arm64/kernel/entry-common.c:730 el0t_64_sync+0x19c/0x1a0 arch/arm64/kernel/entry.S:598 Code: f9404463 d63f0060 3108441f 54fffe81 (d4210000) ---[ end trace 0000000000000000 ]---
AI Analysis
Technical Summary
CVE-2024-46783 is a vulnerability identified in the Linux kernel's TCP BPF (Berkeley Packet Filter) subsystem, specifically within the tcp_bpf_sendmsg() function. The issue arises when messages are corked in the psock->cork buffer, and the final message triggers a flush operation that attempts to send a sk_msg larger than the current message size. This causes the variable 'copied' to become negative in the tcp_bpf_send_verdict() function, particularly at the code line where '*copied -= (tosend + delta);' is executed. Using a negative 'copied' value as a return value leads to a kernel BUG, causing an internal kernel error and a system crash (kernel panic). The vulnerability was discovered through syzbot fuzzing and results in a BUG at net/socket.c, which manifests as a kernel oops and crash. The stack trace shows the failure occurs during the socket sendmsg syscall path, affecting ARM64 architecture among others. This bug can be triggered by sending crafted TCP messages that exploit the corking and flushing logic in the tcp_bpf_sendmsg() function. The root cause is improper handling of message sizes and return values in the TCP BPF sendmsg path, leading to negative counters and kernel instability. No known exploits are reported in the wild yet, and no CVSS score has been assigned. The vulnerability affects Linux kernel versions identified by the commit hash 4f738adba30a7cfc006f605707e7aee847ffefa0 and possibly others in the same branch. This flaw can cause denial of service by crashing the kernel when exploited.
Potential Impact
For European organizations, this vulnerability poses a significant risk primarily in environments running vulnerable Linux kernel versions, especially on servers, network appliances, and embedded devices using TCP BPF features. The impact is mainly a denial of service (DoS) condition caused by kernel crashes, which can disrupt critical services, including web servers, database servers, and network infrastructure components. Organizations relying on Linux-based systems for critical infrastructure, cloud services, or telecommunications may experience outages or degraded service availability. Although no privilege escalation or remote code execution is indicated, the ability to cause kernel panics remotely or locally can be leveraged by attackers to disrupt operations or as part of a larger attack chain. The vulnerability could affect cloud providers, hosting services, and enterprises with Linux-based network stacks, impacting business continuity and potentially causing financial and reputational damage. Given the widespread use of Linux in European IT environments, the risk of service disruption is non-trivial, especially in sectors like finance, healthcare, and government where uptime is critical.
Mitigation Recommendations
To mitigate this vulnerability, European organizations should: 1) Apply the official Linux kernel patches that fix the tcp_bpf_sendmsg() return value handling as soon as they are released and validated. 2) Monitor Linux kernel updates from trusted sources and prioritize patching in production environments using affected kernel versions. 3) Implement kernel live patching solutions where possible to reduce downtime during patch deployment. 4) Restrict access to systems running vulnerable kernels, especially limiting untrusted user or network access that could trigger the vulnerability. 5) Use network segmentation and firewall rules to limit exposure of vulnerable services. 6) Employ kernel crash monitoring and alerting to detect and respond quickly to any exploitation attempts. 7) For critical infrastructure, consider deploying intrusion detection systems capable of identifying abnormal TCP BPF activity or malformed TCP messages that could trigger the bug. 8) Validate and test patches in staging environments to ensure stability before production rollout. 9) Maintain robust backup and recovery procedures to minimize impact in case of service disruption.
Affected Countries
Germany, France, United Kingdom, Netherlands, Sweden, Finland, Italy, Spain, Poland, Belgium
CVE-2024-46783: Vulnerability in Linux Linux
Description
In the Linux kernel, the following vulnerability has been resolved: tcp_bpf: fix return value of tcp_bpf_sendmsg() When we cork messages in psock->cork, the last message triggers the flushing will result in sending a sk_msg larger than the current message size. In this case, in tcp_bpf_send_verdict(), 'copied' becomes negative at least in the following case: 468 case __SK_DROP: 469 default: 470 sk_msg_free_partial(sk, msg, tosend); 471 sk_msg_apply_bytes(psock, tosend); 472 *copied -= (tosend + delta); // <==== HERE 473 return -EACCES; Therefore, it could lead to the following BUG with a proper value of 'copied' (thanks to syzbot). We should not use negative 'copied' as a return value here. ------------[ cut here ]------------ kernel BUG at net/socket.c:733! Internal error: Oops - BUG: 00000000f2000800 [#1] PREEMPT SMP Modules linked in: CPU: 0 UID: 0 PID: 3265 Comm: syz-executor510 Not tainted 6.11.0-rc3-syzkaller-00060-gd07b43284ab3 #0 Hardware name: linux,dummy-virt (DT) pstate: 61400009 (nZCv daif +PAN -UAO -TCO +DIT -SSBS BTYPE=--) pc : sock_sendmsg_nosec net/socket.c:733 [inline] pc : sock_sendmsg_nosec net/socket.c:728 [inline] pc : __sock_sendmsg+0x5c/0x60 net/socket.c:745 lr : sock_sendmsg_nosec net/socket.c:730 [inline] lr : __sock_sendmsg+0x54/0x60 net/socket.c:745 sp : ffff800088ea3b30 x29: ffff800088ea3b30 x28: fbf00000062bc900 x27: 0000000000000000 x26: ffff800088ea3bc0 x25: ffff800088ea3bc0 x24: 0000000000000000 x23: f9f00000048dc000 x22: 0000000000000000 x21: ffff800088ea3d90 x20: f9f00000048dc000 x19: ffff800088ea3d90 x18: 0000000000000001 x17: 0000000000000000 x16: 0000000000000000 x15: 000000002002ffaf x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000 x11: 0000000000000000 x10: ffff8000815849c0 x9 : ffff8000815b49c0 x8 : 0000000000000000 x7 : 000000000000003f x6 : 0000000000000000 x5 : 00000000000007e0 x4 : fff07ffffd239000 x3 : fbf00000062bc900 x2 : 0000000000000000 x1 : 0000000000000000 x0 : 00000000fffffdef Call trace: sock_sendmsg_nosec net/socket.c:733 [inline] __sock_sendmsg+0x5c/0x60 net/socket.c:745 ____sys_sendmsg+0x274/0x2ac net/socket.c:2597 ___sys_sendmsg+0xac/0x100 net/socket.c:2651 __sys_sendmsg+0x84/0xe0 net/socket.c:2680 __do_sys_sendmsg net/socket.c:2689 [inline] __se_sys_sendmsg net/socket.c:2687 [inline] __arm64_sys_sendmsg+0x24/0x30 net/socket.c:2687 __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline] invoke_syscall+0x48/0x110 arch/arm64/kernel/syscall.c:49 el0_svc_common.constprop.0+0x40/0xe0 arch/arm64/kernel/syscall.c:132 do_el0_svc+0x1c/0x28 arch/arm64/kernel/syscall.c:151 el0_svc+0x34/0xec arch/arm64/kernel/entry-common.c:712 el0t_64_sync_handler+0x100/0x12c arch/arm64/kernel/entry-common.c:730 el0t_64_sync+0x19c/0x1a0 arch/arm64/kernel/entry.S:598 Code: f9404463 d63f0060 3108441f 54fffe81 (d4210000) ---[ end trace 0000000000000000 ]---
AI-Powered Analysis
Technical Analysis
CVE-2024-46783 is a vulnerability identified in the Linux kernel's TCP BPF (Berkeley Packet Filter) subsystem, specifically within the tcp_bpf_sendmsg() function. The issue arises when messages are corked in the psock->cork buffer, and the final message triggers a flush operation that attempts to send a sk_msg larger than the current message size. This causes the variable 'copied' to become negative in the tcp_bpf_send_verdict() function, particularly at the code line where '*copied -= (tosend + delta);' is executed. Using a negative 'copied' value as a return value leads to a kernel BUG, causing an internal kernel error and a system crash (kernel panic). The vulnerability was discovered through syzbot fuzzing and results in a BUG at net/socket.c, which manifests as a kernel oops and crash. The stack trace shows the failure occurs during the socket sendmsg syscall path, affecting ARM64 architecture among others. This bug can be triggered by sending crafted TCP messages that exploit the corking and flushing logic in the tcp_bpf_sendmsg() function. The root cause is improper handling of message sizes and return values in the TCP BPF sendmsg path, leading to negative counters and kernel instability. No known exploits are reported in the wild yet, and no CVSS score has been assigned. The vulnerability affects Linux kernel versions identified by the commit hash 4f738adba30a7cfc006f605707e7aee847ffefa0 and possibly others in the same branch. This flaw can cause denial of service by crashing the kernel when exploited.
Potential Impact
For European organizations, this vulnerability poses a significant risk primarily in environments running vulnerable Linux kernel versions, especially on servers, network appliances, and embedded devices using TCP BPF features. The impact is mainly a denial of service (DoS) condition caused by kernel crashes, which can disrupt critical services, including web servers, database servers, and network infrastructure components. Organizations relying on Linux-based systems for critical infrastructure, cloud services, or telecommunications may experience outages or degraded service availability. Although no privilege escalation or remote code execution is indicated, the ability to cause kernel panics remotely or locally can be leveraged by attackers to disrupt operations or as part of a larger attack chain. The vulnerability could affect cloud providers, hosting services, and enterprises with Linux-based network stacks, impacting business continuity and potentially causing financial and reputational damage. Given the widespread use of Linux in European IT environments, the risk of service disruption is non-trivial, especially in sectors like finance, healthcare, and government where uptime is critical.
Mitigation Recommendations
To mitigate this vulnerability, European organizations should: 1) Apply the official Linux kernel patches that fix the tcp_bpf_sendmsg() return value handling as soon as they are released and validated. 2) Monitor Linux kernel updates from trusted sources and prioritize patching in production environments using affected kernel versions. 3) Implement kernel live patching solutions where possible to reduce downtime during patch deployment. 4) Restrict access to systems running vulnerable kernels, especially limiting untrusted user or network access that could trigger the vulnerability. 5) Use network segmentation and firewall rules to limit exposure of vulnerable services. 6) Employ kernel crash monitoring and alerting to detect and respond quickly to any exploitation attempts. 7) For critical infrastructure, consider deploying intrusion detection systems capable of identifying abnormal TCP BPF activity or malformed TCP messages that could trigger the bug. 8) Validate and test patches in staging environments to ensure stability before production rollout. 9) Maintain robust backup and recovery procedures to minimize impact in case of service disruption.
For access to advanced analysis and higher rate limits, contact root@offseq.com
Technical Details
- Data Version
- 5.1
- Assigner Short Name
- Linux
- Date Reserved
- 2024-09-11T15:12:18.276Z
- Cisa Enriched
- true
- Cvss Version
- null
- State
- PUBLISHED
Threat ID: 682d9827c4522896dcbe12b8
Added to database: 5/21/2025, 9:08:55 AM
Last enriched: 6/29/2025, 1:41:46 AM
Last updated: 8/14/2025, 8:17:54 AM
Views: 17
Related Threats
CVE-2025-53948: CWE-415 Double Free in Santesoft Sante PACS Server
HighCVE-2025-52584: CWE-122 Heap-based Buffer Overflow in Ashlar-Vellum Cobalt
HighCVE-2025-46269: CWE-122 Heap-based Buffer Overflow in Ashlar-Vellum Cobalt
HighCVE-2025-54862: CWE-79 Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting') in Santesoft Sante PACS Server
MediumCVE-2025-54759: CWE-79 Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting') in Santesoft Sante PACS Server
MediumActions
Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.
External Links
Need enhanced features?
Contact root@offseq.com for Pro access with improved analysis and higher rate limits.