HIGH
netfilter SIP Truncation
CVE-2026-23457
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:H
KernelScan AI8.0HIGH
01Description
In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_conntrack_sip: fix Content-Length u32 truncation in sip_help_tcp() sip_help_tcp() parses the SIP Content-Length header with simple_strtoul(), which returns unsigned long, but stores the result in unsigned int clen. On 64-bit systems, values exceeding UINT_MAX are silently truncated before computing the SIP message boundary. For example, Content-Length 4294967328 (2^32 + 32) is truncated to 32, causing the parser to miscalculate where the current message ends. The loop then treats trailing data in the TCP segment as a second SIP message and processes it through the SDP parser. Fix this by changing clen to unsigned long to match the return type of simple_strtoul(), and reject Content-Length values that exceed the remaining TCP payload length.
02KernelScan AI Analysis
Risk summary
Attackers can send SIP packets with malformed Content-Length headers exceeding 2^32 to cause integer truncation in the netfilter SIP connection tracker. This leads to parser confusion where trailing TCP data is misinterpreted as additional SIP messages, potentially causing denial of service or incorrect packet processing on systems with SIP connection tracking enabled.
Vulnerability analysis
The vulnerability occurs in sip_help_tcp() where simple_strtoul() returns unsigned long but the result is stored in unsigned int clen. On 64-bit systems, Content-Length values above UINT_MAX are silently truncated, causing the parser to miscalculate SIP message boundaries. The fix changes clen to unsigned long and adds validation to reject Content-Length values exceeding the remaining TCP payload. This affects any system processing SIP over TCP with netfilter connection tracking enabled.
03Fix Versions
| Branch | Fixed in | Patch commit |
|---|---|---|
| 5.10 | 5.10.253 | ed81b6a70124 |
| 5.15 | 5.15.203 | cd1b7403ec83 |
| 6.1 | 6.1.167 | b75209debb9a |
| 6.12 | 6.12.78 | 75fcaee5170e |
| 6.18 | 6.18.20 | 865dba58958c |
| 6.19 | 6.19.10 | d4f17256544c |
| 6.6 | 6.6.130 | 528b4509c9df |
| mainline | 7.0 | fbce58e719a1 |