{
  "schemaVersion": 1,
  "attribution": [
    {
      "source": "CISA Known Exploited Vulnerabilities",
      "url": "https://www.cisa.gov/known-exploited-vulnerabilities-catalog",
      "licence": "US government work"
    },
    {
      "source": "GitHub Advisory Database",
      "url": "https://github.com/advisories",
      "licence": "CC BY 4.0"
    },
    {
      "source": "Have I Been Pwned",
      "url": "https://haveibeenpwned.com/",
      "licence": "CC BY 4.0"
    },
    {
      "source": "CVE Program (CVE records)",
      "url": "https://www.cve.org/Legal/TermsOfUse",
      "licence": "CVE Terms of Use",
      "notice": "Copyright © 1999-2026, The MITRE Corporation. CVE is a trademark and the CVE logo is a registered trademark of The MITRE Corporation.",
      "terms": "CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE™). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy."
    },
    {
      "source": "FIRST EPSS",
      "url": "https://www.first.org/epss/",
      "licence": "free to use; FIRST requests attribution"
    }
  ],
  "record": {
    "id": "CVE-2023-53728",
    "sourceURL": "https://www.cve.org/CVERecord?id=CVE-2023-53728",
    "idYear": 2023,
    "status": "PUBLISHED",
    "publishedAt": "2025-10-22T13:23:57.127Z",
    "updatedAt": "2026-05-11T19:50:42.429Z",
    "importedAt": "2026-10-24T01:57:03.413Z",
    "snapshot": {
      "id": "cve_2026-10-24_midnight_baseline",
      "at": "2026-10-24T00:00:00.000Z",
      "source": "https://github.com/CVEProject/cvelistV5/releases/tag/cve_2026-10-24_0100Z"
    },
    "facts": {
      "title": "posix-timers: Ensure timer ID search-loop limit is valid",
      "summary": "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.",
      "affected": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "versions": [
            {
              "version": "5ed67f05f66c41e39880a6d61358438a25f9fee5",
              "status": "affected",
              "versionType": "git",
              "lessThan": "8dc52c200b889bc1cb34288fbf623d4ff381d2ae"
            },
            {
              "version": "5ed67f05f66c41e39880a6d61358438a25f9fee5",
              "status": "affected",
              "versionType": "git",
              "lessThan": "9ea26a8494a0a9337e7415eafd6f3ed940327dc5"
            },
            {
              "version": "5ed67f05f66c41e39880a6d61358438a25f9fee5",
              "status": "affected",
              "versionType": "git",
              "lessThan": "8ad6679a5bb97cdb3e14942729292b4bfcc0e223"
            },
            {
              "version": "5ed67f05f66c41e39880a6d61358438a25f9fee5",
              "status": "affected",
              "versionType": "git",
              "lessThan": "322377cc909defcca9451487484845e7e1d20d1b"
            },
            {
              "version": "5ed67f05f66c41e39880a6d61358438a25f9fee5",
              "status": "affected",
              "versionType": "git",
              "lessThan": "ef535e0315afd098c4beb1da364847eca4b56a20"
            },
            {
              "version": "5ed67f05f66c41e39880a6d61358438a25f9fee5",
              "status": "affected",
              "versionType": "git",
              "lessThan": "6a0ac84501b4fec73a1a823c55cf13584c43f418"
            },
            {
              "version": "5ed67f05f66c41e39880a6d61358438a25f9fee5",
              "status": "affected",
              "versionType": "git",
              "lessThan": "37175e25edf7cc0d5a2cd2c2a1cbe2dcbf4a1937"
            },
            {
              "version": "5ed67f05f66c41e39880a6d61358438a25f9fee5",
              "status": "affected",
              "versionType": "git",
              "lessThan": "8ce8849dd1e78dadcee0ec9acbd259d239b7069f"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "versions": [
            {
              "version": "3.10",
              "status": "affected"
            },
            {
              "version": "0",
              "status": "unaffected",
              "versionType": "semver",
              "lessThan": "3.10"
            },
            {
              "version": "4.14.322",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "4.14.*"
            },
            {
              "version": "4.19.291",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "4.19.*"
            },
            {
              "version": "5.4.251",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "5.4.*"
            },
            {
              "version": "5.10.188",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "5.10.*"
            },
            {
              "version": "5.15.150",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "5.15.*"
            },
            {
              "version": "6.1.107",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.1.*"
            },
            {
              "version": "6.4.7",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.4.*"
            },
            {
              "version": "6.5",
              "status": "unaffected",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ]
        }
      ]
    }
  }
}