Description
In the Linux kernel, the following vulnerability has been resolved: media: em28xx: fix use-after-free in em28xx_v4l2_open() em28xx_v4l2_open() reads dev->v4l2 without holding dev->lock, creating a race with em28xx_v4l2_init()'s error path and em28xx_v4l2_fini(), both of which free the em28xx_v4l2 struct and set dev->v4l2 to NULL under dev->lock. This race leads to two issues: - use-after-free in v4l2_fh_init() when accessing vdev->ctrl_handler, since the video_device is embedded in the freed em28xx_v4l2 struct. - NULL pointer dereference in em28xx_resolution_set() when accessing v4l2->norm, since dev->v4l2 has been set to NULL. Fix this by moving the mutex_lock() before the dev->v4l2 read and adding a NULL check for dev->v4l2 under the lock.
Product status
8139a4d583abad45eb987b5a99b3281b6d435b7e (git) before 3c0283a59e36e3707c4a81f4952e362d31f876b8
8139a4d583abad45eb987b5a99b3281b6d435b7e (git) before 2cbf81f76842e46bdf25823c70e1db4044a65678
8139a4d583abad45eb987b5a99b3281b6d435b7e (git) before 38a327221f7f765e7d853b7bafe47e342441ec85
8139a4d583abad45eb987b5a99b3281b6d435b7e (git) before b5d141ea15f173f15b9f0a72965902f3428c0d92
8139a4d583abad45eb987b5a99b3281b6d435b7e (git) before 5fb2940327722b4684d2f964b54c1c90aa277324
8139a4d583abad45eb987b5a99b3281b6d435b7e (git) before 871b8ea8ef39a6c253594649f4339378fad3d0dd
8139a4d583abad45eb987b5a99b3281b6d435b7e (git) before 6b9e66437cc6123ddedac141e1b8b6fcf57d2972
8139a4d583abad45eb987b5a99b3281b6d435b7e (git) before dd2b888e08d3b3d6aacd65d76cd44fac11da750f
8139a4d583abad45eb987b5a99b3281b6d435b7e (git) before a66485a934c7187ae8e36517d40615fa2e961cff
3.16
Any version before 3.16
5.10.258 (semver)
5.15.209 (semver)
6.1.175 (semver)
6.6.136 (semver)
6.12.83 (semver)
6.18.24 (semver)
6.19.14 (semver)
7.0.1 (semver)
7.1-rc1 (original_commit_for_fix)
References
git.kernel.org/...c/3c0283a59e36e3707c4a81f4952e362d31f876b8
git.kernel.org/...c/2cbf81f76842e46bdf25823c70e1db4044a65678
git.kernel.org/...c/38a327221f7f765e7d853b7bafe47e342441ec85
git.kernel.org/...c/b5d141ea15f173f15b9f0a72965902f3428c0d92
git.kernel.org/...c/5fb2940327722b4684d2f964b54c1c90aa277324
git.kernel.org/...c/871b8ea8ef39a6c253594649f4339378fad3d0dd
git.kernel.org/...c/6b9e66437cc6123ddedac141e1b8b6fcf57d2972
git.kernel.org/...c/dd2b888e08d3b3d6aacd65d76cd44fac11da750f
git.kernel.org/...c/a66485a934c7187ae8e36517d40615fa2e961cff