CVE-2026-63923: octeontx2-af: validate body pcifunc in rvu_mbox_handler_rep_event_notify
In the Linux kernel, the following vulnerability has been resolved:
octeontx2-af: validate body pcifunc in rvumboxhandlerrepeventnotify
rvumboxhandlerrepeventnotify() in drivers/net/ethernet/marvell/ octeontx2/af/rvurep.c queues a sender-controlled REPEVENTNOTIFY request body verbatim, and rvurepupnotify() then forwards event->pcifunc (the nested body field, distinct from the AF-normalised header pcifunc) into rvugetpfvf(), rvugetpf() and the AF->PF mailbox device index without any bounds check.
A VF attached to a PF that has been put into switchdev representor mode reaches this path: the VF mailbox handler otx2pfvfmboxhandler() forwards every message id including MBOXMSGREPEVENTNOTIFY to AF without an allowlist, and the AF dispatcher rewrites only msg->pcifunc, leaving struct repevent::pcifunc attacker-controlled. The sibling rvumboxhandlereswcfg() refuses requests whose header pcifunc is not rvu->reppcifunc; this handler has no equivalent gate.
An out-of-range body pcifunc selects an &rvu->pf[]/&rvu->hwvf[] element past the allocated array and, for RVUEVENTMACADDRCHANGE, turns into a six-byte attacker-chosen OOB etheraddrcopy() target inside the queued worker; KASAN reports a slab-out-of-bounds write in rvurepwqhandler.
Reject malformed requests at the handler entry by gating on ispffuncvalid(), which is already the canonical PF/VF range check in this driver; expose it via rvu.h so callers in rvurep.c can use it instead of open-coding the same range arithmetic.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
linux/Kernelto a version that resolves this vulnerability.Fixed in 6.18.42 - Upgrade
Upgrade
linux/Kernelto a version that resolves this vulnerability.Fixed in 7.0.12 - Upgrade
Upgrade
octeontx2-afto a version that resolves this vulnerability.Patch MBOX_MSG_REP_EVENT_NOTIFY - Configuration
Reject malformed REP_EVENT_NOTIFY requests at the handler entry by validating the nested body field pcifunc using the canonical PF/VF range check is_pf_func_valid() instead of open-coding the same range arithmetic.
octeontx2/af/rvu_rep.c rvu_mbox_handler_rep_event_notify (validation) = gate on is_pf_func_valid() for body pcifunc and reject out-of-range pcifunc - Configuration
Ensure that the dispatcher/worker path validates body pcifunc before using it to index into rvu->pf[]/rvu->hwvf[]; reject if pcifunc is not valid.
octeontx2/af/rvu_rep.c dispatcher pcifunc rewrite = avoid out-of-range pcifunc propagating into rvu->pf[]/rvu->hwvf[] indexing - Configuration
For rvu_mbox_handler_rep_event_notify and related forwarding, refuse requests whose AF->PF mailbox device index derived from pcifunc would be out of bounds; add bounds validation where rvu_mbox_handler_rep_event_notify currently lacks an equivalent gate.
drivers/net/ethernet/marvell/ rvu_mbox_handler_esw_cfg gating = apply consistent bounds check for AF->PF mailbox device index based on header/body pcifunc validation