CVE-2026-53031 (GCVE-0-2026-53031)

Vulnerability from cvelistv5 – Published: 2026-06-24 16:29 – Updated: 2026-08-05 12:32
VLAI
Title
bpf: Validate node_id in arena_alloc_pages()
Summary
In the Linux kernel, the following vulnerability has been resolved: bpf: Validate node_id in arena_alloc_pages() arena_alloc_pages() accepts a plain int node_id and forwards it through the entire allocation chain without any bounds checking. Validate node_id before passing it down the allocation chain in arena_alloc_pages().
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 317460317a02a1af512697e6e964298dedd8a163 , < 31d3b4b28e55835646d6829d60023f730dd34e85 (git)
Affected: 317460317a02a1af512697e6e964298dedd8a163 , < e15900888c09480a4c632bc598f1c5bd39bed6d6 (git)
Affected: 317460317a02a1af512697e6e964298dedd8a163 , < fb66e20130f95a93ffea1677252526a9e39170b2 (git)
Affected: 317460317a02a1af512697e6e964298dedd8a163 , < 2845989f2ebaf7848e4eccf9a779daf3156ea0a5 (git)
guessed Create a notification for this product.
Linux Linux Affected: 6.9
Unaffected: 0 , < 6.9 (semver)
Unaffected: 6.12.91 , ≤ 6.12.* (semver)
Unaffected: 6.18.33 , ≤ 6.18.* (semver)
Unaffected: 7.0.10 , ≤ 7.0.* (semver)
Unaffected: 7.1 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "kernel/bpf/arena.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "31d3b4b28e55835646d6829d60023f730dd34e85",
              "status": "affected",
              "version": "317460317a02a1af512697e6e964298dedd8a163",
              "versionType": "git"
            },
            {
              "lessThan": "e15900888c09480a4c632bc598f1c5bd39bed6d6",
              "status": "affected",
              "version": "317460317a02a1af512697e6e964298dedd8a163",
              "versionType": "git"
            },
            {
              "lessThan": "fb66e20130f95a93ffea1677252526a9e39170b2",
              "status": "affected",
              "version": "317460317a02a1af512697e6e964298dedd8a163",
              "versionType": "git"
            },
            {
              "lessThan": "2845989f2ebaf7848e4eccf9a779daf3156ea0a5",
              "status": "affected",
              "version": "317460317a02a1af512697e6e964298dedd8a163",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "kernel/bpf/arena.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.9"
            },
            {
              "lessThan": "6.9",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.91",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.33",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.0.*",
              "status": "unaffected",
              "version": "7.0.10",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.91",
                  "versionStartIncluding": "6.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.33",
                  "versionStartIncluding": "6.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.0.10",
                  "versionStartIncluding": "6.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1",
                  "versionStartIncluding": "6.9",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Validate node_id in arena_alloc_pages()\n\narena_alloc_pages() accepts a plain int node_id and forwards it through\nthe entire allocation chain without any bounds checking.\n\nValidate node_id before passing it down the allocation chain in\narena_alloc_pages()."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - An attacker must use local BPF syscalls to create/use a BPF arena map and load/execute a BPF program that calls the arena kfunc. The vulnerable path is not reachable directly from network, adjacent, or physical input.\nAC:L - The attacker directly controls the `node_id` argument passed to `bpf_arena_alloc_pages()` and can repeatedly trigger the BPF program. No race or external condition is required.\nPR:L - Using BPF arena requires BPF privileges (`CAP_BPF` and `CAP_PERFMON`) or a delegated BPF token, which can be available to a namespaced/container user in a reasonable deployment. Under the required higher-severity tie-break rule, this is scored as low rather than high privilege.\nUI:N - No victim action is required after the attacker has local ability to load and run the BPF program. The attacker can trigger the kfunc directly through BPF execution.\nS:U - The vulnerable component and impacted resource are both the local kernel. This is standard local kernel compromise/DoS scope, not a VM or hardware boundary crossing.\nC:H - The unchecked `node_id` flows into NUMA allocator metadata lookup (`NODE_DATA`/zonelists), creating out-of-bounds or invalid kernel memory access rather than a bounded harmless failure. Under the higher-severity rule, allocator metadata misuse is treated as potentially enabling high-impact information disclosure.\nI:H - Invalid NUMA allocator state can cause the page allocator to operate on bogus per-node/zone structures, which can plausibly corrupt kernel allocator state. Under the higher-severity rule, this is scored as potential high-integrity kernel memory corruption.\nA:H - Invalid negative, out-of-range, or offline node IDs can hit allocator assertions, NULL/invalid dereferences, or corrupted zonelist traversal, causing an oops/panic. The attacker can trigger this repeatedly from the malicious BPF program."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T12:32:45.100Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/31d3b4b28e55835646d6829d60023f730dd34e85"
        },
        {
          "url": "https://git.kernel.org/stable/c/e15900888c09480a4c632bc598f1c5bd39bed6d6"
        },
        {
          "url": "https://git.kernel.org/stable/c/fb66e20130f95a93ffea1677252526a9e39170b2"
        },
        {
          "url": "https://git.kernel.org/stable/c/2845989f2ebaf7848e4eccf9a779daf3156ea0a5"
        }
      ],
      "title": "bpf: Validate node_id in arena_alloc_pages()",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-53031",
    "datePublished": "2026-06-24T16:29:39.043Z",
    "dateReserved": "2026-06-09T07:44:35.380Z",
    "dateUpdated": "2026-08-05T12:32:45.100Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-53031",
      "date": "2026-09-21",
      "epss": "0.00129",
      "percentile": "0.02864"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "kernel/bpf/arena.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "31d3b4b28e55835646d6829d60023f730dd34e85",
                    "status": "affected",
                    "version": "317460317a02a1af512697e6e964298dedd8a163",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "e15900888c09480a4c632bc598f1c5bd39bed6d6",
                    "status": "affected",
                    "version": "317460317a02a1af512697e6e964298dedd8a163",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "fb66e20130f95a93ffea1677252526a9e39170b2",
                    "status": "affected",
                    "version": "317460317a02a1af512697e6e964298dedd8a163",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "2845989f2ebaf7848e4eccf9a779daf3156ea0a5",
                    "status": "affected",
                    "version": "317460317a02a1af512697e6e964298dedd8a163",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "kernel/bpf/arena.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "6.9"
                  },
                  {
                    "lessThan": "6.9",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.12.*",
                    "status": "unaffected",
                    "version": "6.12.91",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.33",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.0.*",
                    "status": "unaffected",
                    "version": "7.0.10",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.1",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "configurations": [
          {
            "nodes": [
              {
                "cpeMatch": [
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "FBD648B5-4A2C-4DEB-BE8A-899BDECAED29",
                    "versionEndExcluding": "6.12.91",
                    "versionStartIncluding": "6.9",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "96D99E49-380D-43AB-BDBA-25C3AD018A9C",
                    "versionEndExcluding": "6.18.33",
                    "versionStartIncluding": "6.13",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "A13475D2-59BF-4716-94B5-7C1D239A2CF4",
                    "versionEndExcluding": "7.0.10",
                    "versionStartIncluding": "6.19",
                    "vulnerable": true
                  }
                ],
                "negate": false,
                "operator": "OR"
              }
            ]
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Validate node_id in arena_alloc_pages()\n\narena_alloc_pages() accepts a plain int node_id and forwards it through\nthe entire allocation chain without any bounds checking.\n\nValidate node_id before passing it down the allocation chain in\narena_alloc_pages()."
          }
        ],
        "id": "CVE-2026-53031",
        "lastModified": "2026-07-15T14:37:47.287",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 7.8,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 1.8,
              "impactScore": 5.9,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            }
          ]
        },
        "published": "2026-06-24T17:17:14.490",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/2845989f2ebaf7848e4eccf9a779daf3156ea0a5"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/31d3b4b28e55835646d6829d60023f730dd34e85"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/e15900888c09480a4c632bc598f1c5bd39bed6d6"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/fb66e20130f95a93ffea1677252526a9e39170b2"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Analyzed",
        "weaknesses": [
          {
            "description": [
              {
                "lang": "en",
                "value": "NVD-CWE-noinfo"
              }
            ],
            "source": "nvd@nist.gov",
            "type": "Primary"
          }
        ]
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-12T20:58:45+00:00",
      "cve": "CVE-2026-53031",
      "id": "CVE-2026-53031",
      "initial_release_date": "2026-06-24T00:00:00+00:00",
      "product_status:known_affected": "184",
      "product_status:known_not_affected": "90",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: bpf: Validate node_id in arena_alloc_pages()",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-53031.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-09-10T02:41:29Z",
      "cve": "CVE-2026-53031",
      "id": "CVE-2026-53031",
      "initial_release_date": "2026-06-27T01:54:47Z",
      "product_status:known_affected": "17",
      "product_status:known_not_affected": "370",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-53031",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-53031.json",
      "version": "4"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…