Description
In the Linux kernel, the following vulnerability has been resolved: net/x25: Fix potential double free of skb When alloc_skb fails in x25_queue_rx_frame it calls kfree_skb(skb) at line 48 and returns 1 (error). This error propagates back through the call chain: x25_queue_rx_frame returns 1 | v x25_state3_machine receives the return value 1 and takes the else branch at line 278, setting queued=0 and returning 0 | v x25_process_rx_frame returns queued=0 | v x25_backlog_rcv at line 452 sees queued=0 and calls kfree_skb(skb) again This would free the same skb twice. Looking at x25_backlog_rcv: net/x25/x25_in.c:x25_backlog_rcv() { ... queued = x25_process_rx_frame(sk, skb); ... if (!queued) kfree_skb(skb); }
Product status
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 5d0aa038a90b30c9bedde0c41c1fdcd98ecb16e9
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 3f5e3005984645bf5bd129c6b13149879580b1fb
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before f782dd382203b2a8c4552a628431b7de65a19a7b
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 143d4fa68ae9efb83b0c55b12cc7f0d03732a2b1
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 524371398d8463ea7e101fce2cbf3915645d1730
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before fa1dbc93530b34fab0da9862426fe9c918c74dc0
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before c87dd137c0dad07cc55f98181ff380b0c23d2878
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before d10a26aa4d072320530e6968ef945c8c575edf61
2.6.12
Any version before 2.6.12
5.10.253 (semver)
5.15.203 (semver)
6.1.168 (semver)
6.6.134 (semver)
6.12.81 (semver)
6.18.22 (semver)
6.19.12 (semver)
7.0 (original_commit_for_fix)
References
git.kernel.org/...c/5d0aa038a90b30c9bedde0c41c1fdcd98ecb16e9
git.kernel.org/...c/3f5e3005984645bf5bd129c6b13149879580b1fb
git.kernel.org/...c/f782dd382203b2a8c4552a628431b7de65a19a7b
git.kernel.org/...c/143d4fa68ae9efb83b0c55b12cc7f0d03732a2b1
git.kernel.org/...c/524371398d8463ea7e101fce2cbf3915645d1730
git.kernel.org/...c/fa1dbc93530b34fab0da9862426fe9c918c74dc0
git.kernel.org/...c/c87dd137c0dad07cc55f98181ff380b0c23d2878
git.kernel.org/...c/d10a26aa4d072320530e6968ef945c8c575edf61