{"id":"CVE-2026-90116","title":"In the Linux kernel, the following vulnerability has been resolved:\n\nALSA: mtpav: shut down output timer before card teardown\n\nsnd_mtpav_output_timer() rearms chip->timer while holding\nchip->spinlock and accesses the card-private mtpav s…","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\nALSA: mtpav: shut down output timer before card teardown\n\nsnd_mtpav_output_timer() rearms chip->timer while holding\nchip->spinlock and accesses the card-private mtpav s…","severity":"none","vendor":"Linux","product":"Linux","affected":["Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 392c985c6b03dfdf4904c0d464f18735ca3c4df8","Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 1e16e82581521a2fe20eda29bdc9e75286f7c950","Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < c73cb5b7c159246dd572277c668851a56e516019","Linux 2.6.12"],"published":"2026-09-17","updated":"2026-09-17","sourceUpdated":"2026-09-17T17:17:03.747","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-90116","references":[{"url":"https://git.kernel.org/stable/c/1e16e82581521a2fe20eda29bdc9e75286f7c950","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/392c985c6b03dfdf4904c0d464f18735ca3c4df8","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/c73cb5b7c159246dd572277c668851a56e516019","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"}],"tags":["nvd","cve.org"],"ingestedAt":"2026-09-17T16:21:47.884Z","epss":0.00198,"epssPercentile":0.09812,"slug":"CVE-2026-90116","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\nALSA: mtpav: shut down output timer before card teardown\n\nsnd_mtpav_output_timer() rearms chip->timer while holding\nchip->spinlock and accesses the card-private mtpav state.\n\nsnd_mtpav_free() currently takes the same lock and calls\ntimer_delete() when the timer is active. This only removes a\npending timer; it does not wait for a callback that is already\nrunning and does not prevent the callback from rearming the timer.\n\nA callback running on another CPU can therefore continue after\nsnd_mtpav_free() releases the lock and access the card-private\nstate while the card is being torn down. It can also rearm the\ntimer after timer_delete() has returned.\n\nCall timer_shutdown_sync() without holding chip->spinlock. This\nwaits for any running callback to finish and prevents further\nrearming before the card-private mtpav state is released.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"sunlit","depthScore":3,"depthScoreParts":{"impact":2.8,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}