CVE-2025-71126: mptcp: avoid deadlock on fallback while reinjecting

Published Jan 14, 2026
·
Updated

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

mptcp: avoid deadlock on fallback while reinjecting

Jakub reported an MPTCP deadlock at fallback time:

WARNING: possible recursive locking detected 6.18.0-rc7-virtme #1 Not tainted -------------------------------------------- mptcpconnect/20858 is trying to acquire lock: ff1100001da18b60 (&msk->fallbacklock){+.-.}-{3:3}, at: mptcptryfallback+0xd8/0x280

but task is already holding lock: ff1100001da18b60 (&msk->fallbacklock){+.-.}-{3:3}, at: mptcpretrans+0x352/0xaa0

other info that might help us debug this: Possible unsafe locking scenario:

CPU0 ---- lock(&msk->fallbacklock); lock(&msk->fallbacklock);

DEADLOCK

May be due to missing lock nesting notation

3 locks held by mptcpconnect/20858: #0: ff1100001da18290 (sklock-AFINET){+.+.}-{0:0}, at: mptcpsendmsg+0x114/0x1bc0 #1: ff1100001db40fd0 (k-sklock-AFINET#2){+.+.}-{0:0}, at: mptcpretrans+0x2cb/0xaa0 #2: ff1100001da18b60 (&msk->fallbacklock){+.-.}-{3:3}, at: mptcpretrans+0x352/0xaa0

stack backtrace: CPU: 0 UID: 0 PID: 20858 Comm: mptcpconnect Not tainted 6.18.0-rc7-virtme #1 PREEMPT(full) Hardware name: Bochs, BIOS Bochs 01/01/2011 Call Trace: <TASK> dumpstacklvl+0x6f/0xa0 printdeadlockbug.cold+0xc0/0xcd validatechain+0x2ff/0x5f0 lockacquire+0x34c/0x740 lockacquire.part.0+0xbc/0x260 rawspinlockbh+0x38/0x50 mptcptryfallback+0xd8/0x280 mptcpsendmsgfrag+0x16c2/0x3050 mptcpretrans+0x421/0xaa0 mptcpreleasecb+0x5aa/0xa70 releasesock+0xab/0x1d0 mptcpsendmsg+0xd5b/0x1bc0 sockwriteiter+0x281/0x4d0 newsyncwrite+0x3c5/0x6f0 vfswrite+0x65e/0xbb0 ksyswrite+0x17e/0x200 dosyscall64+0xbb/0xfd0 entrySYSCALL64afterhwframe+0x4b/0x53 RIP: 0033:0x7fa5627cbc5e Code: 4d 89 d8 e8 14 bd 00 00 4c 8b 5d f8 41 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 11 c9 c3 0f 1f 80 00 00 00 00 48 8b 45 10 0f 05 <c9> c3 83 e2 39 83 fa 08 75 e7 e8 13 ff ff ff 0f 1f 00 f3 0f 1e fa RSP: 002b:00007fff1fe14700 EFLAGS: 00000202 ORIGRAX: 0000000000000001 RAX: ffffffffffffffda RBX: 0000000000000005 RCX: 00007fa5627cbc5e RDX: 0000000000001f9c RSI: 00007fff1fe16984 RDI: 0000000000000005 RBP: 00007fff1fe14710 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000202 R12: 00007fff1fe16920 R13: 0000000000002000 R14: 0000000000001f9c R15: 0000000000001f9c

The packet scheduler could attempt a reinjection after receiving an MPFAIL and before the infinite map has been transmitted, causing a deadlock since MPTCP needs to do the reinjection atomically from WRT fallback.

Address the issue explicitly avoiding the reinjection in the critical scenario. Note that this is the only fallback critical section that could potentially send packets and hit the double-lock.

Affected Software

16 affected componentsFixes available
Linux Linux kernel
Linux Linux kernel>=6.1.149<6.1.160
Linux Linux kernel>=6.6.101<6.6.120
Linux Linux kernel>=6.12.40<6.12.64
Linux Linux kernel>=6.15.8<6.16
Linux Linux kernel>=6.16.1<6.18.3
Linux Linux kernel=6.16
Linux Linux kernel=6.19-rc1
Linux Linux kernel=6.19-rc2
Linux Linux kernel=6.19-rc3
Linux Linux kernel=6.19-rc4
Linux Linux kernel=6.19-rc5
Linux Linux kernel=6.19-rc6
Linux Linux kernel=6.19-rc7
Linux Linux kernel=6.19-rc8
debian/linux
6.1.176-16.1.190-16.12.107-16.12.115-27.2.12-17.2.15-1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade debian/linux to a version that resolves this vulnerability.

    Fixed in 6.1.176-1Fixed in 6.1.190-1Fixed in 6.12.107-1Fixed in 6.12.113-1Fixed in 7.2.12-1Fixed in 7.2.13-1
  2. Compensating control

    Prevent the MPTCP packet scheduler from attempting reinjection after receiving MP_FAIL and before the infinite map has been transmitted; avoid reinjection in this fallback critical section to prevent recursively acquiring msk->fallback_lock.

Event History

Jan 14, 2026
CVE Published
via MITRE·03:06 PM
Data Sourced
via MITRE·03:06 PM
DescriptionSeverity
Data Sourced
via NVD·03:16 PM
RemedyDescriptionSeverityWeaknessAffected Software

Parent advisories

This vulnerability appears in the following advisories.

Peer vulnerabilities

Found alongside the following vulnerabilities.

Frequently Asked Questions

1

What is the severity of CVE-2025-71126?

CVE-2025-71126 is classified as a medium-severity vulnerability in the Linux kernel.

2

How do I fix CVE-2025-71126?

To mitigate CVE-2025-71126, update your Linux kernel to the latest version which includes the patch.

3

What does CVE-2025-71126 affect?

CVE-2025-71126 affects the multipath TCP (MPTCP) implementation in the Linux kernel.

4

What types of systems are impacted by CVE-2025-71126?

CVE-2025-71126 impacts any systems running the affected versions of the Linux kernel utilizing MPTCP.

5

What kind of issue does CVE-2025-71126 address?

CVE-2025-71126 addresses a potential deadlock issue during the fallback process in MPTCP.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203