{"cve":"CVE-2023-53728","nvd":{"published":"2025-10-22T14:15:48.083","modified":"2026-06-17T06:45:57.820","status":"Deferred","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nposix-timers: Ensure timer ID search-loop limit is valid\n\nposix_timer_add() tries to allocate a posix timer ID by starting from the\ncached ID which was stored by the last successful allocation.\n\nThis is done in a loop searching the ID space for a free slot one by\none. The loop has to terminate when the search wrapped around to the\nstarting point.\n\nBut that's racy vs. establishing the starting point. That is read out\nlockless, which leads to the following problem:\n\nCPU0\t  \t      \t     \t   CPU1\nposix_timer_add()\n  start = sig->posix_timer_id;\n  lock(hash_lock);\n  ...\t\t\t\t   posix_timer_add()\n  if (++sig->posix_timer_id < 0)\n      \t\t\t             start = sig->posix_timer_id;\n     sig->posix_timer_id = 0;\n\nSo CPU1 can observe a negative start value, i.e. -1, and the loop break\nnever happens because the condition can never be true:\n\n  if (sig->posix_timer_id == start)\n     break;\n\nWhile this is unlikely to ever turn into an endless loop as the ID space is\nhuge (INT_MAX), the racy read of the start value caught the attention of\nKCSAN and Dmitry unearthed that incorrectness.\n\nRewrite it so that all id operations are under the hash lock.","cvss_v4":null,"cvss_v3":null,"cwes":[],"references":["https://git.kernel.org/stable/c/322377cc909defcca9451487484845e7e1d20d1b","https://git.kernel.org/stable/c/37175e25edf7cc0d5a2cd2c2a1cbe2dcbf4a1937","https://git.kernel.org/stable/c/6a0ac84501b4fec73a1a823c55cf13584c43f418","https://git.kernel.org/stable/c/8ad6679a5bb97cdb3e14942729292b4bfcc0e223","https://git.kernel.org/stable/c/8ce8849dd1e78dadcee0ec9acbd259d239b7069f"],"products":[],"source":"nvd","synced_at":"2026-10-19T22:12:35.277909958+00:00"},"epss":{"cve":"CVE-2023-53728","score":0.0021,"percentile":0.11162,"date":"2026-11-01"},"kev":null,"osv":[],"attribution":["This product uses the NVD API but is not endorsed or certified by the NVD.","EPSS scores: FIRST Exploit Prediction Scoring System, https://www.first.org/epss","Known exploited vulnerabilities: CISA Known Exploited Vulnerabilities Catalog, https://www.cisa.gov/known-exploited-vulnerabilities-catalog","Package advisories: OSV (https://osv.dev), from the GitHub Advisory Database, PyPA, Go, RustSec and other ecosystem databases, under CC-BY 4.0 or CC0","CVE records: the CVE Program's CVE List (https://www.cve.org), under its terms of use (https://www.cve.org/Legal/TermsOfUse). CVE is a registered trademark of The MITRE Corporation; this product is not affiliated with the CVE Program."]}