{
  "cveId": "CVE-2026-23114",
  "url": "https://patchblox.com/security/cve/CVE-2026-23114",
  "summary": "CVE-2026-23114 is fixed in linux on 1 platform by DEBIAN-CVE-2026-23114 (version 6.18.8-1), released February 14, 2026. It is not reported as exploited. Patch Radar priority: Routine.",
  "title": "linux: In the Linux kernel, the following vulnerability has been resolved:  arm64/fpsimd: ptrace: Fix SVE writes on !SME sys...",
  "description": "In the Linux kernel, the following vulnerability has been resolved:  arm64/fpsimd: ptrace: Fix SVE writes on !SME systems  When SVE is supported but SME is not supported, a ptrace write to the NT_ARM_SVE regset can place the tracee into an invalid state where (non-streaming) SVE register data is stored in FP_STATE_SVE format but TIF_SVE is clear. This can result in a later warning from fpsimd_restore_current_state(), e.g.    WARNING: CPU: 0 PID: 7214 at arch/arm64/kernel/fpsimd.c:383 fpsimd_restore_current_state\u002B0x50c/0x748  When this happens, fpsimd_restore_current_state() will set TIF_SVE, placing the task into the correct state. This occurs before any other check of TIF_SVE can possibly occur, as other checks of TIF_SVE only happen while the FPSIMD/SVE/SME state is live. Thus, aside from the warning, there is no functional issue.  This bug was introduced during rework to error handling in commit:    9f8bf718f2923 (\u0022arm64/fpsimd: ptrace: Gracefully handle errors\u0022)  ... where the setting of TIF_SVE was moved into a block which is only executed when system_supports_sme() is true.  Fix this by removing the system_supports_sme() check. This ensures that TIF_SVE is set for (SVE-formatted) writes to NT_ARM_SVE, at the cost of unconditionally manipulating the tracee\u0027s saved svcr value. The manipulation of svcr is benign and inexpensive, and we already do similar elsewhere (e.g. during signal handling), so I don\u0027t think it\u0027s worth guarding this with system_supports_sme() checks.  Aside from the above, there is no functional change. The \u0027type\u0027 argument to sve_set_common() is only set to ARM64_VEC_SME (in ssve_set())) when system_supports_sme(), so the ARM64_VEC_SME case in the switch statement is still unreachable when !system_supports_sme(). When CONFIG_ARM64_SME=n, the only caller of sve_set_common() is sve_set(), and the compiler can constant-fold for the case where type is ARM64_VEC_SVE, removing the logic for other cases.",
  "published": "2026-02-14T15:16:06Z",
  "severity": "medium",
  "cvss": 5.5,
  "cvssVector": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
  "epss": 0.00117,
  "epssPercentile": 0.01682,
  "priority": "Routine",
  "priorityTier": 4,
  "exploited": false,
  "vendorExploited": false,
  "disclosed": false,
  "fixes": [
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 14",
      "fixedVersion": "6.18.8-1",
      "fix": "DEBIAN-CVE-2026-23114",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2026-23114",
      "released": "2026-02-14T15:16:06Z"
    }
  ],
  "noFixYet": [],
  "dataAsOf": "2026-11-09T01:18:40Z",
  "attribution": {
    "text": "Data: Patchblox Patch Radar",
    "url": "https://patchblox.com/security/patch-radar",
    "terms": "https://patchblox.com/security/patch-radar/use-the-data"
  }
}