In the Linux kernel, the following vulnerability has been resolved:
xfrm: fix refcount leak in __xfrm_policy_check()
The issue happens on an error path in __xfrm_policy_check(). When the
fetching process of the object pols[1] fails, the function simply
returns 0, forgetting to decrement the reference count of pols[0],
which is incremented earlier by either xfrm_sk_policy_lookup() or
xfrm_policy_lookup(). This may result in memory leaks.
Fix it by decreasing the reference count of pols[0] in that path.
| Software | From | Fixed in |
|---|---|---|
| linux / linux_kernel | 2.6.20 | 4.9.327 |
| linux / linux_kernel | 4.10 | 4.14.292 |
| linux / linux_kernel | 4.15 | 4.19.257 |
| linux / linux_kernel | 4.20 | 5.4.212 |
| linux / linux_kernel | 5.5 | 5.10.140 |
| linux / linux_kernel | 5.11 | 5.15.64 |
| linux / linux_kernel | 5.16 | 5.19.6 |
| linux / linux_kernel | 2.6.19 | 2.6.19.x |
| linux / linux_kernel | 2.6.19-rc2 | 2.6.19-rc2.x |
| linux / linux_kernel | 2.6.19-rc3 | 2.6.19-rc3.x |
| linux / linux_kernel | 2.6.19-rc4 | 2.6.19-rc4.x |
| linux / linux_kernel | 2.6.19-rc5 | 2.6.19-rc5.x |
| linux / linux_kernel | 2.6.19-rc6 | 2.6.19-rc6.x |
| linux / linux_kernel | 6.0-rc1 | 6.0-rc1.x |
| linux / linux_kernel | 6.0-rc2 | 6.0-rc2.x |