tipc: fix integer overflow in tipc_recvmsg() and tipc_recvstream() (Linux Linux)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.18 % · percentile 8 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- Linux
- NVD status
- Received
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.
References
- https://git.kernel.org/stable/c/9fd4f92671146b068809b6c34b50346cb30cf8f7
- https://git.kernel.org/stable/c/93580911f02d1f4a506ec0a6fc4354140c53ffe8
- https://git.kernel.org/stable/c/1b6066313b9b8fac870483bf7a26d6bd56579747
- https://git.kernel.org/stable/c/7364014fdc289225229eb08de8bcbf4580e78e4d
- https://git.kernel.org/stable/c/fe9bf32bb18f2d35789d4960fb007d1059bbaa38
- https://git.kernel.org/stable/c/47f42ff521b4eeb46e82f9a46a4783a99f7570d7
European references
- ENISA EUVD · EUVD-2026-55390
- GCVE · GCVE-0-2026-68289
CERT-FR advisories
- CERTFR-2026-AVI-1385 — Multiples vulnérabilités dans les produits VMware · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1375 — Multiples vulnérabilités dans le noyau Linux de Debian LTS · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1333 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1289 — Multiples vulnérabilités dans le noyau Linux de Debian LTS · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1286 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1255 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1253 — Multiples vulnérabilités dans le noyau Linux de Debian · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1231 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1202 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1164 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
Affected products
| Product | Versions |
|---|---|
| Linux · Linux | affected e9f8b10101c6da3ab000a2fb17162374c9bd2c69 < 9fd4f92671146b068809b6c34b50346cb30cf8f7 ; affected e9f8b10101c6da3ab000a2fb17162374c9bd2c69 < 93580911f02d1f4a506ec0a6fc4354140c53ffe8 ; affected e9f8b10101c6da3ab000a2fb17162374c9bd2c69 < 1b6066313b9b8fac870483bf7a26d6bd56579747 ; affected e9f8b10101c6da3ab000a2fb17162374c9bd2c69 < 7364014fdc289225229eb08de8bcbf4580e78e4d ; affected e9f8b10101c6da3ab000a2fb17162374c9bd2c69 < fe9bf32bb18f2d35789d4960fb007d1059bbaa38 ; affected e9f8b10101c6da3ab000a2fb17162374c9bd2c69 < 47f42ff521b4eeb46e82f9a46a4783a99f7570d7 |
| Linux · Linux | affected 4.12 ; unaffected 0 < 4.12 ; unaffected 6.1.189 ≤ 6.1.* ; unaffected 6.6.158 ≤ 6.6.* ; unaffected 6.12.111 ≤ 6.12.* ; unaffected 6.18.53 ≤ 6.18.* |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| CERT-FR (ANSSI) | Licence Ouverte / Etalab 2.0 |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |