Description
In the Linux kernel, the following vulnerability has been resolved: net: ipv6: clear suppressed fib6 rule result fib6_rule_suppress() drops a suppressed route with ip6_rt_put_flags(), but leaves res->rt6 pointing at the released rt6_info. If no later rule supplies a replacement, fib6_rule_lookup() still sees res.rt6 and returns that stale dst to its caller. A suppressing rule can therefore leak a released route back to rt6_lookup(), and the next put hits rcuref_put_slowpath() from dst_release(). Clear res->rt6 when suppressing the route so suppressed lookups fall through to the null dst instead of reusing the released one.
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
209d35ee34e25f9668c404350a1c86d914c54ffa to < 90c57310e266eb94e4a80d6b15a9ca131d2e82cbaffected8ef8a76a340ebdb2c2eea3f6fb0ebbed09a16383 to < 5d29b286c9de0b309e94b9ed083aa1a2f429434faffectedcdef485217d30382f3bf6448c54b4401648fe3f1 to < 354db6243eca59e9d187ffbf8b7955b044ce84dcaffectedcdef485217d30382f3bf6448c54b4401648fe3f1 to < 6d98c70fe0ba8c7708bfd5b2a5174d2086775daaaffectedcdef485217d30382f3bf6448c54b4401648fe3f1 to < 9bad152c42b37499162367fe47867411e62fffa3affectedcdef485217d30382f3bf6448c54b4401648fe3f1 to < dc3ab04220667f254f4348572b2a0b3febff89fbaffectedcdef485217d30382f3bf6448c54b4401648fe3f1 to < a341c091ca0bfae377747b1b59a3bd8ebe18a937affectedcdef485217d30382f3bf6448c54b4401648fe3f1 to < 6aea62e433fe1b586202a5fee8b5807ce635e1d7affectedee38eb8cf9a7323884c2b8e0adbbeb2192d31e29affected5.10.84 to < 5.10.265affected5.15.7 to < 5.15.216affected5.4.164 to < 5.5affected
Linux Linux
Default version status: affected
5.16affected0 to < 5.16unaffected5.10.265 to ≤ 5.10.*unaffected5.15.216 to ≤ 5.15.*unaffected6.1.183 to ≤ 6.1.*unaffected6.6.151 to ≤ 6.6.*unaffected6.12.103 to ≤ 6.12.*unaffected6.18.44 to ≤ 6.18.*unaffected7.1.8 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/90c57310e266eb94e4a80d6b15a9ca131d2e82cb ↗
- https://git.kernel.org/stable/c/5d29b286c9de0b309e94b9ed083aa1a2f429434f ↗
- https://git.kernel.org/stable/c/354db6243eca59e9d187ffbf8b7955b044ce84dc ↗
- https://git.kernel.org/stable/c/6d98c70fe0ba8c7708bfd5b2a5174d2086775daa ↗
- https://git.kernel.org/stable/c/9bad152c42b37499162367fe47867411e62fffa3 ↗
- https://git.kernel.org/stable/c/dc3ab04220667f254f4348572b2a0b3febff89fb ↗
- https://git.kernel.org/stable/c/a341c091ca0bfae377747b1b59a3bd8ebe18a937 ↗
- https://git.kernel.org/stable/c/6aea62e433fe1b586202a5fee8b5807ce635e1d7 ↗