---
id: CVE-2022-50167
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  bpf: fix potential 32-bit overflow when accessing ARRAY map element

  If BPF array map is bigger than 4GB, element pointer calculation can
  overflow because both index an…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  bpf: fix potential 32-bit overflow when accessing ARRAY map element

  If BPF array map is bigger than 4GB, element pointer calculation can
  overflow because both index an…
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
cwe:
  - CWE-190
vendor: linux
product: linux_kernel
affected:
  - 'linux_kernel >= 5.3, < 5.18.18'
  - 'linux_kernel >= 5.19, < 5.19.2'
patched:
  - linux_kernel 5.19.2
published: '2025-06-18'
updated: '2026-10-15'
sourceUpdated: '2026-10-15T22:17:27.333'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2022-50167'
references:
  - url: 'https://git.kernel.org/stable/c/063e092534d4c6785228e5b1eb6e9329f66ccbe4'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/3c7256b880b3a5aa1895fd169a34aa4224a11862'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/87ac0d600943994444e24382a87aa19acc4cd3d4'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
  - cve.org
epss: 0.00263
epssPercentile: 0.18025
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: total
  timestamp: '2026-10-15T21:30:17.190513Z'
ingestedAt: '2026-10-15T21:45:11.282Z'
---

## Overview

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

bpf: fix potential 32-bit overflow when accessing ARRAY map element

If BPF array map is bigger than 4GB, element pointer calculation can
overflow because both index and elem_size are u32. Fix this everywhere
by forcing 64-bit multiplication. Extract this formula into separate
small helper and use it consistently in various places.

Speculative-preventing formula utilizing index_mask trick is left as is,
but explicit u64 casts are added in both places.

## Affected

- `linux_kernel >= 5.3, < 5.18.18`
- `linux_kernel >= 5.19, < 5.19.2`

## Remediation

Upgrade past the affected range:

- `linux_kernel 5.19.2`
