{"id":"CVE-2025-71073","title":"Input: lkkbd - disable pending work before freeing device","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\nInput: lkkbd - disable pending work before freeing device\n\nlkkbd_interrupt() schedules lk->tq via schedule_work(), and the work\nhandler lkkbd_reinit() dereferences the …","severity":"none","vendor":"Linux","product":"Linux","affected":["Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 8cf889d45bbc8477206dda78c8f757ea8ff68213","Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 3a7cd1397c209076c371d53bf39a55c138f62342","Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < cffc4e29b1e2d44ab094cf142d7c461ff09b9104","Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < e58c88f0cb2d8ed89de78f6f17409d29cfab6c5c","Linux 2.6.12"],"published":"2026-01-13","updated":"2026-10-21","sourceUpdated":"2026-10-21T12:38:32.138Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2025-71073","references":[{"url":"https://git.kernel.org/stable/c/8cf889d45bbc8477206dda78c8f757ea8ff68213"},{"url":"https://git.kernel.org/stable/c/3a7cd1397c209076c371d53bf39a55c138f62342"},{"url":"https://git.kernel.org/stable/c/cffc4e29b1e2d44ab094cf142d7c461ff09b9104"},{"url":"https://git.kernel.org/stable/c/e58c88f0cb2d8ed89de78f6f17409d29cfab6c5c"}],"tags":["cve.org"],"epss":0.00178,"epssPercentile":0.07265,"ingestedAt":"2026-10-21T12:48:53.675Z","slug":"CVE-2025-71073","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\nInput: lkkbd - disable pending work before freeing device\n\nlkkbd_interrupt() schedules lk->tq via schedule_work(), and the work\nhandler lkkbd_reinit() dereferences the lkkbd structure and its\nserio/input_dev fields.\n\nlkkbd_disconnect() and error paths in lkkbd_connect() free the lkkbd\nstructure without preventing the reinit work from being queued again\nuntil serio_close() returns. This can allow the work handler to run\nafter the structure has been freed, leading to a potential use-after-free.\n\nUse disable_work_sync() instead of cancel_work_sync() to ensure the\nreinit work cannot be re-queued, and call it both in lkkbd_disconnect()\nand in lkkbd_connect() error paths after serio_open().\n\n## Affected\n\n- `Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 8cf889d45bbc8477206dda78c8f757ea8ff68213`\n- `Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 3a7cd1397c209076c371d53bf39a55c138f62342`\n- `Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < cffc4e29b1e2d44ab094cf142d7c461ff09b9104`\n- `Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < e58c88f0cb2d8ed89de78f6f17409d29cfab6c5c`\n- `Linux 2.6.12`\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":[]}