CVE-2026-90211 (GCVE-0-2026-90211)
Vulnerability from cvelistv5
Published
2026-09-17 16:07
Modified
2026-10-19 08:59
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: bpf, s390: Clear fetch destination on faulting arena atomic Same missing register clear as on riscv64. A RMW atomic on an arena pointer is converted to BPF_PROBE_ATOMIC and gets an exception table entry, but bpf_jit_probe_atomic_pre() only fills in the arena base and the probe offset, leaving probe->reg at the -1 that bpf_jit_probe_init() set, which bpf_jit_probe_post() writes into the entry and ex_handler_bpf() then reads back as "there is nothing to clear". That is right for a plain BPF_{ADD,AND,OR,XOR}, which only writes memory, but an RMW carrying BPF_FETCH also reads the old value into a register: src_reg for BPF_{ADD,AND,OR,XOR} | BPF_FETCH and BPF_XCHG, and r0 for BPF_CMPXCHG. So on a fault over an unmapped arena page the program resumes at the landing pad with whatever that register held before the atomic instead of the 0 that every other BPF_PROBE_* access delivers. Fill probe->reg in from bpf_atomic_load_reg(). Unlike x86-64 and arm64, s390x does not report arena violations from its exception handler, so there is no access direction to correct here, only the missing register clear.
Impacted products
Vendor Product Version
Linux Linux Version: 2f9469484a3b52c66b799de73bd1ca75617bc8d5
Version: 2f9469484a3b52c66b799de73bd1ca75617bc8d5
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "arch/s390/net/bpf_jit_comp.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "44b702fceb4cf3a4ddbfb496f487b034814bf1a3",
              "status": "affected",
              "version": "2f9469484a3b52c66b799de73bd1ca75617bc8d5",
              "versionType": "git"
            },
            {
              "lessThan": "cc3e12330599f097f0e1f792435686ddc276f26d",
              "status": "affected",
              "version": "2f9469484a3b52c66b799de73bd1ca75617bc8d5",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "arch/s390/net/bpf_jit_comp.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.11"
            },
            {
              "lessThan": "6.11",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.6",
              "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.6",
                  "versionStartIncluding": "6.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3",
                  "versionStartIncluding": "6.11",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbpf, s390: Clear fetch destination on faulting arena atomic\n\nSame missing register clear as on riscv64. A RMW atomic on an arena pointer\nis converted to BPF_PROBE_ATOMIC and gets an exception table entry, but\nbpf_jit_probe_atomic_pre() only fills in the arena base and the probe\noffset, leaving probe-\u003ereg at the -1 that bpf_jit_probe_init() set, which\nbpf_jit_probe_post() writes into the entry and ex_handler_bpf() then reads\nback as \"there is nothing to clear\".\n\nThat is right for a plain BPF_{ADD,AND,OR,XOR}, which only writes memory,\nbut an RMW carrying BPF_FETCH also reads the old value into a register:\nsrc_reg for BPF_{ADD,AND,OR,XOR} | BPF_FETCH and BPF_XCHG, and r0 for\nBPF_CMPXCHG. So on a fault over an unmapped arena page the program resumes\nat the landing pad with whatever that register held before the atomic\ninstead of the 0 that every other BPF_PROBE_* access delivers.\n\nFill probe-\u003ereg in from bpf_atomic_load_reg(). Unlike x86-64 and arm64,\ns390x does not report arena violations from its exception handler, so there\nis no access direction to correct here, only the missing register clear."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-10-19T08:59:47.377Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/44b702fceb4cf3a4ddbfb496f487b034814bf1a3"
        },
        {
          "url": "https://git.kernel.org/stable/c/cc3e12330599f097f0e1f792435686ddc276f26d"
        }
      ],
      "title": "bpf, s390: Clear fetch destination on faulting arena atomic",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-90211",
    "datePublished": "2026-09-17T16:07:25.454Z",
    "dateReserved": "2026-09-11T19:38:34.793Z",
    "dateUpdated": "2026-10-19T08:59:47.377Z",
    "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…