CVE-2024-57882: mptcp: fix TCP options overflow.
Noroxi assessment
Priority: Monitor (action score 22/100)
- The sources we track (CISA KEV, Exploit-DB, Metasploit, Nuclei, GitHub) show no public exploit code or exploitation in the wild.
- Probability of exploitation in the next 30 days: 0.52% (FIRST EPSS).
- Someone with local access to the system can trigger it. A low-privileged account is enough. No user action is required. No special conditions are required; it is repeatable.
- Fixed version: Linux Linux 09ba95321a269019b5aa8e0c3bc80cf86d91fd18, 53fe947f67c93a5334aed3a7259fcc8a204f8bb6, 88b01048f286bb522f524ad99943ba86797d6514; azl3 kernel 6.6.64.2-9 on Azure Linux 3.0 6.6.76.1-1; azl3 kernel 6.6.76.1-1 on Azure Linux 3.0 6.6.76.1-1.
- Severity is disputed: the assigning authority (CNA) scores it 9.8, NVD 5.5.
Low priority for now. Upgrade to Linux Linux 09ba95321a269019b5aa8e0c3bc80cf86d91fd18, 53fe947f67c93a5334aed3a7259fcc8a204f8bb6, 88b01048f286bb522f524ad99943ba86797d6514; azl3 kernel 6.6.64.2-9 on Azure Linux 3.0 6.6.76.1-1; azl3 kernel 6.6.76.1-1 on Azure Linux 3.0 6.6.76.1-1 or later.
Generated automatically from the record's data: CVSS (NVD and CNA), CISA KEV and SSVC, FIRST EPSS, exploit sources, fixed versions. How we calculate it
Primary sources: NVD · CVE.org · FIRST EPSS
In the Linux kernel, the following vulnerability has been resolved: mptcp: fix TCP options overflow. Syzbot reported the following splat: Oops: general protection fault, probably for non-canonical address 0xdffffc0000000001: 0000 [#1] PREEMPT SMP KASAN PTI KASAN: null-ptr-deref in range [0x0000000000000008-0x000000000000000f] CPU: 1 UID: 0 PID: 5836 Comm: sshd Not tainted 6.13.0-rc3-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/25/2024 RIP: 0010:_compound_head include/linux/page-flags.h:242 [inline] RIP: 0010:put_page+0x23/0x260 include/linux/mm.h:1552 Code: 90 90 90 90 90 90 90 55 41 57 41 56 53 49 89 fe 48 bd 00 00 00 00 00 fc ff df e8 f8 5e 12 f8 49 8d 5e 08 48 89 d8 48 c1 e8 03 <80> 3c 28 00 74 08 48 89 df e8 8f c7 78 f8 48 8b 1b 48 89 de 48 83 RSP: 0000:ffffc90003916c90 EFLAGS: 00010202 RAX: 0000000000000001 RBX: 0000000000000008 RCX: ffff888030458000 RDX: 0000000000000100 RSI: 0000000000000000 RDI: 0000000000000000 RBP: dffffc0000000000 R08: ffffffff898ca81d R09: 1ffff110054414ac R10: dffffc0000000000 R11: ffffed10054414ad R12: 0000000000000007 R13: ffff88802a20a542 R14: 0000000000000000 R15: 0000000000000000 FS: 00007f34f496e800(0000) GS:ffff8880b8700000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f9d6ec9ec28 CR3: 000000004d260000 CR4: 00000000003526f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: <TASK> skb_page_unref include/linux/skbuff_ref.h:43 [inline] __skb_frag_unref include/linux/skbuff_ref.h:56 [inline] skb_release_data+0x483/0x8a0 net/core/skbuff.c:1119 skb_release_all net/core/skbuff.c:1190 [inline] __kfree_skb+0x55/0x70 net/core/skbuff.c:1204 tcp_clean_rtx_queue net/ipv4/tcp_input.c:3436 [inline] tcp_ack+0x2442/0x6bc0 net/ipv4/tcp_input.c:4032 tcp_rcv_state_process+0x8eb/0x44e0 net/ipv4/tcp_input.c:6805 tcp_v4_do_rcv+0x77d/0xc70 net/ipv4/tcp_ipv4.c:1939 tcp_v4_rcv+0x2dc0/0x37f0 net/ipv4/tcp_ipv4.c:2351 ip_protocol_deliver_rcu+0x22e/0x440 net/ipv4/ip_input.c:205 ip_local_deliver_finish+0x341/0x5f0 net/ipv4/ip_input.c:233 NF_HOOK+0x3a4/0x450 include/linux/netfilter.h:314 NF_HOOK+0x3a4/0x450 include/linux/netfilter.h:314 __netif_receive_skb_one_core net/core/dev.c:5672 [inline] __netif_receive_skb+0x2bf/0x650 net/core/dev.c:5785 process_backlog+0x662/0x15b0 net/core/dev.c:6117 __napi_poll+0xcb/0x490 net/core/dev.c:6883 napi_poll net/core/dev.c:6952 [inline] net_rx_action+0x89b/0x1240 net/core/dev.c:7074 handle_softirqs+0x2d4/0x9b0 kernel/softirq.c:561 __do_softirq kernel/softirq.c:595 [inline] invoke_softirq kernel/softirq.c:435 [inline] __irq_exit_rcu+0xf7/0x220 kernel/softirq.c:662 irq_exit_rcu+0x9/0x30 kernel/softirq.c:678 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1049 [inline] sysvec_apic_timer_interrupt+0x57/0xc0 arch/x86/kernel/apic/apic.c:1049 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702 RIP: 0033:0x7f34f4519ad5 Code: 85 d2 74 0d 0f 10 02 48 8d 54 24 20 0f 11 44 24 20 64 8b 04 25 18 00 00 00 85 c0 75 27 41 b8 08 00 00 00 b8 0f 01 00 00 0f 05 <48> 3d 00 f0 ff ff 76 75 48 8b 15 24 73 0d 00 f7 d8 64 89 02 48 83 RSP: 002b:00007ffec5b32ce0 EFLAGS: 00000246 RAX: 0000000000000001 RBX: 00000000000668a0 RCX: 00007f34f4519ad5 RDX: 00007ffec5b32d00 RSI: 0000000000000004 RDI: 0000564f4bc6cae0 RBP: 0000564f4bc6b5a0 R08: 0000000000000008 R09: 0000000000000000 R10: 00007ffec5b32de8 R11: 0000000000000246 R12: 0000564f48ea8aa4 R13: 0000000000000001 R14: 0000564f48ea93e8 R15: 00007ffec5b32d68 </TASK> Eric noted a probable shinfo->nr_frags corruption, which indeed occurs. The root cause is a buggy MPTCP option len computation in some circumstances: the ADD_ADDR option should be mutually exclusive with DSS since the blamed commit. Still, mptcp_established_options_add_addr() tries to set the relevant info in mptcp_out_options, if ---truncated---
- BDU:2025-04483
- SUSE-SU-2025:1057-1
- SUSE-SU-2025:1059-1
- SUSE-SU-2025:1064-1
- SUSE-SU-2025:1066-1
- SUSE-SU-2025:1072-1
- SUSE-SU-2025:1076-1
- SUSE-SU-2025:20186-1
- SUSE-SU-2025:20187-1
- SUSE-SU-2025:20188-1
- SUSE-SU-2025:20189-1
- SUSE-SU-2025:20191-1
- SUSE-SU-2025:20284-1
- SUSE-SU-2025:20285-1
- SUSE-SU-2025:20341-1
- SUSE-SU-2025:20342-1
- SUSE-SU-2025:20350-1
- SUSE-SU-2025:20366-1
- SUSE-SU-2025:20369-1
- SUSE-SU-2025:20370-1
- Published
- Jan 15, 2025
- Updated
- Aug 5, 2026
- EPSS
- 0.5% · 44th percentile
- CWE
- CWE-476
Report tools
Action score
22
Monitor
Low priority for now.
- CVSS
- 22 / 40 · 5.5 / 10
- CISA KEV
- 0 / 30 · Not listed
- EPSS
- 0 / 30 · 0.5%
CNA vs NVD score
- NVD
- 5.5
- CNA · Linux
- 9.8
- 4.3 point gap
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
The score given by the assigning authority versus NVD’s independent score. A gap means the severity is contested.
Get told when this record changes
- Not in KEV: no record of exploitation in the wild
- No public exploit code on record
- A fix has been released
If any of these changes, we'll tell you in the daily email digest.
Running WordPress? Scan your site free with WP Lens
Noroxi analysis
What does it mean in your environment?
The assessment above is generated automatically from the record's data; it doesn't know your environment. Our team verifies on your systems whether this vulnerability is actually exploitable and which mitigation is enough.
We use this product, ask for helpAffected systems
Is your version affected?
Pick the product and type the version you run. It's compared with this record's version ranges in your browser; the version isn't sent anywhere.
| Vendor | Product | CPE |
|---|---|---|
| linux | linux kernel | cpe:2.3:o:linux:linux_kernel |
Affected versions
NVD version ranges (for catalog products). Add the product to your stack with a version and matching uses these.
- linux linux kernel5.15 and later · before 6.1.124
- linux linux kernel6.2 and later · before 6.6.70
- linux linux kernel6.7 and later · before 6.12.9
- linux linux kernel6.13
Versions reported by the vendor
Affected version ranges reported by the assigning authority (Linux). Independent of NVD's CPE analysis and usually ahead of it.
Linux Linux
- 5.15affected
- 1bff1e43a30e2f7500a49d47fd26a425643a6a37 and later · before 88b01048f286bb522f524ad99943ba86797d6514affected · git
- 1bff1e43a30e2f7500a49d47fd26a425643a6a37 and later · before 09ba95321a269019b5aa8e0c3bc80cf86d91fd18affected · git
- 1bff1e43a30e2f7500a49d47fd26a425643a6a37 and later · before 53fe947f67c93a5334aed3a7259fcc8a204f8bb6affected · git
- 1bff1e43a30e2f7500a49d47fd26a425643a6a37 and later · before fb08e6b0ba284e3dcdc9378de26dcb51d90710f5affected · git
- 1bff1e43a30e2f7500a49d47fd26a425643a6a37 and later · before cbb26f7d8451fe56ccac802c6db48d16240feebdaffected · git
- before 5.15not affected · semver
- 5.15.177 and later · up to and including 5.15.*not affected · semver
- 6.1.124 and later · up to and including 6.1.*not affected · semver
- 6.6.70 and later · up to and including 6.6.*not affected · semver
Package-level exposure
OSV and GitHub Advisory data: ecosystem, package and range. SBOM matching uses this table.
| Ecosystem | Package | Affected range | Fix |
|---|---|---|---|
| Debian:12 | linux | before 6.1.124-1 | 6.1.124-1 |
| Debian:13 | linux | before 6.12.9-1 | 6.12.9-1 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6_Update_3 | before 11-150600.2.1 | 11-150600.2.1 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6_Update_7 | before 3-150600.2.1 | 3-150600.2.1 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6-RT_Update_0 | before 12-150600.3.1 | 12-150600.3.1 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6-RT_Update_1 | before 11-150600.2.1 | 11-150600.2.1 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6-RT_Update_2 | before 7-150600.2.1 | 7-150600.2.1 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6-RT_Update_3 | before 7-150600.2.1 | 7-150600.2.1 |
| SUSE:Linux Micro 6.0 | kernel-livepatch-MICRO-6-0_Update_2 | before 3-1.1 | 3-1.1 |
| SUSE:Linux Micro 6.0 | kernel-livepatch-MICRO-6-0_Update_3 | before 3-1.2 | 3-1.2 |
| SUSE:Linux Micro 6.0 | kernel-livepatch-MICRO-6-0_Update_4 | before 2-1.2 | 2-1.2 |
| SUSE:Linux Micro 6.0 | kernel-livepatch-MICRO-6-0_Update_5 | before 2-1.2 | 2-1.2 |
| SUSE:Linux Micro 6.0 | kernel-livepatch-MICRO-6-0-RT_Update_2 | before 3-1.1 | 3-1.1 |
| SUSE:Linux Micro 6.0 | kernel-livepatch-MICRO-6-0-RT_Update_3 | before 3-1.2 | 3-1.2 |
| SUSE:Linux Micro 6.0 | kernel-livepatch-MICRO-6-0-RT_Update_4 | before 2-1.1 | 2-1.1 |
| SUSE:Linux Micro 6.0 | kernel-livepatch-MICRO-6-0-RT_Update_5 | before 2-1.1 | 2-1.1 |
Same product
linux: all recordsOther highest-scoring records for the same primary product.
- CVE-2026-31431crypto: algif_aead - Revert to operating out-of-placeKEV90Now
- CVE-2022-0847A flaw was found in the way the "flags" member of the new pipe buffer structure was lacking proper initialization in copy_page_to_iter_pipe KEV89Now
- CVE-2021-22555Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACEKEV85Now
Published before and after this one in the same product
- ← EarlierCVE-2024-57841Jan 15, 2025 · net: fix memory leak in tcp_conn_request()22Monitor
- ← EarlierCVE-2024-57844Jan 15, 2025 · drm/xe: Fix fault on fd close after unbind22Monitor
- Later →CVE-2024-57885Jan 15, 2025 · mm/kmemleak: fix sleeping function called from invalid context at print message22Monitor
Remediation
Which version to upgrade to
Fix versions compiled from the vendor, package registries and Microsoft. Verify the vendor's note before upgrading.
| Product / package | Fixed version | Source |
|---|---|---|
| Linux Linux | 09ba95321a269019b5aa8e0c3bc80cf86d91fd18 | Vendor (CNA) |
| Linux Linux | 53fe947f67c93a5334aed3a7259fcc8a204f8bb6 | Vendor (CNA) |
| Linux Linux | 88b01048f286bb522f524ad99943ba86797d6514 | Vendor (CNA) |
| Linux Linux | cbb26f7d8451fe56ccac802c6db48d16240feebd | Vendor (CNA) |
| Linux Linux | fb08e6b0ba284e3dcdc9378de26dcb51d90710f5 | Vendor (CNA) |
| azl3 kernel 6.6.64.2-9 on Azure Linux 3.0 | 6.6.76.1-1 · CBL-Mariner Releases | Microsoft (MSRC) |
| azl3 kernel 6.6.76.1-1 on Azure Linux 3.0 | 6.6.76.1-1 · CBL-Mariner Releases | Microsoft (MSRC) |
| cbl2 kernel 5.15.179.1-1 on CBL Mariner 2.0 | 5.15.179.1-1 · CBL-Mariner Releases | Microsoft (MSRC) |
| cbl2 kernel 5.15.182.1-1 on CBL Mariner 2.0 | CBL-Mariner Releases | Microsoft (MSRC) |
| cbl2 kernel 5.15.182.1-1 on CBL-Mariner 2.0 | 5.15.179.1-1 · CBL-Mariner Releases | Microsoft (MSRC) |
| debian:linux | 6.1.124-1 · Debian:12 | Package registry (OSV) |
| suse:kernel-livepatch-MICRO-6-0_Update_2 | 3-1.1 · SUSE:Linux Micro 6.0 | Package registry (OSV) |
| suse:kernel-livepatch-MICRO-6-0_Update_3 | 3-1.2 · SUSE:Linux Micro 6.0 | Package registry (OSV) |
| suse:kernel-livepatch-MICRO-6-0_Update_4 | 2-1.2 · SUSE:Linux Micro 6.0 | Package registry (OSV) |
| suse:kernel-livepatch-MICRO-6-0-RT_Update_2 | 3-1.1 · SUSE:Linux Micro 6.0 | Package registry (OSV) |
| suse:kernel-livepatch-MICRO-6-0-RT_Update_3 | 3-1.2 · SUSE:Linux Micro 6.0 | Package registry (OSV) |
| suse:kernel-livepatch-MICRO-6-0-RT_Update_4 | 2-1.1 · SUSE:Linux Micro 6.0 | Package registry (OSV) |
| suse:kernel-livepatch-SLE15-SP6_Update_3 | 11-150600.2.1 · SUSE:Linux Enterprise Live Patching 15 SP6 | Package registry (OSV) |
| suse:kernel-livepatch-SLE15-SP6_Update_7 | 3-150600.2.1 · SUSE:Linux Enterprise Live Patching 15 SP6 | Package registry (OSV) |
| suse:kernel-livepatch-SLE15-SP6-RT_Update_0 | 12-150600.3.1 · SUSE:Linux Enterprise Live Patching 15 SP6 | Package registry (OSV) |
| suse:kernel-livepatch-SLE15-SP6-RT_Update_1 | 11-150600.2.1 · SUSE:Linux Enterprise Live Patching 15 SP6 | Package registry (OSV) |
| suse:kernel-livepatch-SLE15-SP6-RT_Update_2 | 7-150600.2.1 · SUSE:Linux Enterprise Live Patching 15 SP6 | Package registry (OSV) |
| suse:kernel-livepatch-SLE15-SP6-RT_Update_3 | 7-150600.2.1 · SUSE:Linux Enterprise Live Patching 15 SP6 | Package registry (OSV) |
Exploit status
No known public exploit
No public exploit has been observed yet. That doesn't mean you're safe, only that the bar is a little higher.
Research context
For pentesters and researchers: attack profile, score disagreement, timeline, patch commits, credits, variant and chain candidates, bug bounty scope. All derived from existing data; no exploit code.
Timeline
From publication to today: proof of concept, Metasploit module, CISA KEV and fix record. Dates are as reported by the sources.
No dated events beyond publication.
No history yet (it accumulates with the daily EPSS job).
Patch and commit links
Commit, PR and diff links among the references. A starting point for patch-diffing and variant hunting; fixes, not exploits.
No commit or PR link among the references.
Credits
All researchersFinders, reporters and analysts named in the CNA record. Click a name for that researcher’s other records.
No credits in the CNA record.
Variant candidates
Same product, same weakness class, within 18 months. If the patch missed the root cause, the sibling bug is here.
No nightly-computed relations.
Chain candidates
An authentication bypass and a privilege-requiring bug in the same product, published close together: combined they may become an unauthenticated path.
—
Bug bounty scope
No known public program.
Source: bounty-targets-data (public HackerOne, Bugcrowd, Intigriti, YesWeHack listings).
Technical details
Attack conditions
- Someone with local access to the system can trigger it.
- A low-privileged account is enough.
- No user action is required.
- No special conditions are required; it is repeatable.
If successful
- Confidentiality
- none
- Integrity
- none
- Availability
- high · the service can be disrupted
- Attack vector
- Local
- Attack complexity
- Low
- Privileges required
- Low
- User interaction
- None
- Scope
- Unchanged
- Confidentiality impact
- None
- Integrity impact
- None
- Availability impact
- High
Weakness class (CWE)
CWE-476 · NULL Pointer DereferenceCVSS vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
nvd-primary
Attack context
MITRE CAPEC attack patterns and ATT&CK techniques for this weakness class (CWE). A starting point for detection rules and threat hunting.
MITRE has no CAPEC/ATT&CK mapping for this CWE.
Change log
- Fix✗ → ✓
For records you follow, these changes also arrive as notifications. →
References
Show all references (6 more)Show less
- git.kernel.org/stable/c/53fe947f67c93a5334aed3a7259fcc8a204f8bb6
- git.kernel.org/stable/c/88b01048f286bb522f524ad99943ba86797d6514
- git.kernel.org/stable/c/cbb26f7d8451fe56ccac802c6db48d16240feebd
- git.kernel.org/stable/c/fb08e6b0ba284e3dcdc9378de26dcb51d90710f5
- www.openwall.com/lists/oss-security/2025/04/01/3
- lists.debian.org/debian-lts-announce/2025/03/msg00001.html
Vendor advisories and official records. Exploit/PoC links are deliberately left out.