Description
In the Linux kernel, the following vulnerability has been resolved: packet: use consistent hard_header_len in TX_RING send path tpacket_snd() reads dev->hard_header_len independently for skb allocation and header construction in tpacket_fill_skb(). Concurrent netdevice reconfiguration can therefore make the reserved headroom smaller than the amount later pushed, or make copylen - hard_header_len negative. Snapshot hard_header_len once before processing ring frames and use it for the frame limit, headroom allocation, copy length, and skb construction. Pass the snapshot to tpacket_fill_skb(). The separate SOCK_DGRAM consistency problem between hard_header_len and header_ops->create is not addressed here.
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
69e3c75f4d541a6eb151b3ef91f34033cb3ad6e1 to < 9c7e8ff48c377bef18c3d178748aea0575b69edeaffected69e3c75f4d541a6eb151b3ef91f34033cb3ad6e1 to < 2a73b2c37ee3060a880b53cd24783d93fc7be5f8affected69e3c75f4d541a6eb151b3ef91f34033cb3ad6e1 to < e79f59a8527a49078cfaf8fe8fb5fcefc20c76d2affected69e3c75f4d541a6eb151b3ef91f34033cb3ad6e1 to < d85d2fd54e901637c81d847811e03c662aee13cdaffected69e3c75f4d541a6eb151b3ef91f34033cb3ad6e1 to < 016763e829cac37b3234eace86fd0a4c560de4a7affected69e3c75f4d541a6eb151b3ef91f34033cb3ad6e1 to < 27e068d1b35dbec10a3cf268887c94407be4badcaffected69e3c75f4d541a6eb151b3ef91f34033cb3ad6e1 to < d48ea5c9c4c34dc0df621f0e39ed3a16b644621aaffected69e3c75f4d541a6eb151b3ef91f34033cb3ad6e1 to < 21b5953e7494c16a42e6cd8cf110e18d13ae4a6baffected
Linux Linux
Default version status: affected
2.6.31affected0 to < 2.6.31unaffected5.10.267 to ≤ 5.10.*unaffected5.15.218 to ≤ 5.15.*unaffected6.1.185 to ≤ 6.1.*unaffected6.6.152 to ≤ 6.6.*unaffected6.12.104 to ≤ 6.12.*unaffected6.18.45 to ≤ 6.18.*unaffected7.1.9 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/9c7e8ff48c377bef18c3d178748aea0575b69ede ↗
- https://git.kernel.org/stable/c/2a73b2c37ee3060a880b53cd24783d93fc7be5f8 ↗
- https://git.kernel.org/stable/c/e79f59a8527a49078cfaf8fe8fb5fcefc20c76d2 ↗
- https://git.kernel.org/stable/c/d85d2fd54e901637c81d847811e03c662aee13cd ↗
- https://git.kernel.org/stable/c/016763e829cac37b3234eace86fd0a4c560de4a7 ↗
- https://git.kernel.org/stable/c/27e068d1b35dbec10a3cf268887c94407be4badc ↗
- https://git.kernel.org/stable/c/d48ea5c9c4c34dc0df621f0e39ed3a16b644621a ↗
- https://git.kernel.org/stable/c/21b5953e7494c16a42e6cd8cf110e18d13ae4a6b ↗