CVE-2026-46227

HIGHPre-NVD 7.87.8
EchelonGraph scoreMEDIUM confidence

Score 7.8 from GitHub Security Advisory (severity: HIGH) published 2026-05-28. a secondary CVSS source baseline 7.8; sources differ by 0.0.

Triggered by: GitHub Security Advisory CVSS
Sources: epss, ghsa, secondary
Trending — 4 sources updated this week
7.8
EchelonGraph verdictPlan a fixSerious severity, but no confirmed exploitation yet.
  • High severity, but no confirmed exploitation yet
CISA-KEV: Not listedEPSS: 0%CVSS: 7.8Exploit: NoneExposed: 0

A fix is available — apply it.

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

sctp: revalidate list cursor after sctp_sendmsg_to_asoc() in SCTP_SENDALL

The SCTP_SENDALL path in sctp_sendmsg() iterates ep->asocs with list_for_each_entry_safe(), which caches the next entry in @tmp before the loop body runs. The body calls sctp_sendmsg_to_asoc(), which may drop the socket lock inside sctp_wait_for_sndbuf().

While the lock is dropped, another thread can SCTP_SOCKOPT_PEELOFF the association cached in @tmp, migrating it to a new endpoint via sctp_sock_migrate() (list_del_init() + list_add_tail() to newep->asocs), and optionally close the new socket which frees the association via kfree_rcu(). The cached @tmp can also be freed by a network ABORT for that association, processed in softirq while the lock is dropped.

sctp_wait_for_sndbuf() revalidates @asoc (the current entry) on re-lock via the "sk != asoc->base.sk" and "asoc->base.dead" checks, but nothing revalidates @tmp. After a successful return, the iterator advances to the stale @tmp, yielding either a use-after-free (if the peeled socket was closed) or a list-walk onto the new endpoint's list head (type confusion of &newep->asocs as a struct sctp_association *).

Both are reachable from CapEff=0; the type-confusion path gives controlled indirect call via the outqueue.sched->init_sid pointer.

Fix by re-deriving @tmp from @asoc after sctp_sendmsg_to_asoc() returns. @asoc is known to still be on ep->asocs at that point: the only callers that list_del an association from ep->asocs are sctp_association_free() (which sets asoc->base.dead) and sctp_assoc_migrate() (which changes asoc->base.sk), and sctp_wait_for_sndbuf() checks both under the lock before any successful return; a tripped check propagates as err < 0 and the loop bails before the re-derive.

The SCTP_ABORT path in sctp_sendmsg_check_sflags() returns 0 and the loop hits 'continue' before sctp_sendmsg_to_asoc() is ever called, so the @tmp cached by list_for_each_entry_safe() still covers the lock-held free that ba59fb027307 ("sctp: walk the list of asoc safely") was added for.

CVSS v3
7.8
EG Score
7.8(medium)
EPSS
1.2%
KEV
Not listed

Published

May 28, 2026

Last Modified

July 15, 2026

Advisory Details (8)

Auto-updated Jun 4, 2026
No patch confirmed yet.
generic

sctp: revalidate list cursor after sctp_sendmsg_to_asoc() in SCTP_SENDALL - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/f3a3f0b406b4b7eb3cea35a23fa2bf170848b104
generic

sctp: revalidate list cursor after sctp_sendmsg_to_asoc() in SCTP_SENDALL - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/c9dadb31f36045a8cb65df4bd75e7237ef21a4b5
generic

sctp: revalidate list cursor after sctp_sendmsg_to_asoc() in SCTP_SENDALL - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/bf0f40d8107e2ce827521968dc6926f3e13728ae
generic

sctp: revalidate list cursor after sctp_sendmsg_to_asoc() in SCTP_SENDALL - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/abb5f36771cc4c05899b34000829a787572a8817
generic

sctp: revalidate list cursor after sctp_sendmsg_to_asoc() in SCTP_SENDALL - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/6187a172d6ed57d6b2c327836e4407c6456e639d
generic

sctp: revalidate list cursor after sctp_sendmsg_to_asoc() in SCTP_SENDALL - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/1bfb06ecb00f7fdf35dba8e8f2877346cbe5e078
generic

sctp: revalidate list cursor after sctp_sendmsg_to_asoc() in SCTP_SENDALL - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/0dbc8cde64280fc37cdd678cced34eaf96cfb197
generic

sctp: revalidate list cursor after sctp_sendmsg_to_asoc() in SCTP_SENDALL - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/0c7b55974f97b78d1109025eadf084e74cbf330f

Patch Availability(12)

Vendor / EcosystemFixed in / PatchReleasedSource
redhatkernel-0:6.12.0-211.32.1.el10_22026-07-09redhat
redhatkernel-rt-0:4.18.0-553.140.1.rt7.481.el8_102026-07-07redhat
redhatkernel-0:4.18.0-553.140.1.el8_102026-07-07redhat
redhatkernel-0:5.14.0-687.22.1.el9_82026-07-06redhat
redhatkernel-0:5.14.0-570.125.1.el9_62026-07-01redhat
redhatkernel-0:4.18.0-372.198.1.el8_62026-07-01redhat
redhatkernel-0:5.14.0-427.132.1.el9_42026-06-22redhat
redhatkernel-0:6.12.0-55.82.1.el10_02026-06-22redhat
redhatkernel-0:5.14.0-284.176.1.el9_22026-06-17redhat
redhatkernel-0:4.18.0-477.147.1.el8_82026-06-17redhat
redhatkernel-0:4.18.0-305.194.1.el8_42026-06-17redhat
redhatkernel-rt-0:5.14.0-284.176.1.rt14.461.el9_22026-06-17redhat

Patches are aggregated from vendor advisories (Red Hat, Microsoft, Cisco, GitHub) and package ecosystems (OSV, GHSA). Multiple rows for the same upstream release have been deduplicated.

Weakness Classification(2)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

Data Freshness Timeline

(refreshed 10× in last 7d / 85× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

Showing the most recent 100 of 191 total refreshes for this CVE.

  1. 2026-07-16 10:17 UTCEG score recompute
  2. 2026-07-16 10:17 UTCVendor advisory
  3. 2026-07-16 10:17 UTCGHSA enrichment
  4. 2026-07-15 16:57 UTCEPSS rescore
  5. 2026-07-13 22:30 UTCEPSS rescore
  6. 2026-07-12 05:46 UTCEPSS rescore
  7. 2026-07-11 20:30 UTCEG score recompute
  8. 2026-07-11 20:30 UTCVendor advisory
  9. 2026-07-11 20:30 UTCGHSA enrichment
  10. 2026-07-09 19:10 UTCEPSS rescore
  11. 2026-07-08 18:15 UTCEG score recompute
  12. 2026-07-08 18:15 UTCVendor advisory
  13. 2026-07-08 18:14 UTCGHSA enrichment
  14. 2026-07-07 13:46 UTCEPSS rescore
  15. 2026-07-06 02:23 UTCEPSS rescore
  16. 2026-07-05 02:30 UTCEPSS rescore
  17. 2026-07-04 06:31 UTCEPSS rescore
  18. 2026-07-02 14:12 UTCEG score recompute
  19. 2026-07-02 14:12 UTCVendor advisory
  20. 2026-07-02 14:12 UTCGHSA enrichment
  21. 2026-07-01 15:35 UTCEG score recompute
  22. 2026-07-01 15:35 UTCVendor advisory
  23. 2026-07-01 15:34 UTCGHSA enrichment
  24. 2026-07-01 15:07 UTCEPSS rescore
  25. 2026-07-01 03:05 UTCEG score recompute
Show 75 more
  1. 2026-07-01 03:05 UTCVendor advisory
  2. 2026-07-01 03:05 UTCGHSA enrichment
  3. 2026-06-30 23:22 UTCEPSS rescore
  4. 2026-06-30 02:12 UTCEG score recompute
  5. 2026-06-30 02:12 UTCVendor advisory
  6. 2026-06-30 02:12 UTCGHSA enrichment
  7. 2026-06-29 14:06 UTCEPSS rescore
  8. 2026-06-29 14:06 UTCEPSS rescore
  9. 2026-06-29 13:43 UTCEG score recompute
  10. 2026-06-29 13:43 UTCVendor advisory
  11. 2026-06-29 13:43 UTCGHSA enrichment
  12. 2026-06-28 19:16 UTCEG score recompute
  13. 2026-06-28 19:16 UTCVendor advisory
  14. 2026-06-28 19:16 UTCGHSA enrichment
  15. 2026-06-28 14:07 UTCEPSS rescore
  16. 2026-06-28 06:39 UTCEG score recompute
  17. 2026-06-28 06:39 UTCVendor advisory
  18. 2026-06-28 06:38 UTCGHSA enrichment
  19. 2026-06-28 04:56 UTCEPSS rescore
  20. 2026-06-28 04:56 UTCEPSS rescore
  21. 2026-06-27 18:11 UTCEG score recompute
  22. 2026-06-27 18:11 UTCVendor advisory
  23. 2026-06-27 18:11 UTCGHSA enrichment
  24. 2026-06-27 05:26 UTCEG score recompute
  25. 2026-06-27 05:26 UTCVendor advisory
  26. 2026-06-27 05:26 UTCGHSA enrichment
  27. 2026-06-27 03:08 UTCEPSS rescore
  28. 2026-06-26 16:49 UTCEG score recompute
  29. 2026-06-26 16:49 UTCVendor advisory
  30. 2026-06-26 16:49 UTCGHSA enrichment
  31. 2026-06-25 20:45 UTCEG score recompute
  32. 2026-06-25 20:45 UTCVendor advisory
  33. 2026-06-25 20:45 UTCGHSA enrichment
  34. 2026-06-25 13:49 UTCEPSS rescore
  35. 2026-06-25 08:17 UTCEG score recompute
  36. 2026-06-25 08:17 UTCVendor advisory
  37. 2026-06-25 08:17 UTCGHSA enrichment
  38. 2026-06-24 16:53 UTCEG score recompute
  39. 2026-06-24 16:53 UTCVendor advisory
  40. 2026-06-24 16:53 UTCGHSA enrichment
  41. 2026-06-24 14:05 UTCEPSS rescore
  42. 2026-06-23 21:33 UTCEPSS rescore
  43. 2026-06-23 21:33 UTCEPSS rescore
  44. 2026-06-22 14:25 UTCEPSS rescore
  45. 2026-06-22 14:25 UTCEPSS rescore
  46. 2026-06-21 14:56 UTCEPSS rescore
  47. 2026-06-21 14:56 UTCEPSS rescore
  48. 2026-06-21 01:59 UTCEPSS rescore
  49. 2026-06-21 01:59 UTCEPSS rescore
  50. 2026-06-19 19:26 UTCEPSS rescore
  51. 2026-06-19 19:26 UTCEPSS rescore
  52. 2026-06-18 17:52 UTCEPSS rescore
  53. 2026-06-18 17:52 UTCEPSS rescore
  54. 2026-06-17 18:12 UTCEG score recompute
  55. 2026-06-17 18:12 UTCVendor advisory
  56. 2026-06-17 18:12 UTCGHSA enrichment
  57. 2026-06-17 17:53 UTCEPSS rescore
  58. 2026-06-17 04:13 UTCEG score recompute
  59. 2026-06-17 04:13 UTCGHSA enrichment
  60. 2026-06-16 17:52 UTCEPSS rescore
  61. 2026-06-16 15:41 UTCEG score recompute
  62. 2026-06-16 15:41 UTCVendor advisory
  63. 2026-06-16 15:41 UTCGHSA enrichment
  64. 2026-06-16 03:05 UTCEG score recompute
  65. 2026-06-16 03:05 UTCVendor advisory
  66. 2026-06-16 03:05 UTCGHSA enrichment
  67. 2026-06-15 17:49 UTCEPSS rescore
  68. 2026-06-15 14:37 UTCEG score recompute
  69. 2026-06-15 14:37 UTCVendor advisory
  70. 2026-06-15 14:37 UTCGHSA enrichment
  71. 2026-06-15 01:51 UTCEG score recompute
  72. 2026-06-15 01:51 UTCVendor advisory
  73. 2026-06-15 01:51 UTCGHSA enrichment
  74. 2026-06-14 13:23 UTCEG score recompute
  75. 2026-06-14 13:23 UTCVendor advisory

Frequently asked(5)

What is CVE-2026-46227?
CVE-2026-46227 is a high vulnerability published on May 28, 2026. In the Linux kernel, the following vulnerability has been resolved: sctp: revalidate list cursor after sctpsendmsgtoasoc() in SCTPSENDALL The SCTPSENDALL path in sctpsendmsg() iterates ep->asocs with listforeachentrysafe(), which caches the next entry in @tmp before the loop body runs. The body…
When was CVE-2026-46227 disclosed?
CVE-2026-46227 was first published in the National Vulnerability Database on May 28, 2026, with the most recent update on July 15, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-46227 actively exploited?
CVE-2026-46227 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 1.2% percentile likelihood of exploitation in the next 30 days — higher percentiles indicate greater predicted risk.
What is the CVSS score of CVE-2026-46227?
CVE-2026-46227 has a CVSS v3 base score of 7.8 (NVD).
How do I remediate CVE-2026-46227?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2026-46227, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

Explore the affected products and dependency analysis for CVE-2026-46227

Explore →

Is Your Infrastructure Affected by CVE-2026-46227?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.