CVE-2026-98631: xsk: Use a 32-bit compare in xsk_map_gen_lookup

Published Oct 18, 2026
·
Updated

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

xsk: Use a 32-bit compare in xskmapgenlookup

xskmapgenlookup() loads a u32 key and compares it with maxentries using BPFJMPIMM. BPF immediates are sign-extended to 64 bits, so a maxentries value of 0x80000000 or higher becomes a threshold larger than every zero-extended 32-bit key. An out-of-range index then skips the bounds check and the generated lookup reads past xskmap[].

Compare with BPFJMP32IMM so the check stays in 32-bit unsigned range.

Affected Software

1 affected component
Linux Linux kernel

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Compensating control

    In Linux kernel xsk_map_gen_lookup(), compare the u32 key with max_entries using BPF_JMP32_IMM instead of BPF_JMP_IMM so the check remains in the 32-bit unsigned range.

Event History

Oct 18, 2026
CVE Published
via MITRE·03:19 PM
Data Sourced
via MITRE·03:19 PM
Description
Data Sourced
via NVD·04:17 PM
Description

Frequently Asked Questions

1

What condition is required for the bounds check to fail?

The XSK map must have a max_entries value of 0x80000000 or higher. At that size, the BPF_JMP_IMM comparison sign-extends the immediate value, causing an out-of-range zero-extended 32-bit key to bypass the generated bounds check.

2

What is the effect of successful exploitation?

An out-of-range index can skip the bounds check in xsk_map_gen_lookup() and cause the generated lookup to read past the xsk_map[] array.

3

How can this be mitigated in the code?

Use BPF_JMP32_IMM for the comparison so that the key and max_entries check remains in the 32-bit unsigned range.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203