CVE Intelligence
Medium Logic error

CVE-2025-21938 — mptcp: fix 'scheduling while atomic' in mptcp_pm_nl_append_new_local_addr

In the Linux kernel, the following vulnerability has been resolved: mptcp: fix 'scheduling while atomic' in mptcp_pm_nl_append_new_local_addr If multiple connection requests attempt to create an implicit mptcp endpoint in parallel, more than one caller may end up in mptcp_pm_nl_append_new_local_addr because none found the address in local_addr_list during their call to mptcp_pm_nl_get_local_id. In this case, the concurrent new_local_addr calls may delete the address entry created by the previous caller. These deletes use synchronize_rcu, but this is not permitted in some of the contexts where this function may be called. During packet recv, the caller may be in a rcu read critical section and have preemption disabled. An example stack: BUG: scheduling while atomic: swapper/2/0/0x00000302 Call Trace: <IRQ> dump_stack_lvl (lib/dump_stack.c:117 (discriminator 1)) dump_stack (lib/dump_stack.c:124) __schedule_bug (kernel/sched/core.c:5943) schedule_debug.constprop.0 (arch/x86/include/asm/preempt.h:33 kernel/sched/core.c:5970) __schedule (arch/x86/include/asm/jump_label.h:27 include/linux/jump_label.h:207 kernel/sched/features.h:29 kernel/sched/core.c:6621) schedule (arch/x86/include/asm/preempt.h:84 kernel/sched/core.c:6804 kernel/sched/core.c:6818) schedule_timeout (kernel/time/timer.c:2160) wait_for_completion (kernel/sched/completion.c:96 kernel/sched/completion.c:116 kernel/sched/completion.c:127 kernel/sched/completion.c:148) __wait_rcu_gp (include/linux/rcupdate.h:311 kernel/rcu/update.c:444) synchronize_rcu (kernel/rcu/tree.c:3609) mptcp_pm_nl_append_new_local_addr (net/mptcp/pm_netlink.c:966 net/mptcp/pm_netlink.c:1061) mptcp_pm_nl_get_local_id (net/mptcp/pm_netlink.c:1164) mptcp_pm_get_local_id (net/mptcp/pm.c:420) subflow_check_req (net/mptcp/subflow.c:98 net/mptcp/subflow.c:213) subflow_v4_route_req (net/mptcp/subflow.c:305) tcp_conn_request (net/ipv4/tcp_input.c:7216) subflow_v4_conn_request (net/mptcp/subflow.c:651) tcp_rcv_state_process (net/ipv4/tcp_input.c:6709) tcp_v4_do_rcv (net/ipv4/tcp_ipv4.c:1934) tcp_v4_rcv (net/ipv4/tcp_ipv4.c:2334) ip_protocol_deliver_rcu (net/ipv4/ip_input.c:205 (discriminator 1)) ip_local_deliver_finish (include/linux/rcupdate.h:813 net/ipv4/ip_input.c:234) ip_local_deliver (include/linux/netfilter.h:314 include/linux/netfilter.h:308 net/ipv4/ip_input.c:254) ip_sublist_rcv_finish (include/net/dst.h:461 net/ipv4/ip_input.c:580) ip_sublist_rcv (net/ipv4/ip_input.c:640) ip_list_rcv (net/ipv4/ip_input.c:675) __netif_receive_skb_list_core (net/core/dev.c:5583 net/core/dev.c:5631) netif_receive_skb_list_internal (net/core/dev.c:5685 net/core/dev.c:5774) napi_complete_done (include/linux/list.h:37 include/net/gro.h:449 include/net/gro.h:444 net/core/dev.c:6114) igb_poll (drivers/net/ethernet/intel/igb/igb_main.c:8244) igb __napi_poll (net/core/dev.c:6582) net_rx_action (net/core/dev.c:6653 net/core/dev.c:6787) handle_softirqs (kernel/softirq.c:553) __irq_exit_rcu (kernel/softirq.c:588 kernel/softirq.c:427 kernel/softirq.c:636) irq_exit_rcu (kernel/softirq.c:651) common_interrupt (arch/x86/kernel/irq.c:247 (discriminator 14)) </IRQ> This problem seems particularly prevalent if the user advertises an endpoint that has a different external vs internal address. In the case where the external address is advertised and multiple connections already exist, multiple subflow SYNs arrive in parallel which tends to trigger the race during creation of the first local_addr_list entries which have the internal address instead. Fix by skipping the replacement of an existing implicit local address if called via mptcp_pm_nl_get_local_id.

Published Apr 1, 2025 · Updated Oct 15, 2026 · Sources: NIST National Vulnerability Database, CVE Program (cve.org) e CISA ADP · CNA: Linux

Who exploits it and how urgent it is

A 0–100 score combining confirmed exploitation, ransomware and APT use, public exploits, EPSS and severity.

No exploitation signal in the sources consulted so far.
How the score was calculated
  • EPSS 0.4% (30-day exploitation probability)+5
  • Technical severity (medium)+3
  • Automatable exploitation (SSVC)+3

The score orders the patch queue; it does not replace your asset context (internet exposure, criticality, compensating controls).

Triage

Is it exploited, how likely is exploitation, what does it touch, and how severe do the sources call it.

Exploitation
Not confirmed
Not in CISA KEV — an absence of record, not proof it is unexploited.
EPSS FIRST
0.39%
ahead of 31% of scored CVEs · Oct 15, 2026
Affects
Linux
Linux and 1 more
CVSS base
4.7
Medium · 3 source(s)
Prioritization reference: 7.5 provisional

CISA SSVC assessment CISA

Three decision points CISA publishes for the CVEs it assesses (SSVC 2.0.3). A stakeholder decision, not a severity score.

Exploitation
None
none · proof-of-concept · active
Automatable
Yes
can an attacker script the kill-chain steps
Technical impact
Partial
partial · total control of the vulnerable component

Remediation

Fixes and mitigations documented by the sources — linked to the original advisory.

  • Documented patch — git.kernel.org (NIST National Vulnerability Database)
  • Documented patch — git.kernel.org (NIST National Vulnerability Database)
  • Documented patch — git.kernel.org (NIST National Vulnerability Database)
  • Documented patch — git.kernel.org (NIST National Vulnerability Database)
  • Documented patch — git.kernel.org (NIST National Vulnerability Database)

First 24 hours

Ordered from the record’s own fields — exposure first, because you cannot patch what you have not found. A rule-generated starting point.

  1. Identify exposed assets running the affected vendor/product/version combinations (Linux Linux, Linux Linux Kernel).
  2. Apply the fixed version or the patch documented under Remediation.
  3. Search available logs for exploit probes matching the vulnerability class (logic error), errors and authentication anomalies.

Affected scope

Vendor, product and versions as the sources word them.

VendorProductVersionsStatusSource
Linux Linux ≥ d045b9eb95a9b611c483897a69e7285aefdc66d7 and < f1404f368c40fc6a068dad72e4ee0824ee6a78ee≥ d045b9eb95a9b611c483897a69e7285aefdc66d7 and < f3fcdb2de9fdbed9d8c6a8eb2c5fbd7d6f54a4d8≥ d045b9eb95a9b611c483897a69e7285aefdc66d7 and < 4b228dae3d2cc6d9dce167449cd8fa9f028e9376≥ d045b9eb95a9b611c483897a69e7285aefdc66d7 and < 125ccafe6dd062901b5a0c31ee9038740fc8859e≥ d045b9eb95a9b611c483897a69e7285aefdc66d7 and < 022bfe24aad8937705704ff2e414b100cf0f2e1aversion 5.18 Vulnerable CVE Program (cve.org) e CISA ADP
Linux Linux Kernel ≥ 5.18 and < 6.1.131≥ 6.2 and < 6.6.83≥ 6.7 and < 6.12.19≥ 6.13 and < 6.13.7version 6.14-rc1version 6.14-rc2version 6.14-rc3version 6.14-rc4
and 1 more version 6.14-rc5
Vulnerable NIST National Vulnerability Database

Attack characteristics

The CVSS vector, decoded. It describes the attack, not your exposure to it.

Attack vector
Local
Attack complexity
High
Privileges required
Low
User interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Every base score collected

Sources score independently and may disagree; each row says who scored it and under which version.

ScoreVersionSeverityExpl.ImpactScored by
7.5 CVSS 3.1 High 3.9 3.6 416baaa9-dc9f-4396-8d5f-8c081fb06d67 via NIST National Vulnerability Database
7.5 CVSS 3.1 High — — Linux via CVE Program (cve.org) e CISA ADP
4.7 CVSS 3.1 Medium 1.0 3.6 nvd@nist.gov via NIST National Vulnerability Database
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H (score shown at the top: nvd@nist.gov)
Scoring entities (NIST, CNA, ADP) score independently; each score is shown with its origin. For prioritization we use 7.5 (416baaa9-dc9f-4396-8d5f-8c081fb06d67 via NIST National Vulnerability Database) as a conservative provisional reference — not a definitive official score.

Weakness MITRE

Weakness class according to MITRE’s CWE catalog.

CWE-362 · Race Condition

Other CVEs with this weakness →

EPSS over time FIRST

Oct 14, 2026 → Oct 15, 2026 · 2 reading(s) · max 0.39%

Detection

Read off the CVSS vector and the weakness class. Starting points, not tested rules.

  • Local/physical vector: focus on endpoint telemetry (EDR) from affected hosts.
endpoint telemetry (EDR)

Timeline

What happened to this CVE, newest first.

  • 2026
  • SSVC assessment updated
    Oct 15, 2026 · CVE Program (cve.org) e CISA ADP
  • Affected products added · linux/linux
    Oct 15, 2026 · CVE Program (cve.org) e CISA ADP
  • Record published
    Oct 15, 2026
  • Fix documented
    Oct 15, 2026 · NIST National Vulnerability Database
  • CVSS changed · 4.7
    Oct 15, 2026 · NIST National Vulnerability Database
  • Source status changed · → Modified
    Oct 15, 2026 · NIST National Vulnerability Database
  • Record created in this database
    Oct 15, 2026 · NIST National Vulnerability Database
  • 2025
  • CVE published
    Apr 1, 2025 · Linux

Source activity

Repeated readings are counted rather than listed.

  • 1× Official description updated · Oct 15, 2026 – Oct 15, 2026

References

8 on the record

Elsewhere on this site

Linux
every CVE for this vendor
Logic error
same class
CWE-362
other pages naming this weakness

Related CVEs (same products)

  • Critical CVE-2026-99999 ipv4: validate checksum_start before completing checksum 22h
  • Unknown CVE-2026-98432 ipv4: free inet_opt and ireq_opt after an RCU grace period 22h
  • Unknown CVE-2026-98424 wifi: cfg80211: undo netns switch if renaming the wiphy fails 1d
  • Unknown CVE-2026-98425 wifi: mac80211: don't warn when an IBSS has no channel to scan 1d
  • Unknown CVE-2026-98426 wifi: mwifiex: fix IRQ leak using wrong index in MSI-X error path 1d
  • Unknown CVE-2026-98427 net/sched: codel: bound the dropping loop per dequeue call 1d

Not in any source we poll

Listed rather than left blank: an empty field and an unmeasured one look identical on screen, and only one is a reason to look elsewhere.

  • No confirmed IOCs, IP addresses, domains, file hashes, or malware artifacts supplied.
  • No organization-specific asset inventory, compensating-control status, or patch deployment evidence supplied.
  • No exploit packet captures, log samples, or incident case IDs supplied.

Answered from this record

Text assembled only from the fields above — no additional claims.

What should defenders know first?

CVE-2025-21938 is "mptcp: fix 'scheduling while atomic' in mptcp_pm_nl_append_new_local_addr", rated Medium. It affects Linux (Linux); versions are in the scope table. It is not in CISA KEV, which does not rule out exploitation. CVSS 4.7 describes technical severity. EPSS 0.39% estimates the probability of exploitation in 30 days; neither replaces your asset context. First verify whether exposed or business-critical assets run the affected versions, apply vendor fixes or mitigations, and preserve logs for review.

Comments

Moderated technical discussion. Read the community guidelines.

No comments yet.

Sign in or create an account to comment and suggest corrections.