Skip to content
Heist/ feed
High

bpf: Zeroing allocated object from slab in bpf memory allocator

Type: advisorySource: Official CVE List1 source record

In the Linux kernel, the following vulnerability has been resolved: bpf: Zeroing allocated object from slab in bpf memory allocator Currently the freed element in bpf memory allocator may be immediately reused, for htab map the reuse will reinitialize special fields in map value (e.g., bpf_spin_lock), but lookup procedure may still access these special fields, and it may lead to hard-lockup as shown below: NMI backtrace for cpu 16 CPU: 16 PID: 2574 Comm: htab.bin Tainted: G L 6.1.0+ #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), RIP: 0010:queued_spin_lock_slowpath+0x283/0x2c0 ...... Call Trace: copy_map_value_locked+0xb7/0x170 bpf_map_copy_value+0x113/0x3c0 __sys_bpf+0x1c67/0x2780 __x64_sys_bpf+0x1c/0x20 do_syscall_64+0x30/0x60 entry_SYSCALL_64_after_hwframe+0x46/0xb0 ...... For htab map, just like the preallocated case, these is no need to initialize these special fields in map value again once these fields have been initialized. For preallocated htab map, these fields are initialized through __GFP_ZERO in bpf_map_area_alloc(), so do the similar thing for non-preallocated htab in bpf memory allocator. And there is no need to use __GFP_ZERO for per-cpu bpf memory allocator, because __alloc_percpu_gfp() does it implicitly.

Announced Group revision 1
Original source ↗

CVE-2023-53790

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: cve:CVE-2023-53790

Linux

Source reference: /containers/cna/affected/0/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Linux

Source reference: /containers/cna/affected/1/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "0fd7c5d43339b783ee3301a05f925d1e52ac87c9",
        "lessThan": "678ea18d6240299fd77d7000c8b1d7e5f274c8af",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "0fd7c5d43339b783ee3301a05f925d1e52ac87c9",
        "lessThan": "5d447e04290e78bdc1a3a6c321320d384e09c2f1",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "0fd7c5d43339b783ee3301a05f925d1e52ac87c9",
        "lessThan": "997849c4b969034e225153f41026657def66d286",
        "versionType": "git"
      }
    ],
    "programFiles": [
      "include/linux/bpf.h",
      "kernel/bpf/hashtab.c",
      "kernel/bpf/memalloc.c"
    ],
    "defaultStatus": "unaffected"
  },
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "6.1"
      },
      {
        "status": "unaffected",
        "version": "0",
        "lessThan": "6.1",
        "versionType": "semver"
      },
      {
        "status": "unaffected",
        "version": "6.1.16",
        "versionType": "semver",
        "lessThanOrEqual": "6.1.*"
      },
      {
        "status": "unaffected",
        "version": "6.2.3",
        "versionType": "semver",
        "lessThanOrEqual": "6.2.*"
      },
      {
        "status": "unaffected",
        "version": "6.3",
        "versionType": "original_commit_for_fix",
        "lessThanOrEqual": "*"
      }
    ],
    "programFiles": [
      "include/linux/bpf.h",
      "kernel/bpf/hashtab.c",
      "kernel/bpf/memalloc.c"
    ],
    "defaultStatus": "affected"
  }
]
Related CVEs
CVE-2023-53790

Source reference: /cveMetadata/cveId

Publisher severity

high

Source reference: /containers/cna/metrics

Event
#30322 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement