CVE-2026-23102

HIGHNVD 7.17.1
EchelonGraph scoreMEDIUM confidence

Score 7.1 from GitHub Security Advisory (severity: HIGH) published 2026-02-04. NVD baseline CVSS 7.1; sources differ by 0.0.

Triggered by: GitHub Security Advisory CVSS
Sources: epss, ghsa, nvd
7.1EG
EchelonGraph verdictPlan a fixSerious severity, but no confirmed exploitation yet.
  • High severity, but no confirmed exploitation yet
CISA-KEV: Not listedEPSS PROB: 0%CVSS: 7.1Exploit: None knownExposed: 0

A fix is available — apply it.

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

arm64/fpsimd: signal: Fix restoration of SVE context

When SME is supported, Restoring SVE signal context can go wrong in a few ways, including placing the task into an invalid state where the kernel may read from out-of-bounds memory (and may potentially take a fatal fault) and/or may kill the task with a SIGKILL.

(1) Restoring a context with SVE_SIG_FLAG_SM set can place the task into an invalid state where SVCR.SM is set (and sve_state is non-NULL) but TIF_SME is clear, consequently resuting in out-of-bounds memory reads and/or killing the task with SIGKILL.

This can only occur in unusual (but legitimate) cases where the SVE signal context has either been modified by userspace or was saved in the context of another task (e.g. as with CRIU), as otherwise the presence of an SVE signal context with SVE_SIG_FLAG_SM implies that TIF_SME is already set.

While in this state, task_fpsimd_load() will NOT configure SMCR_ELx (leaving some arbitrary value configured in hardware) before restoring SVCR and attempting to restore the streaming mode SVE registers from memory via sve_load_state(). As the value of SMCR_ELx.LEN may be larger than the task's streaming SVE vector length, this may read memory outside of the task's allocated sve_state, reading unrelated data and/or triggering a fault.

While this can result in secrets being loaded into streaming SVE registers, these values are never exposed. As TIF_SME is clear, fpsimd_bind_task_to_cpu() will configure CPACR_ELx.SMEN to trap EL0 accesses to streaming mode SVE registers, so these cannot be accessed directly at EL0. As fpsimd_save_user_state() verifies the live vector length before saving (S)SVE state to memory, no secret values can be saved back to memory (and hence cannot be observed via ptrace, signals, etc).

When the live vector length doesn't match the expected vector length for the task, fpsimd_save_user_state() will send a fatal SIGKILL signal to the task. Hence the task may be killed after executing userspace for some period of time.

(2) Restoring a context with SVE_SIG_FLAG_SM clear does not clear the task's SVCR.SM. If SVCR.SM was set prior to restoring the context, then the task will be left in streaming mode unexpectedly, and some register state will be combined inconsistently, though the task will be left in legitimate state from the kernel's PoV.

This can only occur in unusual (but legitimate) cases where ptrace has been used to set SVCR.SM after entry to the sigreturn syscall, as syscall entry clears SVCR.SM.

In these cases, the the provided SVE register data will be loaded into the task's sve_state using the non-streaming SVE vector length and the FPSIMD registers will be merged into this using the streaming SVE vector length.

Fix (1) by setting TIF_SME when setting SVCR.SM. This also requires ensuring that the task's sme_state has been allocated, but as this could contain live ZA state, it should not be zeroed. Fix (2) by clearing SVCR.SM when restoring a SVE signal context with SVE_SIG_FLAG_SM clear.

For consistency, I've pulled the manipulation of SVCR, TIF_SVE, TIF_SME, and fp_type earlier, immediately after the allocation of sve_state/sme_state, before the restore of the actual register state. This makes it easier to ensure that these are always modified consistently, even if a fault is taken while reading the register data from the signal context. I do not expect any software to depend on the exact state restored when a fault is taken while reading the context.

CVSS v3
7.1
EG Score
7.1(medium)
EG Risk
36(Track)
EG Risk 36/100SSVC: Track

EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).

How it’s computed
Severity71% × 45%
Exploitation0% × 40%
Automatability30% × 15%
Action: Routine — remediate on your standard cadence.
EPSS PROB
0%
EPSS %ILE
2%
KEV
Not listed

Published

February 4, 2026

Last Modified

June 17, 2026

Patch Availability(8)

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(1)

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

All Vendor Advisories

(7)

Data Freshness Timeline

(refreshed 6× in last 7d / 39× 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 107 total refreshes for this CVE.

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

Frequently asked(5)

What is CVE-2026-23102?
CVE-2026-23102 is a high vulnerability published on February 4, 2026. In the Linux kernel, the following vulnerability has been resolved: arm64/fpsimd: signal: Fix restoration of SVE context When SME is supported, Restoring SVE signal context can go wrong in a few ways, including placing the task into an invalid state where the kernel may read from out-of-bounds…
When was CVE-2026-23102 disclosed?
CVE-2026-23102 was first published in the National Vulnerability Database on February 4, 2026, with the most recent update on June 17, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-23102 actively exploited?
CVE-2026-23102 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 0% probability of exploitation in the next 30 days, which ranks it in the top 98.1% of all scored CVEs.
What is the CVSS score of CVE-2026-23102?
CVE-2026-23102 has a CVSS v3 base score of 7.1 (NVD).
How do I remediate CVE-2026-23102?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2026-23102, 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-23102

Explore →

Is Your Infrastructure Affected by CVE-2026-23102?

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