Description (CNA)
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 (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 4236c30b437b80f673b9e08c8fae38b8d471ac9e before fed4d3195a31125566876952ce66113ec1eb9008; affected 0f451b43c88bf2b9c038b414be580efee42e031b before 1acd93259b6be269e26be5d71c224bccd1f8352f; affected 1c428b03840094410c5fb6a5db30640486bbbfcb before 63a30015199912bd5055bead8001b1ae68a67cdb; affected 1c428b03840094410c5fb6a5db30640486bbbfcb before 8045c0df98d4f14c54e5cb875f1c9c0ce89fe4ff; affected 94439cbe478b53f92223da9aae95fffb28623c3f; affected 5002beda5cac69d522dc54da0d5d463ed9c963d2; affected 6.12.94 before 6.12.112; affected 6.18.23 before 6.18.54; affected 6.6.160 before 6.7; affected 6.19.13 before 6.20 |
| Linux / Linux | affected 7.0; unaffected 0 before 7.0; unaffected 6.12.112 through 6.12.*; unaffected 6.18.54 through 6.18.*; unaffected 7.1.5 through 7.1.*; unaffected 7.2 through * |
CWE
No CWE identifiers supplied.