In the Linux kernel, the following vulnerability has been resolved:
bpf: Use VMMAP instead of VMALLOC for ringbuf
After commit 2fd3fb0be1d1 ("kasan, vmalloc: unpoison VMALLOC pages after mapping"), non-VMALLOC mappings will be marked as accessible in _getvmareanode() when KASAN is enabled. But now the flag for ringbuf area is VMALLOC, so KASAN will complain out-of-bound access after vmap() returns. Because the ringbuf area is created by mapping allocated pages, so use VMMAP instead.
After the change, info in /proc/vmallocinfo also changes from [start]-[end] 24576 ringbufmapalloc+0x171/0x290 vmalloc user to [start]-[end] 24576 ringbufmapalloc+0x171/0x290 vmap user
{
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/blob/cc431b3424123d84bcd7afd4de150b33f117a8ef/cves/2022/48xxx/CVE-2022-48714.json"
}[
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d578933f6226d5419af9306746efa1c693cbaf9c",
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-48714-12b9bc4a",
"target": {
"function": "bpf_ringbuf_area_alloc",
"file": "kernel/bpf/ringbuf.c"
},
"digest": {
"function_hash": "103143424286519794538887788977220674000",
"length": 890.0
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5e457aeab52a5947619e1f18047f4d2f3212b3eb",
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-48714-27d398af",
"target": {
"function": "bpf_ringbuf_area_alloc",
"file": "kernel/bpf/ringbuf.c"
},
"digest": {
"function_hash": "103143424286519794538887788977220674000",
"length": 890.0
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5e457aeab52a5947619e1f18047f4d2f3212b3eb",
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-48714-3e626952",
"target": {
"file": "kernel/bpf/ringbuf.c"
},
"digest": {
"line_hashes": [
"1331549256368949368334005534948221492",
"103271353061302797017848937926442551313",
"317343065441120226642425552145358923114",
"208471469823214520633072830467538548383"
],
"threshold": 0.9
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d578933f6226d5419af9306746efa1c693cbaf9c",
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-48714-4900d6e5",
"target": {
"file": "kernel/bpf/ringbuf.c"
},
"digest": {
"line_hashes": [
"1331549256368949368334005534948221492",
"103271353061302797017848937926442551313",
"317343065441120226642425552145358923114",
"208471469823214520633072830467538548383"
],
"threshold": 0.9
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b293dcc473d22a62dc6d78de2b15e4f49515db56",
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-48714-b0558076",
"target": {
"file": "kernel/bpf/ringbuf.c"
},
"digest": {
"line_hashes": [
"1331549256368949368334005534948221492",
"103271353061302797017848937926442551313",
"317343065441120226642425552145358923114",
"208471469823214520633072830467538548383"
],
"threshold": 0.9
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6304a613a97d6dcd49b93fbad31e9f39d1e138d6",
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-48714-cc224c58",
"target": {
"function": "bpf_ringbuf_area_alloc",
"file": "kernel/bpf/ringbuf.c"
},
"digest": {
"function_hash": "44345574485246003168035363489503716610",
"length": 949.0
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6304a613a97d6dcd49b93fbad31e9f39d1e138d6",
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-48714-d4f40fb1",
"target": {
"file": "kernel/bpf/ringbuf.c"
},
"digest": {
"line_hashes": [
"1331549256368949368334005534948221492",
"103271353061302797017848937926442551313",
"317343065441120226642425552145358923114",
"208471469823214520633072830467538548383"
],
"threshold": 0.9
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b293dcc473d22a62dc6d78de2b15e4f49515db56",
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-48714-f9402af1",
"target": {
"function": "bpf_ringbuf_area_alloc",
"file": "kernel/bpf/ringbuf.c"
},
"digest": {
"function_hash": "103143424286519794538887788977220674000",
"length": 890.0
},
"signature_type": "Function"
}
]