CVE-2026-31663

xfrm: hold dev ref until after transport_finish NF_HOOK

State
Published
Severity
7.8 High
Published
Apr 24, 2026
Updated
Oct 30, 2026
Reserved
Mar 9, 2026

Read the record on cve.org

Description

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.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux
3.17.0 HighCVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:Hredhat-SADP

Weaknesses

  • CWE-826 Premature Release of Resource During Expected Lifetime
  • CWE-416 Use After Free

Affected Products

ProductVersions
LinuxLinux
  • acf568ee859f098279eadf551612f103afdacb4e to before 4d06caedea587c59cc2cc893ceecc57c75c64312Affected
  • acf568ee859f098279eadf551612f103afdacb4e to before 94439cbe478b53f92223da9aae95fffb28623c3fAffected
  • acf568ee859f098279eadf551612f103afdacb4e to before 4236c30b437b80f673b9e08c8fae38b8d471ac9eAffected
  • acf568ee859f098279eadf551612f103afdacb4e to before 0f451b43c88bf2b9c038b414be580efee42e031bAffected
  • acf568ee859f098279eadf551612f103afdacb4e to before 5002beda5cac69d522dc54da0d5d463ed9c963d2Affected
  • acf568ee859f098279eadf551612f103afdacb4e to before 1c428b03840094410c5fb6a5db30640486bbbfcbAffected
  • 69895c5ea0ca2e8d7de1e6d36965d0ab9730787fAffected
  • 833760100588acfb267dac4d6a02ab9931237739Affected
  • e095ecaec6d94aa2156cceb98a85d409b51190f3Affected
  • 3.2.100 to before 3.3Affected
  • 3.16.55 to before 3.17Affected
  • 4.14.24 to before 4.15Affected
LinuxLinux
  • 4.15Affected
  • before 4.15Not affected
  • 6.1.191 through 6.1.*Not affected
  • 6.6.160 through 6.6.*Not affected
  • 6.12.94 through 6.12.*Not affected
  • 6.18.23 through 6.18.*Not affected
  • 6.19.13 through 6.19.*Not affected
  • 7.0 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.