CVE-2026-31491
Integer Overflow in Linux Kernel RDMA Depth Calculation Functions
Publication date: 2026-04-22
Last updated on: 2026-04-28
Assigner: kernel.org
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| linux | linux_kernel | 6.18 |
| linux | linux_kernel | 7.0 |
| linux | linux_kernel | 7.0 |
| linux | linux_kernel | 7.0 |
| linux | linux_kernel | 7.0 |
| linux | linux_kernel | 7.0 |
| linux | linux_kernel | 7.0 |
| linux | linux_kernel | 7.0 |
| linux | linux_kernel | From 6.19 (inc) to 6.19.11 (exc) |
| linux | linux_kernel | From 6.18.1 (inc) to 6.18.21 (exc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-190 | The product performs a calculation that can produce an integer overflow or wraparound when the logic assumes that the resulting value will always be larger than the original value. This occurs when an integer value is incremented to a value that is too large to store in the associated representation. When this occurs, the value may become a very small or negative number. |
Attack-Flow Graph
AI Powered Q&A
How can this vulnerability impact me? :
This vulnerability can lead to incorrect handling of queue sizes in the RDMA/irdma subsystem of the Linux kernel. Because of the integer overflow, the system might accept invalid queue sizes, potentially causing unexpected behavior or instability in the kernel's RDMA operations.
While the exact impact is not detailed, such issues could lead to denial of service or other reliability problems in systems relying on RDMA functionality.
Can you explain this vulnerability to me?
This vulnerability exists in the Linux kernel's RDMA/irdma component, specifically in the depth calculation functions for SQ (Send Queue), RQ (Receive Queue), and SRQ (Shared Receive Queue). The issue arises because the operating system can pass the maximum unsigned 32-bit integer value (U32_MAX) as the size for these queues. This causes an integer overflow and truncation during depth calculations, which can incorrectly return success when it should have failed.
The vulnerability was addressed by hardening the depth calculation functions to perform all calculations and boundary checks using 64-bit unsigned integers (u64), preventing overflow and ensuring proper validation.