Lucene search

K
cvelistLinuxCVELIST:CVE-2024-26591
HistoryFeb 22, 2024 - 4:21 p.m.

CVE-2024-26591 bpf: Fix re-attachment branch in bpf_tracing_prog_attach

2024-02-2216:21:43
Linux
www.cve.org
1
linux kernel
vulnerability resolved
crash
missing attach_btf
null pointer dereference
bpf_tracing_prog_attach
cve

6.2 Medium

AI Score

Confidence

High

0.0004 Low

EPSS

Percentile

5.2%

In the Linux kernel, the following vulnerability has been resolved:

bpf: Fix re-attachment branch in bpf_tracing_prog_attach

The following case can cause a crash due to missing attach_btf:

  1. load rawtp program
  2. load fentry program with rawtp as target_fd
  3. create tracing link for fentry program with target_fd = 0
  4. repeat 3

In the end we have:

  • prog->aux->dst_trampoline == NULL

  • tgt_prog == NULL (because we did not provide target_fd to link_create)

  • prog->aux->attach_btf == NULL (the program was loaded with attach_prog_fd=X)

  • the program was loaded for tgt_prog but we have no way to find out which one

    BUG: kernel NULL pointer dereference, address: 0000000000000058
    Call Trace:
    <TASK>
    ? __die+0x20/0x70
    ? page_fault_oops+0x15b/0x430
    ? fixup_exception+0x22/0x330
    ? exc_page_fault+0x6f/0x170
    ? asm_exc_page_fault+0x22/0x30
    ? bpf_tracing_prog_attach+0x279/0x560
    ? btf_obj_id+0x5/0x10
    bpf_tracing_prog_attach+0x439/0x560
    __sys_bpf+0x1cf4/0x2de0
    __x64_sys_bpf+0x1c/0x30
    do_syscall_64+0x41/0xf0
    entry_SYSCALL_64_after_hwframe+0x6e/0x76

Return -EINVAL in this situation.

CNA Affected

[
  {
    "product": "Linux",
    "vendor": "Linux",
    "defaultStatus": "unaffected",
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "programFiles": [
      "kernel/bpf/syscall.c"
    ],
    "versions": [
      {
        "version": "f3a95075549e",
        "lessThan": "a7b98aa10f89",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "f3a95075549e",
        "lessThan": "6cc9c0af0aa0",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "f3a95075549e",
        "lessThan": "8c8bcd45e9b1",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "f3a95075549e",
        "lessThan": "50ae82f080cf",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "f3a95075549e",
        "lessThan": "715d82ba636c",
        "status": "affected",
        "versionType": "git"
      }
    ]
  },
  {
    "product": "Linux",
    "vendor": "Linux",
    "defaultStatus": "affected",
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "programFiles": [
      "kernel/bpf/syscall.c"
    ],
    "versions": [
      {
        "version": "5.13",
        "status": "affected"
      },
      {
        "version": "0",
        "lessThan": "5.13",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "5.15.148",
        "lessThanOrEqual": "5.15.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.1.75",
        "lessThanOrEqual": "6.1.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.6.14",
        "lessThanOrEqual": "6.6.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.7.2",
        "lessThanOrEqual": "6.7.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.8",
        "lessThanOrEqual": "*",
        "status": "unaffected",
        "versionType": "original_commit_for_fix"
      }
    ]
  }
]

6.2 Medium

AI Score

Confidence

High

0.0004 Low

EPSS

Percentile

5.2%