Description
In the Linux kernel, the following vulnerability has been resolved:

tipc: fix integer overflow in tipc_recvmsg() and tipc_recvstream()

In tipc_recvmsg(), the copy length is computed as:

copy = min_t(int, dlen - offset, buflen);

buflen is size_t but min_t(int, ...) casts it to int. When buflen
exceeds INT_MAX (e.g. 0xFFFFFFFF via io_uring provided buffers), it
wraps negative, wins the comparison, and the negative copy length
propagates to simple_copy_to_iter() where int-to-size_t promotion
makes it SIZE_MAX, triggering a WARN_ON. tipc_recvstream() has the
same pattern.

Kernel panic - not syncing: kernel: panic_on_warn set ...
RIP: 0010:simple_copy_to_iter+0x9e/0xd0 (net/core/datagram.c:521)
Call Trace:
__skb_datagram_iter+0x123/0x8b0 (net/core/datagram.c:402)
skb_copy_datagram_iter+0x77/0x1a0 (net/core/datagram.c:534)
tipc_recvmsg+0x3d7/0xe80 (net/tipc/socket.c:1934)
io_recvmsg+0x47e/0xda0

Fix by changing min_t(int, ...) to min_t(size_t, ...) in both
functions. The result is always <= (dlen - offset), which is bounded
by TIPC maximum message size (0x1ffff bytes), so the implicit
narrowing on assignment to int copy is always safe.
Published: 2026-08-10
Score: 6.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A user-space application that interacts with the TIPC protocol can cause the kernel to panic by triggering a copy of a buffer whose length is computed using an integer type cast. The overflow occurs in tipc_recvmsg() and tipc_recvstream() where a size_t value is cast to an int, resulting in a negative value that is later promoted back to size_t, causing a kernel warning that escalates to a panic. The failure can lead to a complete loss of system availability, as the kernel reboots or stops accepting further operations.

Affected Systems

All Linux kernel distributions that have the TIPC subsystem enabled are potentially vulnerable. The issue is present in the kernel source regardless of distribution vendor; the fix is applied in upstream kernel changes. No specific release or patch level is cited in the advisory. System administrators should verify that their running kernel does not use the unpatched TIPC code.

Risk and Exploitability

The CVSS score of 6.5 indicates a medium severity attack. The EPSS score is < 1%, implying a very low likelihood of exploitation. The likely attack vector is local, as a user-space program can invoke io_uring with an oversized buffer to trigger the overflow. The vulnerability is not listed in CISA KEV, meaning it may not yet have known public exploits, but the potential impact remains significant.

Generated by OpenCVE AI on August 12, 2026 at 18:04 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the Linux kernel to a version that includes the patch for the tipc_recvmsg and tipc_recvstream integer overflow. The vanilla kernel upstream has applied a change that replaces the int cast with a size_t cast, making the copy length safe.
  • If an immediate kernel upgrade is not possible, restrict the use of TIPC sockets on the host by disabling the TIPC protocol module or configuring network firewalls to block TIPC traffic, thereby preventing untrusted code from sending large buffers to the vulnerable path.
  • Apply distribution backported security patches that incorporate the upstream fix, or manually backport the upstream commit to the kernel source and recompile to ensure the vulnerable code is removed.

Generated by OpenCVE AI on August 12, 2026 at 18:04 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 12 Aug 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-131
References
Metrics threat_severity

None

cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Mon, 10 Aug 2026 17:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-680

Mon, 10 Aug 2026 12:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: tipc: fix integer overflow in tipc_recvmsg() and tipc_recvstream() In tipc_recvmsg(), the copy length is computed as: copy = min_t(int, dlen - offset, buflen); buflen is size_t but min_t(int, ...) casts it to int. When buflen exceeds INT_MAX (e.g. 0xFFFFFFFF via io_uring provided buffers), it wraps negative, wins the comparison, and the negative copy length propagates to simple_copy_to_iter() where int-to-size_t promotion makes it SIZE_MAX, triggering a WARN_ON. tipc_recvstream() has the same pattern. Kernel panic - not syncing: kernel: panic_on_warn set ... RIP: 0010:simple_copy_to_iter+0x9e/0xd0 (net/core/datagram.c:521) Call Trace: __skb_datagram_iter+0x123/0x8b0 (net/core/datagram.c:402) skb_copy_datagram_iter+0x77/0x1a0 (net/core/datagram.c:534) tipc_recvmsg+0x3d7/0xe80 (net/tipc/socket.c:1934) io_recvmsg+0x47e/0xda0 Fix by changing min_t(int, ...) to min_t(size_t, ...) in both functions. The result is always <= (dlen - offset), which is bounded by TIPC maximum message size (0x1ffff bytes), so the implicit narrowing on assignment to int copy is always safe.
Title tipc: fix integer overflow in tipc_recvmsg() and tipc_recvstream()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-17T05:02:24.704Z

Reserved: 2026-07-30T09:28:09.380Z

Link: CVE-2026-68289

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-10T13:20:18.233

Modified: 2026-08-17T05:18:31.567

Link: CVE-2026-68289

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-10T12:02:22Z

Links: CVE-2026-68289 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-12T18:15:03Z

Weaknesses
  • CWE-131

    Incorrect Calculation of Buffer Size

  • CWE-680

    Integer Overflow to Buffer Overflow