mptcp: Correctly set DATA_FIN timeout when number of retransmits is large (Linux Linux)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.21 % · percentile 11 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- Linux
- NVD status
- Analyzed
Description
In the Linux kernel, the following vulnerability has been resolved: mptcp: Correctly set DATA_FIN timeout when number of retransmits is large Syzkaller with UBSAN uncovered a scenario where a large number of DATA_FIN retransmits caused a shift-out-of-bounds in the DATA_FIN timeout calculation: ================================================================================ UBSAN: shift-out-of-bounds in net/mptcp/protocol.c:470:29 shift exponent 32 is too large for 32-bit type 'unsigned int' CPU: 1 PID: 13059 Comm: kworker/1:0 Not tainted 5.17.0-rc2-00630-g5fbf21c90c60 #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1.1 04/01/2014 Workqueue: events mptcp_worker Call Trace: <TASK> __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xcd/0x134 lib/dump_stack.c:106 ubsan_epilogue+0xb/0x5a lib/ubsan.c:151 __ubsan_handle_shift_out_of_bounds.cold+0xb2/0x20e lib/ubsan.c:330 mptcp_set_datafin_timeout net/mptcp/protocol.c:470 [inline] __mptcp_retrans.cold+0x72/0x77 net/mptcp/protocol.c:2445 mptcp_worker+0x58a/0xa70 net/mptcp/protocol.c:2528 process_one_work+0x9df/0x16d0 kernel/workqueue.c:2307 worker_thread+0x95/0xe10 kernel/workqueue.c:2454 kthread+0x2f4/0x3b0 kernel/kthread.c:377 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295 </TASK> ================================================================================ This change limits the maximum timeout by limiting the size of the shift, which keeps all intermediate values in-bounds.
References
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 3.1 | MEDIUM 5.5 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H | NVD · nvd@nist.gov (Primary) |
European references
- ENISA EUVD · EUVD-2022-53785
- GCVE · GCVE-0-2022-48906
CERT-FR advisories
- CERTFR-2024-AVI-0840 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0779 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
Affected configurations (NVD CPE)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 5.12.4 < 5.13cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 5.13 < 5.15.27cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 5.16 < 5.16.13cpe:2.3:o:linux:linux_kernel:5.17:rc1:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:5.17:rc2:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:5.17:rc3:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:5.17:rc4:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:5.17:rc5:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:5.17:rc6:*:*:*:*:*:*
Affected products
| Product | Versions |
|---|---|
| Linux · Linux | affected 6477dd39e62c3a67cfa368ddc127410b4ae424c6 < 0c3f34beb459753f9f80d0cc14c1b50ab615c631 ; affected 6477dd39e62c3a67cfa368ddc127410b4ae424c6 < 03ae283bd71f761feae3f402668d698b393b0e79 ; affected 6477dd39e62c3a67cfa368ddc127410b4ae424c6 < 877d11f0332cd2160e19e3313e262754c321fa36 ; affected 0af76111c2a6326e4bb56f64a6e453c6ec6dd2da ; affected 5.12.4 < 5.13 |
| Linux · Linux | affected 5.13 ; unaffected 0 < 5.13 ; unaffected 5.15.27 ≤ 5.15.* ; unaffected 5.16.13 ≤ 5.16.* ; unaffected 5.17 ≤ * |
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 |