CVE-2023-53728: posix-timers: Ensure timer ID search-loop limit is valid
In the Linux kernel, the following vulnerability has been resolved:
posix-timers: Ensure timer ID search-loop limit is valid
posix_timer_add() tries to allocate a posix timer ID by starting from the
cached ID which was stored by the last successful allocation.
This is done in a loop searching the ID space for a free slot one by
one. The loop has to terminate when the search wrapped around to the
starting point.
But that's racy vs. establishing the starting point. That is read out
lockless, which leads to the following problem:
CPU0 CPU1
posix_timer_add()
start = sig->posix_timer_id;
lock(hash_lock);
... posix_timer_add()
if (++sig->posix_timer_id < 0)
start = sig->posix_timer_id;
sig->posix_timer_id = 0;
So CPU1 can observe a negative start value, i.e. -1, and the loop break
never happens because the condition can never be true:
if (sig->posix_timer_id == start)
break;
While this is unlikely to ever turn into an endless loop as the ID space is
huge (INT_MAX), the racy read of the start value caught the attention of
KCSAN and Dmitry unearthed that incorrectness.
Rewrite it so that all id operations are under the hash lock.
Security readout for executives and security teams
Plain-English summary
This is a Linux kernel correctness flaw in POSIX timer ID allocation. The public record describes a rare race where the timer ID search limit can become invalid. Sources do not show active exploitation, CVSS severity, or concrete business impact beyond possible abnormal looping. Treat it as routine kernel maintenance unless local kernels are unpatched.
Executive priority
Schedule through normal kernel patch management. Escalate only where high-value shared systems run unpatched affected kernels or vendor status is unclear.
Technical view
posix_timer_add() read the cached timer ID start value without the hash lock. A concurrent allocation could let another CPU observe a negative start value during wrap handling, making the loop termination check invalid. The fix places all timer ID operations under hash_lock. The source does not identify a CWE, exploit primitive, or proven impact.
Likely exposure
Exposure is limited to Linux systems running affected kernel versions or downstream builds without the stable fixes. Actual distro exposure depends on vendor backports, so package version alone may not prove vulnerability.
Exploitation context
No active exploitation is reported in the provided bundle, and KEV is false. The kernel description says an endless loop is unlikely because the ID space is huge, and the issue was identified through KCSAN race detection.
Researcher notes
This is a race in posix_timer_add() around sig->posix_timer_id start-value handling. The public text frames it as KCSAN-detected incorrectness, not a demonstrated exploit path. Avoid overstating impact without additional vendor analysis.
Mitigation direction
Check vendor kernel advisories for CVE-2023-53728 coverage.
Update to a kernel containing the referenced stable fix commits.
Prioritize internet-facing or multi-tenant Linux hosts if kernel updates are pending.
Confirm downstream distributions have backported the POSIX timer fix.
Validation and detection
Inventory Linux kernel versions across servers, containers hosts, and appliances.
Compare running kernels against vendor advisories and stable fix references.
Check change logs for the posix-timers hash_lock timer ID fix.
Record exceptions where vendors mark shipped kernels as backported or unaffected.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2023-53728 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
0CVSS vectors
3Timeline events
0ADP providers
9Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
Oct 22, 2025, 13:23 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.