Description
In the Linux kernel, the following vulnerability has been resolved: ALSA: pcm: Fix races among concurrent hw_params and hw_free calls Currently we have neither proper check nor protection against the concurrent calls of PCM hw_params and hw_free ioctls, which may result in a UAF. Since the existing PCM stream lock can't be used for protecting the whole ioctl operations, we need a new mutex to protect those racy calls. This patch introduced a new mutex, runtime->buffer_mutex, and applies it to both hw_params and hw_free ioctl code paths. Along with it, the both functions are slightly modified (the mmap_count check is moved into the state-check block) for code simplicity.
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 < a42aa926843acca96c0dfbde2e835b8137f2f092affected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 9cb6c40a6ebe4a0cfc9d6a181958211682cffea9affected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < fbeb492694ce0441053de57699e1e2b7bc148a69affected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 0f6947f5f5208f6ebd4d76a82a4757e2839a23f8affected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 33061d0fba51d2bf70a2ef9645f703c33fe8e438affected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 0090c13cbbdffd7da079ac56f80373a9a1be0bf8affected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 1bbf82d9f961414d6c76a08f7f843ea068e0ab7baffected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 92ee3c60ec9fe64404dc035e7c41277d74aa26cbaffected
Linux Linux
Default version status: affected
2.6.12affected0 to < 2.6.12unaffected4.14.279 to ≤ 4.14.*unaffected4.19.243 to ≤ 4.19.*unaffected5.4.193 to ≤ 5.4.*unaffected5.10.109 to ≤ 5.10.*unaffected5.15.32 to ≤ 5.15.*unaffected5.16.18 to ≤ 5.16.*unaffected5.17.1 to ≤ 5.17.*unaffected5.18 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/a42aa926843acca96c0dfbde2e835b8137f2f092 ↗
- https://git.kernel.org/stable/c/9cb6c40a6ebe4a0cfc9d6a181958211682cffea9 ↗
- https://git.kernel.org/stable/c/fbeb492694ce0441053de57699e1e2b7bc148a69 ↗
- https://git.kernel.org/stable/c/0f6947f5f5208f6ebd4d76a82a4757e2839a23f8 ↗
- https://git.kernel.org/stable/c/33061d0fba51d2bf70a2ef9645f703c33fe8e438 ↗
- https://git.kernel.org/stable/c/0090c13cbbdffd7da079ac56f80373a9a1be0bf8 ↗
- https://git.kernel.org/stable/c/1bbf82d9f961414d6c76a08f7f843ea068e0ab7b ↗
- https://git.kernel.org/stable/c/92ee3c60ec9fe64404dc035e7c41277d74aa26cb ↗