CVE-2022-49873

bpf: Fix wrong reg type conversion in release_reference()

Medium · published May 1, 2025

CVSS v3.1
5.5
EPSS
0%
Percentile
11.3
In the wild
Unconfirmed
What it is

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

bpf: Fix wrong reg type conversion in release_reference()

Some helper functions will allocate memory. To avoid memory leaks, the

verifier requires the eBPF program to release these memories by calling

the corresponding helper functions.

When a resource is released, all pointer registers corresponding to the

resource should be invalidated. The verifier use release_references() to

do this job, by apply __mark_reg_unknown() to each relevant register.

It will give these registers the type of SCALAR_VALUE. A register that

will contain a pointer value at runtime, but of type SCALAR_VALUE, which

may allow the unprivileged user to get a kernel pointer by storing this

register into a map.

Using __mark_reg_not_init() while NOT allow_ptr_leaks can mitigate this

problem.

The record
Technical detail
CVSS v3.1
5.5 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00215 · 11.3th percentile
Published
2025-05-01T14:10Z
EPSS history
Timeline
  • 01 MAY 14:10Z
    bpf: Fix wrong reg type conversion in release_reference()
    cvelistv5