CVE-2026-31663

Summary

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

xfrm: hold dev ref until after transport_finish NF_HOOK

After async crypto completes, xfrm_input_resume() calls dev_put() immediately on re-entry before the skb reaches transport_finish. The skb->dev pointer is then used inside NF_HOOK and its okfn, which can race with device teardown.

Remove the dev_put from the async resumption entry and instead drop the reference after the NF_HOOK call in transport_finish, using a saved device pointer since NF_HOOK may consume the skb. This covers NF_DROP, NF_QUEUE and NF_STOLEN paths that skip the okfn.

For non-transport exits (decaps, gro, drop) and secondary async return points, release the reference inline when async is set.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxacf568ee859f098279eadf551612f103afdacb4e < 4236c30b437b80f673b9e08c8fae38b8d471ac9eaffected
LinuxLinuxacf568ee859f098279eadf551612f103afdacb4e < 0f451b43c88bf2b9c038b414be580efee42e031baffected
LinuxLinuxacf568ee859f098279eadf551612f103afdacb4e < 5002beda5cac69d522dc54da0d5d463ed9c963d2affected
LinuxLinuxacf568ee859f098279eadf551612f103afdacb4e < 1c428b03840094410c5fb6a5db30640486bbbfcbaffected
LinuxLinux69895c5ea0ca2e8d7de1e6d36965d0ab9730787faffected
LinuxLinux833760100588acfb267dac4d6a02ab9931237739affected
LinuxLinuxe095ecaec6d94aa2156cceb98a85d409b51190f3affected
LinuxLinux3.2.100 < 3.3affected
LinuxLinux3.16.55 < 3.17affected
LinuxLinux4.14.24 < 4.15affected
LinuxLinux4.15affected
LinuxLinux0 < 4.15unaffected
LinuxLinux6.12.94 <= 6.12.*unaffected
LinuxLinux6.18.23 <= 6.18.*unaffected
LinuxLinux6.19.13 <= 6.19.*unaffected
LinuxLinux7.0 <= *unaffected

Weaknesses

ADP Enrichment

kernel: xfrm: hold dev ref until after transport_finish NF_HOOK

Additional References

References