Critical · published December 27, 2024
In the Linux kernel, the following vulnerability has been resolved:
tcp: Fix use-after-free of nreq in reqsk_timer_handler().
The cited commit replaced inet_csk_reqsk_queue_drop_and_put() with
__inet_csk_reqsk_queue_drop() and reqsk_put() in reqsk_timer_handler().
Then, oreq should be passed to reqsk_put() instead of req; otherwise
use-after-free of nreq could happen when reqsk is migrated but the
retry attempt failed (e.g. due to timeout).
Let's pass oreq to reqsk_put().
| Product | Versions | Fixed in |
|---|---|---|
| linux/linux_kernel | ≥ 5.15.170, < 5.15.174 | 5.15.174 |
| linux/linux_kernel | ≥ 6.1.115, < 6.1.120 | 6.1.120 |
| linux/linux_kernel | ≥ 6.6.59, < 6.6.64 | 6.6.64 |
| linux/linux_kernel | ≥ 6.11.6, < 6.11.11 | 6.11.11 |
| linux/linux_kernel | ≥ 6.12, < 6.12.2 | 6.12.2 |