Description
In the Linux kernel, the following vulnerability has been resolved: vxlan: use one headroom snapshot for neighbour replies vxlan_na_create() samples LL_RESERVED_SPACE() to size the reply skb and then samples it again to reserve headroom. A concurrent vxlan_changelink() can update needed_headroom between the two reads, creating a TOCTOU race. The second value can exceed the allocation and make the Ethernet header write out of bounds. The race is reproducible on the unpatched kernel. It occurred when vxlan_na_create() generated a neighbour reply while vxlan_changelink() changed the link headroom. KASAN caught a four-byte write two bytes beyond a 704-byte skbuff_small_head allocation. Snapshot the headroom once and use that value for both allocation and reservation.
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
4b29dba9c085a4fb79058fb1c45a2f6257ca3dfa to < 45a67662bf8ce3aa5643accf98d328dfbb47eaf6affected4b29dba9c085a4fb79058fb1c45a2f6257ca3dfa to < 315d42ca39f69846662961c25dcf2bb07c350d14affected4b29dba9c085a4fb79058fb1c45a2f6257ca3dfa to < a3c5eb6e382dd426a5e7eb08608897ed57167ff7affected4b29dba9c085a4fb79058fb1c45a2f6257ca3dfa to < ff022fd9d0f0282c575e11778b96bd1b637503ebaffected4b29dba9c085a4fb79058fb1c45a2f6257ca3dfa to < 481506a756dcd828ef42391cb08f38d8d96d38fcaffectedd8be18c52dbc94989f6d74637b731af39cd3d902affected3927dace523706cc00f808520eaf2125dd7c07b5affected3.12.18 to < 3.13affected3.13.10 to < 3.14affected
Linux Linux
Default version status: affected
3.14affected0 to < 3.14unaffected6.6.158 to ≤ 6.6.*unaffected6.12.112 to ≤ 6.12.*unaffected6.18.55 to ≤ 6.18.*unaffected7.2.9 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/45a67662bf8ce3aa5643accf98d328dfbb47eaf6 ↗
- https://git.kernel.org/stable/c/315d42ca39f69846662961c25dcf2bb07c350d14 ↗
- https://git.kernel.org/stable/c/a3c5eb6e382dd426a5e7eb08608897ed57167ff7 ↗
- https://git.kernel.org/stable/c/ff022fd9d0f0282c575e11778b96bd1b637503eb ↗
- https://git.kernel.org/stable/c/481506a756dcd828ef42391cb08f38d8d96d38fc ↗