Skip to main content
VulnerabilityPublished Updated

CVE-2026-46133: Linux kernel · RDMA/rxe: Reject unknown opcodes before ICRC processing

Affects Linux kernelSource CVE Database V5

0

Not known to be exploited · CVSS 7.5 High · fixed in f8ee926431a7bbec2b10c1290664af2cb290b983 : patch Linux kernel soon.

Data as of 26 Oct 2026, 13:07 UTC

CVSS 3.1 base score
7.5High
How severe the flaw is on the 0–10 CVSS scale.
EPSS
0.5% chance of exploitation in 30 days – higher than 47% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
CISA SSVC
Exploitation
No evidence of active exploitation and no public proof of concept
Automatable
Attackers can reliably automate steps 1–4 of the kill chain
Technical impact
Limited control over the software or limited information exposure

CISA SSVC assessment, 2026-10-16.

Patch
Available – fixed in f8ee926431a7bbec2b10c1290664af2cb290b983, e3dc3a2fb05f4ed49c7f20594c4c52350d032189, 318787fa7193bd79691f2ebce4e80cb6abd0faef +5
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 28 May 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponised: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.

What to do

Upgrade to a fixed release listed under Affected software.

Affected software

ProductAffectedFixed in
LinuxLinuxAffected
  • ≥ 8700e3e7c4857d28ebaa824509934556da0b3e76, < f8ee926431a7bbec2b10c1290664af2cb290b983
Fixed in
  • f8ee926431a7bbec2b10c1290664af2cb290b983
LinuxLinuxAffected
  • ≥ 8700e3e7c4857d28ebaa824509934556da0b3e76, < e3dc3a2fb05f4ed49c7f20594c4c52350d032189
Fixed in
  • e3dc3a2fb05f4ed49c7f20594c4c52350d032189
LinuxLinuxAffected
  • ≥ 8700e3e7c4857d28ebaa824509934556da0b3e76, < 318787fa7193bd79691f2ebce4e80cb6abd0faef
Fixed in
  • 318787fa7193bd79691f2ebce4e80cb6abd0faef
LinuxLinuxAffected
  • ≥ 8700e3e7c4857d28ebaa824509934556da0b3e76, < 599cfdf44c1701c581cd4a21f1e1e03f8dc3840b
Fixed in
  • 599cfdf44c1701c581cd4a21f1e1e03f8dc3840b
LinuxLinuxAffected
  • ≥ 8700e3e7c4857d28ebaa824509934556da0b3e76, < 6fa18025e5782afff91415fd5217b39c1e4837d7
Fixed in
  • 6fa18025e5782afff91415fd5217b39c1e4837d7
LinuxLinuxAffected
  • ≥ 8700e3e7c4857d28ebaa824509934556da0b3e76, < 6a79b1ea0fcb2c998fda6a793050f66146e9cc42
Fixed in
  • 6a79b1ea0fcb2c998fda6a793050f66146e9cc42

Description

In the Linux kernel, the following vulnerability has been resolved: RDMA/rxe: Reject unknown opcodes before ICRC processing Even after applying commit 7244491dab34 ("RDMA/rxe: Validate pad and ICRC before payload_size() in rxe_rcv"), a single unauthenticated UDP packet can still trigger panic. That patch handled payload_size() underflow only for valid opcodes with short packets, not for packets carrying an unknown opcode. The unknown-opcode OOB read described below predates that commit and reaches back to the initial Soft RoCE driver. The check added there reads pkt->paylen < header_size(pkt) + bth_pad(pkt) + RXE_ICRC_SIZE where header_size(pkt) expands to rxe_opcode[pkt->opcode].length. The rxe_opcode[] array has 256 entries but is only populated for defined IB opcodes; any other entry (for example opcode 0xff) is zero-initialized, so length == 0 and the check degenerates to pkt->paylen < 0 + bth_pad(pkt) + RXE_ICRC_SIZE which does not constrain pkt->paylen enough. rxe_icrc_hdr() then computes rxe_opcode[pkt->opcode].length - RXE_BTH_BYTES which underflows when length == 0 and passes a huge value to rxe_crc32(), causing an out-of-bounds read of the skb payload. Reproduced on v7.0-rc7 with that fix applied, QEMU/KVM with CONFIG_RDMA_RXE=y and CONFIG_KASAN=y, after rdma link add rxe0 type rxe netdev eth0 A single 48-byte UDP packet to port 4791 with BTH opcode=0xff and QPN=IB_MULTICAST_QPN triggers: BUG: KASAN: slab-out-of-bounds in crc32_le+0x115/0x170 Read of size 1 at addr ... The buggy address is located 0 bytes to the right of allocated 704-byte region Call Trace: crc32_le+0x115/0x170 rxe_icrc_hdr.isra.0+0x226/0x300 rxe_icrc_check+0x13f/0x3a0 rxe_rcv+0x6e1/0x16e0 rxe_udp_encap_recv+0x20a/0x320 udp_queue_rcv_one_skb+0x7ed/0x12c0 Subsequent packets with the same shape fault on unmapped memory and panic the kernel. The trigger requires only module load and "rdma link add"; no QP, no connection, and no authentication. Fix this by rejecting packets whose opcode has no rxe_opcode[] entry, detected via the zero mask or zero length, before any length arithmetic runs.

References

Community reviews

Loading reviews…