CVE-2026-89905 (GCVE-0-2026-89905)
Vulnerability from cvelistv5
Published
2026-09-16 10:32
Modified
2026-10-19 08:54
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: LoongArch: BPF: Move arena register slot below TCC context Currently, the stack layout places the optional arena register slot above the tail call counter context. When arena_vm_start is dynamically enabled, it shifts the relative offset of the tcc_ptr slot within the stack frame, causing hardcoded tracking macros to mismatch and leading to memory misalignment or corruption potentially. To fix this, move the arena register save and restore sequences below the tail call counter context slots in both build_prologue() and the epilogue. Update __build_epilogue() to insert a proper offset decrement to safely skip the unneeded tcc_ptr reading block while accurately aligning with the relocated arena slot at the very bottom. With this patch, the tcc_ptr slot is always positioned at a fixed distance directly underneath the base callee-saved registers that is independent of whether the arena features are on.
Impacted products
Vendor Product Version
Linux Linux Version: ef54c517a9376b188da06b5e1ed556129c4280be
Version: ef54c517a9376b188da06b5e1ed556129c4280be
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "arch/loongarch/net/bpf_jit.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "f0e4d069cb47cf4f8dc4f6bc104e0671155aa3b9",
              "status": "affected",
              "version": "ef54c517a9376b188da06b5e1ed556129c4280be",
              "versionType": "git"
            },
            {
              "lessThan": "cd7e356b07a27e91394838cf3fb655862b519294",
              "status": "affected",
              "version": "ef54c517a9376b188da06b5e1ed556129c4280be",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "arch/loongarch/net/bpf_jit.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "7.0"
            },
            {
              "lessThan": "7.0",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.5",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.3",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.5",
                  "versionStartIncluding": "7.0",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3",
                  "versionStartIncluding": "7.0",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nLoongArch: BPF: Move arena register slot below TCC context\n\nCurrently, the stack layout places the optional arena register slot\nabove the tail call counter context. When arena_vm_start is dynamically\nenabled, it shifts the relative offset of the tcc_ptr slot within the\nstack frame, causing hardcoded tracking macros to mismatch and leading\nto memory misalignment or corruption potentially.\n\nTo fix this, move the arena register save and restore sequences below\nthe tail call counter context slots in both build_prologue() and the\nepilogue.\n\nUpdate __build_epilogue() to insert a proper offset decrement to safely\nskip the unneeded tcc_ptr reading block while accurately aligning with\nthe relocated arena slot at the very bottom.\n\nWith this patch, the tcc_ptr slot is always positioned at a fixed\ndistance directly underneath the base callee-saved registers that is\nindependent of whether the arena features are on."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-10-19T08:54:37.983Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/f0e4d069cb47cf4f8dc4f6bc104e0671155aa3b9"
        },
        {
          "url": "https://git.kernel.org/stable/c/cd7e356b07a27e91394838cf3fb655862b519294"
        }
      ],
      "title": "LoongArch: BPF: Move arena register slot below TCC context",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-89905",
    "datePublished": "2026-09-16T10:32:04.470Z",
    "dateReserved": "2026-09-11T19:38:34.774Z",
    "dateUpdated": "2026-10-19T08:54:37.983Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…