Description
In the Linux kernel, the following vulnerability has been resolved: serial: caif: hold tty->link reference in ldisc_open and ser_release A reproducer triggers a KASAN slab-use-after-free in pty_write_room() when caif_serial's TX path calls tty_write_room(). The faulting access is on tty->link->port. Hold an extra kref on tty->link for the lifetime of the caif_serial line discipline: get it in ldisc_open() and drop it in ser_release(), and also drop it on the ldisc_open() error path. With this change applied, the reproducer no longer triggers the UAF in my testing.
Product status
e31d5a05948e4478ba8396063d1e1f39880928e2 (git) before 23a3ac2e2262a291498567418227b99e1f3606b1
e31d5a05948e4478ba8396063d1e1f39880928e2 (git) before 52135420e9f75853ea0c6cea7b736e3e98495f7d
e31d5a05948e4478ba8396063d1e1f39880928e2 (git) before ca2ceba983bb23ea0202c2882d963253416654a3
e31d5a05948e4478ba8396063d1e1f39880928e2 (git) before 8460187b4852fd00bd1c76394358053f3fa4d089
e31d5a05948e4478ba8396063d1e1f39880928e2 (git) before 27e43356d0defb9fc7fa25265219a3ffeb7b3e98
e31d5a05948e4478ba8396063d1e1f39880928e2 (git) before 35b58d3bc716ebb9ebd10fe1cac8c1177242511c
e31d5a05948e4478ba8396063d1e1f39880928e2 (git) before 97a0bb491cae39478c6225381f14e9ac67b7bba7
e31d5a05948e4478ba8396063d1e1f39880928e2 (git) before 288598d80a068a0e9281de35bcb4ce495f189e2a
2.6.35
Any version before 2.6.35
5.10.253 (semver)
5.15.203 (semver)
6.1.167 (semver)
6.6.130 (semver)
6.12.78 (semver)
6.18.19 (semver)
6.19.9 (semver)
7.0 (original_commit_for_fix)
References
git.kernel.org/...c/23a3ac2e2262a291498567418227b99e1f3606b1
git.kernel.org/...c/52135420e9f75853ea0c6cea7b736e3e98495f7d
git.kernel.org/...c/ca2ceba983bb23ea0202c2882d963253416654a3
git.kernel.org/...c/8460187b4852fd00bd1c76394358053f3fa4d089
git.kernel.org/...c/27e43356d0defb9fc7fa25265219a3ffeb7b3e98
git.kernel.org/...c/35b58d3bc716ebb9ebd10fe1cac8c1177242511c
git.kernel.org/...c/97a0bb491cae39478c6225381f14e9ac67b7bba7
git.kernel.org/...c/288598d80a068a0e9281de35bcb4ce495f189e2a