---
id: "CVE-2026-98590"
kind: "vulnerability"
aliases: ["CVE-2026-98590"]
title: "Linux kernel: BPF socket context code can read out-of-range rx_queue_mapping values"
severity: "unknown"
cvss: null
epss: null
exploited: false
status: "open"
category: "runtime"
products: []
ecosystems: []
tags: ["bpf", "linux-kernel", "runtime"]
not_affected_if: []
published_at: "2026-10-18T16:17:11+00:00"
first_seen_at: "2026-10-23T21:57:15+00:00"
updated_at: "2026-10-25T05:21:43+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-98590", "first_seen_at": "2026-10-23T21:57:15+00:00"}]
---

# Linux kernel: BPF socket context code can read out-of-range rx_queue_mapping values

A bug in the Linux kernel's BPF verifier-generated code for bpf_sock context access can leave a register holding a value larger than the verifier assumed, so a BPF program's runtime view of rx_queue_mapping no longer matches its verified bounds. The sources do not state what an attacker can do with this beyond that mismatch.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- unknown

## Fix

- unknown

## Timeline

- 2026-10-23T21:57:15+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-98590

## From the sources

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

bpf: Fix bpf_sock context code generation

Currently, the ctx access code reads the rx_queue_mapping
field with either a 4-byte or 2-byte load. The rest of the bits
in the register are marked known zero by the verifier. However,
the emitted ctx access code places in the register on certain
the special value (-1) using BPF_MOV_IMM64, which gets sign-extended
to turn on all the bits in the register. By shifting this value right,
the program ends up with a value at runtime above what the verifier
assumes is possible.

Fix this by ensuring the read value is as wide as the assumed size.
Use MOV32 instructions instead of MOV64 instructions to keep
the upper bits zero as assumed by the verifier. Also properly report
the size of the destination variable (the bpf_sock field, 4 bytes) instead
of the source (the socket field, 2 bytes).

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
