Description
In the Linux kernel, the following vulnerability has been resolved: xfrm: Fix dev use-after-free in xfrm async resumption xfrm async resumption hold skb->dev refcnt until after transport_finish. However, xfrm_rcv_cb may modify skb->dev to tunnel dev without taking device reference, such as vti_rcv_cb. The subsequent async resumption will decrement the tunnel device's reference count, which lead to uaf of tunnel dev and refcnt leak of orig dev as below: unregister_netdevice: waiting for vti1 to become free. Usage count = -2 Stash the original skb->dev to fix refcnt imbalance. The new skb->dev set by xfrm_rcv_cb can race with device teardown. Extend rcu protection over xfrm_rcv_cb and transport_finish to prevent races.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
4236c30b437b80f673b9e08c8fae38b8d471ac9e to < fed4d3195a31125566876952ce66113ec1eb9008affected0f451b43c88bf2b9c038b414be580efee42e031b to < 1acd93259b6be269e26be5d71c224bccd1f8352faffected1c428b03840094410c5fb6a5db30640486bbbfcb to < 63a30015199912bd5055bead8001b1ae68a67cdbaffected1c428b03840094410c5fb6a5db30640486bbbfcb to < 8045c0df98d4f14c54e5cb875f1c9c0ce89fe4ffaffected4d06caedea587c59cc2cc893ceecc57c75c64312affected94439cbe478b53f92223da9aae95fffb28623c3faffected5002beda5cac69d522dc54da0d5d463ed9c963d2affected6.12.94 to < 6.12.112affected6.18.23 to < 6.18.54affected6.1.191 to < 6.2affected6.6.160 to < 6.7affected6.19.13 to < 6.20affected
Linux Linux
Default version status: affected
7.0affected0 to < 7.0unaffected6.12.112 to ≤ 6.12.*unaffected6.18.54 to ≤ 6.18.*unaffected7.1.5 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected