Description
In the Linux kernel, the following vulnerability has been resolved: pppoe: reload header pointer after dev_hard_header() pppoe_sendmsg() saves a pointer to the PPPoE header before calling dev_hard_header(). Device header callbacks are allowed to reallocate the skb head, invalidating pointers into it. This can happen when a send is blocked in copy_from_user() while the first non-Ethernet port is added to an empty team device. The team's delegated GRE header callback then expands the skb head. PPPoE subsequently writes six bytes through the stale pointer into the freed head. Reload the PPPoE header through the skb's network-header offset after device header creation. pskb_expand_head() updates that offset when it relocates the head.
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
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 7a56e7c9b08e08fd55a1bcada24cf4fe3782b722affected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 6eed5ae7887a93160803d2b81ff88e75eefd4a4caffected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < ba3409369c5413cdf0dcbf3a928f76b48e8c3e6aaffected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < e6493a4d1ee17595766165fa446d45b7e0c318d0affected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 7e9fbd7f96bcde63a7c798fe16b38cedee7a1501affected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 6866abf59976d273164a6624234d96a967280223affected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < bed4caecd723693f750e13adbb2c42ca1249a3fdaffected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < e9c238f6fe42fb1b4dba3a578277de32cb487937affected
Linux Linux
Default version status: affected
2.6.12affected0 to < 2.6.12unaffected5.10.265 to ≤ 5.10.*unaffected5.15.216 to ≤ 5.15.*unaffected6.1.183 to ≤ 6.1.*unaffected6.6.148 to ≤ 6.6.*unaffected6.12.101 to ≤ 6.12.*unaffected6.18.42 to ≤ 6.18.*unaffected7.1.6 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/7a56e7c9b08e08fd55a1bcada24cf4fe3782b722 ↗
- https://git.kernel.org/stable/c/6eed5ae7887a93160803d2b81ff88e75eefd4a4c ↗
- https://git.kernel.org/stable/c/ba3409369c5413cdf0dcbf3a928f76b48e8c3e6a ↗
- https://git.kernel.org/stable/c/e6493a4d1ee17595766165fa446d45b7e0c318d0 ↗
- https://git.kernel.org/stable/c/7e9fbd7f96bcde63a7c798fe16b38cedee7a1501 ↗
- https://git.kernel.org/stable/c/6866abf59976d273164a6624234d96a967280223 ↗
- https://git.kernel.org/stable/c/bed4caecd723693f750e13adbb2c42ca1249a3fd ↗
- https://git.kernel.org/stable/c/e9c238f6fe42fb1b4dba3a578277de32cb487937 ↗