s2
--:--:--UTC

Searching APEX

Starting…

  1. ○ Searching Threats, IOCs & Threat Intelligence locally
  2. ○ Querying external providers
  3. ○ Asking AI Forensic Validator
  4. ○ Creating new entry from validated hit

0s elapsed

CVE-2026-45839

📛 CVE Title

bpf: reject negative CO-RE accessor indices in bpf_core_parse_spec()

Description

In the Linux kernel, the following vulnerability has been resolved: bpf: reject negative CO-RE accessor indices in bpf_core_parse_spec() CO-RE accessor strings are colon-separated indices that describe a path from a root BTF type to a target field, e.g. "0:1:2" walks through nested struct members. bpf_core_parse_spec() parses each component with sscanf("%d"), so negative values like -1 are silently accepted. The subsequent bounds checks (access_idx >= btf_vlen(t)) only guard the upper bound and always pass for negative values because C integer promotion converts the __u16 btf_vlen result to int, making the comparison (int)(-1) >= (int)(N) false for any positive N. When -1 reaches btf_member_bit_offset() it gets cast to u32 0xffffffff, producing an out-of-bounds read far past the members array. A crafted BPF program with a negative CO-RE accessor on any struct that exists in vmlinux BTF (e.g. task_struct) crashes the kernel deterministically during BPF_PROG_LOAD on any system with CONFIG_DEBUG_INFO_BTF=y (default on major distributions). The bug is reachable with CAP_BPF: BUG: unable to handle page fault for address: ffffed11818b6626 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page Oops: Oops: 0000 [#1] SMP KASAN NOPTI CPU: 0 UID: 0 PID: 85 Comm: poc Not tainted 7.0.0-rc6 #18 PREEMPT(full) RIP: 0010:bpf_core_parse_spec (tools/lib/bpf/relo_core.c:354) RAX: 00000000ffffffff Call Trace: <TASK> bpf_core_calc_relo_insn (tools/lib/bpf/relo_core.c:1321) bpf_core_apply (kernel/bpf/btf.c:9507) check_core_relo (kernel/bpf/verifier.c:19475) bpf_check (kernel/bpf/verifier.c:26031) bpf_prog_load (kernel/bpf/syscall.c:3089) __sys_bpf (kernel/bpf/syscall.c:6228) </TASK> CO-RE accessor indices are inherently non-negative (struct member index, array element index, or enumerator index), so reject them immediately after parsing.

Overview

State
PUBLISHED
Assigner (CNA)
Linux
CVSS severity
high
CVSS score
CVSS 7.1 / 10 7.1 7.1 / 10
CVSS vector
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
Effective score
7.1 / 10 HIGH source: CNA overview
MSRC score
7.1 / 10 HIGH MS rating: Moderate
CWE(s)
—
Reserved
2026-05-13
Published
2026-05-27 09:24 UTC
Last updated
2026-06-01 16:16 UTC
Source
https://raw.githubusercontent.com/CVEProject/cvelistV5/main/cves/2026/45xxx/CVE-2026-45839.json
Linked Threat
CVE-2026-45839 — CVE-2026-45839

NVD triage scoring NVD CVE 2.0

Layer NVD adds on top of the CNA's CVE record — published / last-modified timestamps, exploitability / impact subscores, and the FIRST.org EPSS probability that this CVE will be exploited in the wild in the next 30 days.

NVD published
2026-05-27 11:16:23 UTC
NVD last modified
2026-06-26 19:08:05 UTC
NVD CVSS v3.1
CVSS 7.8 / 10 7.8 7.8 / 10 HIGH source: nvd@nist.gov
NVD CVSS vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Exploitability subscore
1.8 / 10
Impact subscore
5.9 / 10
EPSS score
0.0013 (probability of exploitation in next 30 days)
EPSS percentile
3.24% vs all CVEs — higher = more likely to be exploited, as of 2026-07-26

NVD-assigned CWE(s): CWE-129 (differs from the CNA list above)

NVD / KEV / EPSS data refreshed 2026-07-27 10:55 UTC. Re-run the 🛰 Backfill from NVD button above to refresh.

European Union Vulnerability Database ENISA EUVD

ENISA's official EU repository for curated vulnerability intelligence. Carries a separate identifier (EUVD-YYYY-NNNN) and frequently exposes an earlier-published description + CVSS than NVD does.

EUVD ID
EUVD-2026-32165
Assigner
Linux
Published
May 27, 2026, 9:24:37 AM
Updated
Jun 14, 2026, 5:46:08 PM
EUVD base score
0.0 / 10
EUVD-reported EPSS
0.1300
Vendors
Linux
Products
Linux (ddc7c3042614e273044f698d2beab25cc3842d45 <99dbab7b5a12d8f58d5b0aa2f7a1fe656a70f4b2)
Linux (ddc7c3042614e273044f698d2beab25cc3842d45 <1c22483a2c4bbf747787f328392ca3e68619c4dc)
Linux (ddc7c3042614e273044f698d2beab25cc3842d45 <36a9012f76ba8d9189ae56a1f8bb7c87c07a1f3a)
Linux (patch: 5.15.209)
Linux (5.4)
Linux (ddc7c3042614e273044f698d2beab25cc3842d45 <3ff85ae79e1a74baeb916b78a63d821f6d19a994)
Linux (patch: 6.12.91)
Linux (patch: 6.18.33)
Linux (patch: 0)
Linux (ddc7c3042614e273044f698d2beab25cc3842d45 <669349b4612c26b3d7aacfa99d7174681bd19223)
Linux (patch: 6.1.175)
Linux (patch: 7.0.10)
Linux (ddc7c3042614e273044f698d2beab25cc3842d45 <a9e777f856cd2f1efc106afc7bf21aef868509d5)
Linux (ddc7c3042614e273044f698d2beab25cc3842d45 <76f2ebaf79a9ae6d0737b87f045fe769e425d78f)
Linux (patch: 7.1)
Linux (patch: 6.6.141)
Aliases
GHSA-hj8v-m57h-q9mq

ENISA description: In the Linux kernel, the following vulnerability has been resolved: bpf: reject negative CO-RE accessor indices in bpf_core_parse_spec() CO-RE accessor strings are colon-separated indices that describe a path from a root BTF type to a target field, e.g. "0:1:2" walks through nested struct members. bpf_core_parse_spec() parses each component with sscanf("%d"), so negative values like -1 are silently accepted. The subsequent bounds checks (access_idx >= btf_vlen(t)) only guard the upper bound and always pass for negative values because C integer promotion converts the __u16 btf_vlen result to int, making the comparison (int)(-1) >= (int)(N) false for any positive N. When -1 reaches btf_member_bit_offset() it gets cast to u32 0xffffffff, producing an out-of-bounds read far past the members array. A crafted BPF program with a negative CO-RE accessor on any struct that exists in vmlinux BTF (e.g. task_struct) crashes the kernel deterministically during BPF_PROG_LOAD on any system with CONFIG_DEBUG_INFO_BTF=y (default on major distributions). The bug is reachable with CAP_BPF: BUG: unable to handle page fault for address: ffffed11818b6626 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page Oops: Oops: 0000 [#1] SMP KASAN NOPTI CPU: 0 UID: 0 PID: 85 Comm: poc Not tainted 7.0.0-rc6 #18 PREEMPT(full) RIP: 0010:bpf_core_parse_spec (tools/lib/bpf/relo_core.c:354) RAX: 00000000ffffffff Call Trace: <TASK> bpf_core_calc_relo_insn (tools/lib/bpf/relo_core.c:1321) bpf_core_apply (kernel/bpf/btf.c:9507) check_core_relo (kernel/bpf/verifier.c:19475) bpf_check (kernel/bpf/verifier.c:26031) bpf_prog_load (kernel/bpf/syscall.c:3089) __sys_bpf (kernel/bpf/syscall.c:6228) </TASK> CO-RE accessor indices are inherently non-negative (struct member index, array element index, or enumerator index), so reject them immediately after parsing.

EUVD references (7)

Microsoft Security Response Center MSRC

Microsoft's vendor-authoritative record from the Security Update Guide — its own CVSS score, impact, severity rating, exploit assessment, and KB-article fixes. Refreshed 2026-09-25 03:07 UTC (source: CVRF).

MS severity
Moderate
MS CVSS base score
7.1 / 10 (temporal 6.5)
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H/E:U
Release
2026-May
Microsoft remediations / KB articles (2)

Affected products (2)

VendorProductVersionsPlatforms
Linux Linux ddc7c3042614e273044f698d2beab25cc3842d45 (affected), ddc7c3042614e273044f698d2beab25cc3842d45 (affected), ddc7c3042614e273044f698d2beab25cc3842d45 (affected), ddc7c3042614e273044f698d2beab25cc3842d45 (affected), ddc7c3042614e273044f698d2beab25cc3842d45 (affected), ddc7c3042614e273044f698d2beab25cc3842d45 (affected), ddc7c3042614e273044f698d2beab25cc3842d45 (affected) —
Linux Linux 5.4 (affected), 0 (unaffected), 5.15.209 (unaffected), 6.1.175 (unaffected), 6.6.141 (unaffected), 6.12.91 (unaffected), 6.18.33 (unaffected), 7.0.10 (unaffected), 7.1-rc1 (unaffected) —

Affected products — CPE 2.3 (1) NVD

NVD's normalized CPE 2.3 matchers, used by vendor tools (vulnerability scanners, asset managers) for automated detection. Compare with the CNA's free-text "Affected products" section above.

  • cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

Vendor references (7)

References embedded in the original CVE record by the assigning CNA.

Web references (12)

DuckDuckGo results ranked by threat-intel / vendor advisory domains. Generated by the 🔎 Find references (web) button above — same flow as the Remediations search.

NVD-tagged references (7)

Reference list NVD curates from the CNA record, vendor advisories, and third-party reports. The tag chips below are NVD's analyst-assigned categories.

Remediations (18)

Remediations are stored against the linked Threat row; the list below is deduplicated across both pages.

  • web:0patch.com

    Fixing what's really important. The goal of 0patch is not to micropatch every vulnerability but the important ones, such as those exploited in the wild or those without official vendor patches. These are some of our most popular micropatches.

    2026-06-04 00:17 UTC
  • web:bitninja.com

    Discover the CVE - 2026 -46839 vulnerability in Oracle REST Services. Learn risks, mitigation strategies, and protect your server today!

    2026-06-04 00:17 UTC
  • web:jumpcloud.com

    Master patch compliance with this technical guide covering vulnerability scanning, deployment processes, key metrics, and remediation best practices.

    2026-06-04 00:17 UTC
  • web:portal.msrc.microsoft.com

    The Security Update Guide provides information on the latest Microsoft security updates, helping users understand and address potential vulnerabilities effectively.

    2026-06-04 00:17 UTC
  • web:redis.io

    What are the vulnerabilities? CVE‑2026‑23479 - Use-After-Free in unblock client flow may lead to Remote Code Execution. CVSS Score: 7.7 (High) When a blocked client is evicted while re-executing a blocked command, an authenticated user may trigger a use-after-free and potentially lead to remote code execution. The code doesn't handle the case where processing the command ...

    2026-06-04 00:17 UTC
  • web:securityboulevard.com

    Cybersecurity vulnerabilities pose significant risks to organizations in today's digital landscape. Left unaddressed, these vulnerabilities can lead to data breaches, financial losses, and reputational damage. Organizations must decide how to tackle vulnerabilities—through remediation , mitigation , or a combination of both. But which strategy is more effective? This blog explores the ...

    2026-06-04 00:17 UTC
  • web:www.cisa.gov

    Fortinet Releases Guidance to Address Ongoing Exploitation of Authentication Bypass Vulnerability CVE - 2026 -24858

    2026-06-04 00:17 UTC
  • web:www.cve.org

    At cve .org, we provide the authoritative reference method for publicly known information-security vulnerabilities and exposures

    2026-06-04 00:17 UTC
  • web:www.oracle.com

    This Critical Patch Update contains 481 new security patches across the product families listed below. Please note that an MOS note summarizing the content of this Critical Patch Update and other Oracle Software Security Assurance activities is located at April 2026 Critical Patch Update: Executive Summary and Analysis.

    2026-06-04 00:17 UTC
  • web:zecurit.com

    Get the complete breakdown of Microsoft's June 2026 Patch Tuesday. We analyze the latest security updates and all critical CVEs .

    2026-06-04 00:17 UTC
  • web:app.opencve.io

    Remediation No vendor fix or workaround currently provided. OpenCVE Recommended Actions Acquire and apply the Microsoft security update for CVE - 2026 -45639 from the Microsoft update guide Upgrade or patch the Remote Desktop client and all Windows 10, 11, and Server 2012-2025 operating systems to versions that include the fix

    2026-06-19 02:27 UTC
  • web:nvd.nist.gov

    The NVD is the U.S. government repository of standards based vulnerability management data represented using the Security Content Automation Protocol (SCAP). This data enables automation of vulnerability management, security measurement, and compliance. The NVD includes databases of security checklist references, security-related software flaws, product names, and impact metrics. For ...

    2026-06-19 02:27 UTC
  • web:oradba.ch

    On April 21, 2026 , Oracle released the Critical Patch Update (CPU) for April 2026 — 481 new security fixes across the entire Oracle product stack. For Oracle Database, this means another round of mandatory patching. What makes this quarter unusual: several key Release Updates, including 19.31 and 23.26.2, were not available on release day and are delayed by up to a week or more.

    2026-06-19 02:27 UTC
  • web:support.microsoft.com

    Note: The fix for CVE - 2026 -45583 is not included in the Security Update, please follow the instructions mentioned in the CVE documentation to address this vulnerability.

    2026-06-19 02:27 UTC
  • web:www.computerworld.com

    Microsoft says it is considering a patch for a zero-day vulnerability, dubbed YellowKey, that allows attackers with access to a Windows device to bypass Bitlocker encryption protection and read ...

    2026-06-19 02:27 UTC
  • web:www.forbes.com

    Following the release of a BitLocker zero-day security bypass by a disgruntled hacker, Microsoft has now offered mitigation advice until a patch is available.

    2026-06-19 02:27 UTC
  • web:www.oracle.com

    This Critical Security Patch Update contains 35 new security patches across the product families listed below. Please note that an MOS note summarizing the content of this Critical Security Patch Update and other Oracle Software Security Assurance activities is located at May 2026 Critical Security Patch Update: Executive Summary and Analysis.

    2026-06-19 02:27 UTC
  • web:www.veeam.com

    When a vulnerability is identified, our team promptly develops a patch to address and mitigate the risk. In line with our dedication to transparency, we publicly disclose the vulnerability and provide detailed mitigation information.

    2026-06-19 02:27 UTC

AI Forensic Analysis

Only Available for Registered Users. Sign in to view.

Raw JSON

The full cvelistV5 record. Download as CVE-2026-45839.json.

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "tools/lib/bpf/relo_core.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "a9e777f856cd2f1efc106afc7bf21aef868509d5",
              "status": "affected",
              "version": "ddc7c3042614e273044f698d2beab25cc3842d45",
              "versionType": "git"
            },
            {
              "lessThan": "669349b4612c26b3d7aacfa99d7174681bd19223",
              "status": "affected",
              "version": "ddc7c3042614e273044f698d2beab25cc3842d45",
              "versionType": "git"
            },
            {
              "lessThan": "3ff85ae79e1a74baeb916b78a63d821f6d19a994",
              "status": "affected",
              "version": "ddc7c3042614e273044f698d2beab25cc3842d45",
              "versionType": "git"
            },
            {
              "lessThan": "36a9012f76ba8d9189ae56a1f8bb7c87c07a1f3a",
              "status": "affected",
              "version": "ddc7c3042614e273044f698d2beab25cc3842d45",
              "versionType": "git"
            },
            {
              "lessThan": "76f2ebaf79a9ae6d0737b87f045fe769e425d78f",
              "status": "affected",
              "version": "ddc7c3042614e273044f698d2beab25cc3842d45",
              "versionType": "git"
            },
            {
              "lessThan": "99dbab7b5a12d8f58d5b0aa2f7a1fe656a70f4b2",
              "status": "affected",
              "version": "ddc7c3042614e273044f698d2beab25cc3842d45",
              "versionType": "git"
            },
            {
              "lessThan": "1c22483a2c4bbf747787f328392ca3e68619c4dc",
              "status": "affected",
              "version": "ddc7c3042614e273044f698d2beab25cc3842d45",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "tools/lib/bpf/relo_core.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.4"
            },
            {
              "lessThan": "5.4",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.209",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.175",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.141",
              "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-rc1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.209",
                  "versionStartIncluding": "5.4",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.175",
                  "versionStartIncluding": "5.4",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.141",
                  "versionStartIncluding": "5.4",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.91",
                  "versionStartIncluding": "5.4",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.33",
                  "versionStartIncluding": "5.4",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.0.10",
                  "versionStartIncluding": "5.4",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1-rc1",
                  "versionStartIncluding": "5.4",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: reject negative CO-RE accessor indices in bpf_core_parse_spec()\n\nCO-RE accessor strings are colon-separated indices that describe a path\nfrom a root BTF type to a target field, e.g. \"0:1:2\" walks through\nnested struct members. bpf_core_parse_spec() parses each component with\nsscanf(\"%d\"), so negative values like -1 are silently accepted.  The\nsubsequent bounds checks (access_idx >= btf_vlen(t)) only guard the\nupper bound and always pass for negative values because C integer\npromotion converts the __u16 btf_vlen result to int, making the\ncomparison (int)(-1) >= (int)(N) false for any positive N.\n\nWhen -1 reaches btf_member_bit_offset() it gets cast to u32 0xffffffff,\nproducing an out-of-bounds read far past the members array.  A crafted\nBPF program with a negative CO-RE accessor on any struct that exists in\nvmlinux BTF (e.g. task_struct) crashes the kernel deterministically\nduring BPF_PROG_LOAD on any system with CONFIG_DEBUG_INFO_BTF=y\n(default on major distributions).  The bug is reachable with CAP_BPF:\n\n BUG: unable to handle page fault for address: ffffed11818b6626\n #PF: supervisor read access in kernel mode\n #PF: error_code(0x0000) - not-present page\n Oops: Oops: 0000 [#1] SMP KASAN NOPTI\n CPU: 0 UID: 0 PID: 85 Comm: poc Not tainted 7.0.0-rc6 #18 PREEMPT(full)\n RIP: 0010:bpf_core_parse_spec (tools/lib/bpf/relo_core.c:354)\n RAX: 00000000ffffffff\n Call Trace:\n  <TASK>\n  bpf_core_calc_relo_insn (tools/lib/bpf/relo_core.c:1321)\n  bpf_core_apply (kernel/bpf/btf.c:9507)\n  check_core_relo (kernel/bpf/verifier.c:19475)\n  bpf_check (kernel/bpf/verifier.c:26031)\n  bpf_prog_load (kernel/bpf/syscall.c:3089)\n  __sys_bpf (kernel/bpf/syscall.c:6228)\n  </TASK>\n\nCO-RE accessor indices are inherently non-negative (struct member index,\narray element index, or enumerator index), so reject them immediately\nafter parsing."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-06-01T16:16:22.399Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/a9e777f856cd2f1efc106afc7bf21aef868509d5"
        },
        {
          "url": "https://git.kernel.org/stable/c/669349b4612c26b3d7aacfa99d7174681bd19223"
        },
        {
          "url": "https://git.kernel.org/stable/c/3ff85ae79e1a74baeb916b78a63d821f6d19a994"
        },
        {
          "url": "https://git.kernel.org/stable/c/36a9012f76ba8d9189ae56a1f8bb7c87c07a1f3a"
        },
        {
          "url": "https://git.kernel.org/stable/c/76f2ebaf79a9ae6d0737b87f045fe769e425d78f"
        },
        {
          "url": "https://git.kernel.org/stable/c/99dbab7b5a12d8f58d5b0aa2f7a1fe656a70f4b2"
        },
        {
          "url": "https://git.kernel.org/stable/c/1c22483a2c4bbf747787f328392ca3e68619c4dc"
        }
      ],
      "title": "bpf: reject negative CO-RE accessor indices in bpf_core_parse_spec()",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-45839",
    "datePublished": "2026-05-27T09:24:37.855Z",
    "dateReserved": "2026-05-13T15:03:33.077Z",
    "dateUpdated": "2026-06-01T16:16:22.399Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}