CVE-2026-63971
sctp: fix race between sctp_wait_for_connect and peeloff
Description
In the Linux kernel, the following vulnerability has been resolved: sctp: fix race between sctp_wait_for_connect and peeloff sctp_wait_for_connect() drops and re-acquires the socket lock while waiting for the association to reach ESTABLISHED state. During this window, another thread can peeloff the association to a new socket via getsockopt(SCTP_SOCKOPT_PEELOFF), changing asoc->base.sk. After re-acquiring the old socket lock, sctp_wait_for_connect() returns success without noticing the migration — the caller then accesses the association under the wrong lock in sctp_datamsg_from_user(). Add the same sk != asoc->base.sk check that sctp_wait_for_sndbuf() already has, returning an error if the association was migrated while we slept.
INFO
Published Date :
July 19, 2026, 4:17 p.m.
Last Modified :
July 30, 2026, 2:51 p.m.
Remotely Exploit :
No
Source :
416baaa9-dc9f-4396-8d5f-8c081fb06d67
CVSS Scores
| Score | Version | Severity | Vector | Exploitability Score | Impact Score | Source |
|---|---|---|---|---|---|---|
| CVSS 3.1 | HIGH | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
Solution
- Update the Linux kernel to a patched version.
- Verify the fix addresses the race condition.
- Monitor system stability after patching.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2026-63971.
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2026-63971 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2026-63971
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2026-63971 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2026-63971 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Jul. 20, 2026
Action Type Old Value New Value Added CVSS V3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H -
New CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Jul. 19, 2026
Action Type Old Value New Value Added Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '668c9beb9020d5834ee9e43c208190a07d2b1928', 'lessThan': '0e0d5bc76fd4267a71334fcc8f1a5fbcf997845d', 'versionType': 'git'}, {'status': 'affected', 'version': '668c9beb9020d5834ee9e43c208190a07d2b1928', 'lessThan': 'bcfeac79af740735ace44008b4a11b8e5add20f5', 'versionType': 'git'}, {'status': 'affected', 'version': '668c9beb9020d5834ee9e43c208190a07d2b1928', 'lessThan': '8e9b56051d24540cfbf39194618708c4a7633549', 'versionType': 'git'}, {'status': 'affected', 'version': '668c9beb9020d5834ee9e43c208190a07d2b1928', 'lessThan': '634a9af8a26a84d8b0d7b3b643204b344b42d9fb', 'versionType': 'git'}, {'status': 'affected', 'version': '668c9beb9020d5834ee9e43c208190a07d2b1928', 'lessThan': '7d2038d4b80166f7bead8d07eba3b97405816c21', 'versionType': 'git'}, {'status': 'affected', 'version': '668c9beb9020d5834ee9e43c208190a07d2b1928', 'lessThan': '68667ee4c7dadf7f63167234e2a1af09b3f7874e', 'versionType': 'git'}, {'status': 'affected', 'version': '668c9beb9020d5834ee9e43c208190a07d2b1928', 'lessThan': '6140cfa721451fa6e18e134e709703c2bf34d0fb', 'versionType': 'git'}, {'status': 'affected', 'version': '668c9beb9020d5834ee9e43c208190a07d2b1928', 'lessThan': 'f14fe6395a8b3d961a61e138ad7b36ba3626dd4e', 'versionType': 'git'}], 'programFiles': ['net/sctp/socket.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '4.16'}, {'status': 'unaffected', 'version': '0', 'lessThan': '4.16', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.10.259', 'versionType': 'semver', 'lessThanOrEqual': '5.10.*'}, {'status': 'unaffected', 'version': '5.15.210', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'status': 'unaffected', 'version': '6.1.176', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.143', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.93', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.35', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.0.12', 'versionType': 'semver', 'lessThanOrEqual': '7.0.*'}, {'status': 'unaffected', 'version': '7.1', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['net/sctp/socket.c'], 'defaultStatus': 'affected'}] Added Description In the Linux kernel, the following vulnerability has been resolved: sctp: fix race between sctp_wait_for_connect and peeloff sctp_wait_for_connect() drops and re-acquires the socket lock while waiting for the association to reach ESTABLISHED state. During this window, another thread can peeloff the association to a new socket via getsockopt(SCTP_SOCKOPT_PEELOFF), changing asoc->base.sk. After re-acquiring the old socket lock, sctp_wait_for_connect() returns success without noticing the migration — the caller then accesses the association under the wrong lock in sctp_datamsg_from_user(). Add the same sk != asoc->base.sk check that sctp_wait_for_sndbuf() already has, returning an error if the association was migrated while we slept. Added Reference https://git.kernel.org/stable/c/0e0d5bc76fd4267a71334fcc8f1a5fbcf997845d Added Reference https://git.kernel.org/stable/c/6140cfa721451fa6e18e134e709703c2bf34d0fb Added Reference https://git.kernel.org/stable/c/634a9af8a26a84d8b0d7b3b643204b344b42d9fb Added Reference https://git.kernel.org/stable/c/68667ee4c7dadf7f63167234e2a1af09b3f7874e Added Reference https://git.kernel.org/stable/c/7d2038d4b80166f7bead8d07eba3b97405816c21 Added Reference https://git.kernel.org/stable/c/8e9b56051d24540cfbf39194618708c4a7633549 Added Reference https://git.kernel.org/stable/c/bcfeac79af740735ace44008b4a11b8e5add20f5 Added Reference https://git.kernel.org/stable/c/f14fe6395a8b3d961a61e138ad7b36ba3626dd4e