CVE-2023-53587 (GCVE-0-2023-53587)
Vulnerability from cvelistv5
Published
2025-10-04 15:44
Modified
2025-10-04 15:44
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: ring-buffer: Sync IRQ works before buffer destruction If something was written to the buffer just before destruction, it may be possible (maybe not in a real system, but it did happen in ARCH=um with time-travel) to destroy the ringbuffer before the IRQ work ran, leading this KASAN report (or a crash without KASAN): BUG: KASAN: slab-use-after-free in irq_work_run_list+0x11a/0x13a Read of size 8 at addr 000000006d640a48 by task swapper/0 CPU: 0 PID: 0 Comm: swapper Tainted: G W O 6.3.0-rc1 #7 Stack: 60c4f20f 0c203d48 41b58ab3 60f224fc 600477fa 60f35687 60c4f20f 601273dd 00000008 6101eb00 6101eab0 615be548 Call Trace: [<60047a58>] show_stack+0x25e/0x282 [<60c609e0>] dump_stack_lvl+0x96/0xfd [<60c50d4c>] print_report+0x1a7/0x5a8 [<603078d3>] kasan_report+0xc1/0xe9 [<60308950>] __asan_report_load8_noabort+0x1b/0x1d [<60232844>] irq_work_run_list+0x11a/0x13a [<602328b4>] irq_work_tick+0x24/0x34 [<6017f9dc>] update_process_times+0x162/0x196 [<6019f335>] tick_sched_handle+0x1a4/0x1c3 [<6019fd9e>] tick_sched_timer+0x79/0x10c [<601812b9>] __hrtimer_run_queues.constprop.0+0x425/0x695 [<60182913>] hrtimer_interrupt+0x16c/0x2c4 [<600486a3>] um_timer+0x164/0x183 [...] Allocated by task 411: save_stack_trace+0x99/0xb5 stack_trace_save+0x81/0x9b kasan_save_stack+0x2d/0x54 kasan_set_track+0x34/0x3e kasan_save_alloc_info+0x25/0x28 ____kasan_kmalloc+0x8b/0x97 __kasan_kmalloc+0x10/0x12 __kmalloc+0xb2/0xe8 load_elf_phdrs+0xee/0x182 [...] The buggy address belongs to the object at 000000006d640800 which belongs to the cache kmalloc-1k of size 1024 The buggy address is located 584 bytes inside of freed 1024-byte region [000000006d640800, 000000006d640c00) Add the appropriate irq_work_sync() so the work finishes before the buffers are destroyed. Prior to the commit in the Fixes tag below, there was only a single global IRQ work, so this issue didn't exist.
Impacted products
Vendor Product Version
Linux Linux Version: 15693458c4bc0693fd63a50d60f35b628fcf4e29
Version: 15693458c4bc0693fd63a50d60f35b628fcf4e29
Version: 15693458c4bc0693fd63a50d60f35b628fcf4e29
Version: 15693458c4bc0693fd63a50d60f35b628fcf4e29
Version: 15693458c4bc0693fd63a50d60f35b628fcf4e29
Version: 15693458c4bc0693fd63a50d60f35b628fcf4e29
Version: 15693458c4bc0693fd63a50d60f35b628fcf4e29
Version: 15693458c4bc0693fd63a50d60f35b628fcf4e29
Version: 15693458c4bc0693fd63a50d60f35b628fcf4e29
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "kernel/trace/ring_buffer.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "372c5ee537b8366b64b691ba29e9335525e1655e",
              "status": "affected",
              "version": "15693458c4bc0693fd63a50d60f35b628fcf4e29",
              "versionType": "git"
            },
            {
              "lessThan": "2702b67f59d455072a08dc40312f9b090d4dec04",
              "status": "affected",
              "version": "15693458c4bc0693fd63a50d60f35b628fcf4e29",
              "versionType": "git"
            },
            {
              "lessThan": "2399b1fda025e939b6fb1ac94505bcf718534e65",
              "status": "affected",
              "version": "15693458c4bc0693fd63a50d60f35b628fcf4e29",
              "versionType": "git"
            },
            {
              "lessThan": "1c99f65d6af2a454bfd5207b4f6a97c8474a1191",
              "status": "affected",
              "version": "15693458c4bc0693fd63a50d60f35b628fcf4e29",
              "versionType": "git"
            },
            {
              "lessThan": "c63741e872fcfb10e153517750f7908f0c00f60d",
              "status": "affected",
              "version": "15693458c4bc0693fd63a50d60f35b628fcf4e29",
              "versionType": "git"
            },
            {
              "lessThan": "d9834abd8b24d1fe8092859e436fe1e0fd467c61",
              "status": "affected",
              "version": "15693458c4bc0693fd63a50d60f35b628fcf4e29",
              "versionType": "git"
            },
            {
              "lessThan": "fc6858b7f8e1221f62ce8c6ff8a13a349c32cd76",
              "status": "affected",
              "version": "15693458c4bc0693fd63a50d60f35b628fcf4e29",
              "versionType": "git"
            },
            {
              "lessThan": "0a65165bd24ee9231191597b7c232376fcd70cdb",
              "status": "affected",
              "version": "15693458c4bc0693fd63a50d60f35b628fcf4e29",
              "versionType": "git"
            },
            {
              "lessThan": "675751bb20634f981498c7d66161584080cc061e",
              "status": "affected",
              "version": "15693458c4bc0693fd63a50d60f35b628fcf4e29",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "kernel/trace/ring_buffer.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "3.10"
            },
            {
              "lessThan": "3.10",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.14.*",
              "status": "unaffected",
              "version": "4.14.315",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.19.*",
              "status": "unaffected",
              "version": "4.19.283",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.243",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.180",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.111",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.28",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.2.*",
              "status": "unaffected",
              "version": "6.2.15",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.3.*",
              "status": "unaffected",
              "version": "6.3.2",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.4",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "4.14.315",
                  "versionStartIncluding": "3.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "4.19.283",
                  "versionStartIncluding": "3.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.4.243",
                  "versionStartIncluding": "3.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.180",
                  "versionStartIncluding": "3.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.111",
                  "versionStartIncluding": "3.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.28",
                  "versionStartIncluding": "3.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.2.15",
                  "versionStartIncluding": "3.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.3.2",
                  "versionStartIncluding": "3.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.4",
                  "versionStartIncluding": "3.10",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nring-buffer: Sync IRQ works before buffer destruction\n\nIf something was written to the buffer just before destruction,\nit may be possible (maybe not in a real system, but it did\nhappen in ARCH=um with time-travel) to destroy the ringbuffer\nbefore the IRQ work ran, leading this KASAN report (or a crash\nwithout KASAN):\n\n    BUG: KASAN: slab-use-after-free in irq_work_run_list+0x11a/0x13a\n    Read of size 8 at addr 000000006d640a48 by task swapper/0\n\n    CPU: 0 PID: 0 Comm: swapper Tainted: G        W  O       6.3.0-rc1 #7\n    Stack:\n     60c4f20f 0c203d48 41b58ab3 60f224fc\n     600477fa 60f35687 60c4f20f 601273dd\n     00000008 6101eb00 6101eab0 615be548\n    Call Trace:\n     [\u003c60047a58\u003e] show_stack+0x25e/0x282\n     [\u003c60c609e0\u003e] dump_stack_lvl+0x96/0xfd\n     [\u003c60c50d4c\u003e] print_report+0x1a7/0x5a8\n     [\u003c603078d3\u003e] kasan_report+0xc1/0xe9\n     [\u003c60308950\u003e] __asan_report_load8_noabort+0x1b/0x1d\n     [\u003c60232844\u003e] irq_work_run_list+0x11a/0x13a\n     [\u003c602328b4\u003e] irq_work_tick+0x24/0x34\n     [\u003c6017f9dc\u003e] update_process_times+0x162/0x196\n     [\u003c6019f335\u003e] tick_sched_handle+0x1a4/0x1c3\n     [\u003c6019fd9e\u003e] tick_sched_timer+0x79/0x10c\n     [\u003c601812b9\u003e] __hrtimer_run_queues.constprop.0+0x425/0x695\n     [\u003c60182913\u003e] hrtimer_interrupt+0x16c/0x2c4\n     [\u003c600486a3\u003e] um_timer+0x164/0x183\n     [...]\n\n    Allocated by task 411:\n     save_stack_trace+0x99/0xb5\n     stack_trace_save+0x81/0x9b\n     kasan_save_stack+0x2d/0x54\n     kasan_set_track+0x34/0x3e\n     kasan_save_alloc_info+0x25/0x28\n     ____kasan_kmalloc+0x8b/0x97\n     __kasan_kmalloc+0x10/0x12\n     __kmalloc+0xb2/0xe8\n     load_elf_phdrs+0xee/0x182\n     [...]\n\n    The buggy address belongs to the object at 000000006d640800\n     which belongs to the cache kmalloc-1k of size 1024\n    The buggy address is located 584 bytes inside of\n     freed 1024-byte region [000000006d640800, 000000006d640c00)\n\nAdd the appropriate irq_work_sync() so the work finishes before\nthe buffers are destroyed.\n\nPrior to the commit in the Fixes tag below, there was only a\nsingle global IRQ work, so this issue didn\u0027t exist."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2025-10-04T15:44:02.679Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/372c5ee537b8366b64b691ba29e9335525e1655e"
        },
        {
          "url": "https://git.kernel.org/stable/c/2702b67f59d455072a08dc40312f9b090d4dec04"
        },
        {
          "url": "https://git.kernel.org/stable/c/2399b1fda025e939b6fb1ac94505bcf718534e65"
        },
        {
          "url": "https://git.kernel.org/stable/c/1c99f65d6af2a454bfd5207b4f6a97c8474a1191"
        },
        {
          "url": "https://git.kernel.org/stable/c/c63741e872fcfb10e153517750f7908f0c00f60d"
        },
        {
          "url": "https://git.kernel.org/stable/c/d9834abd8b24d1fe8092859e436fe1e0fd467c61"
        },
        {
          "url": "https://git.kernel.org/stable/c/fc6858b7f8e1221f62ce8c6ff8a13a349c32cd76"
        },
        {
          "url": "https://git.kernel.org/stable/c/0a65165bd24ee9231191597b7c232376fcd70cdb"
        },
        {
          "url": "https://git.kernel.org/stable/c/675751bb20634f981498c7d66161584080cc061e"
        }
      ],
      "title": "ring-buffer: Sync IRQ works before buffer destruction",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2023-53587",
    "datePublished": "2025-10-04T15:44:02.679Z",
    "dateReserved": "2025-10-04T15:40:38.477Z",
    "dateUpdated": "2025-10-04T15:44:02.679Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2023-53587\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-10-04T16:15:55.060\",\"lastModified\":\"2025-10-06T14:56:21.733\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nring-buffer: Sync IRQ works before buffer destruction\\n\\nIf something was written to the buffer just before destruction,\\nit may be possible (maybe not in a real system, but it did\\nhappen in ARCH=um with time-travel) to destroy the ringbuffer\\nbefore the IRQ work ran, leading this KASAN report (or a crash\\nwithout KASAN):\\n\\n    BUG: KASAN: slab-use-after-free in irq_work_run_list+0x11a/0x13a\\n    Read of size 8 at addr 000000006d640a48 by task swapper/0\\n\\n    CPU: 0 PID: 0 Comm: swapper Tainted: G        W  O       6.3.0-rc1 #7\\n    Stack:\\n     60c4f20f 0c203d48 41b58ab3 60f224fc\\n     600477fa 60f35687 60c4f20f 601273dd\\n     00000008 6101eb00 6101eab0 615be548\\n    Call Trace:\\n     [\u003c60047a58\u003e] show_stack+0x25e/0x282\\n     [\u003c60c609e0\u003e] dump_stack_lvl+0x96/0xfd\\n     [\u003c60c50d4c\u003e] print_report+0x1a7/0x5a8\\n     [\u003c603078d3\u003e] kasan_report+0xc1/0xe9\\n     [\u003c60308950\u003e] __asan_report_load8_noabort+0x1b/0x1d\\n     [\u003c60232844\u003e] irq_work_run_list+0x11a/0x13a\\n     [\u003c602328b4\u003e] irq_work_tick+0x24/0x34\\n     [\u003c6017f9dc\u003e] update_process_times+0x162/0x196\\n     [\u003c6019f335\u003e] tick_sched_handle+0x1a4/0x1c3\\n     [\u003c6019fd9e\u003e] tick_sched_timer+0x79/0x10c\\n     [\u003c601812b9\u003e] __hrtimer_run_queues.constprop.0+0x425/0x695\\n     [\u003c60182913\u003e] hrtimer_interrupt+0x16c/0x2c4\\n     [\u003c600486a3\u003e] um_timer+0x164/0x183\\n     [...]\\n\\n    Allocated by task 411:\\n     save_stack_trace+0x99/0xb5\\n     stack_trace_save+0x81/0x9b\\n     kasan_save_stack+0x2d/0x54\\n     kasan_set_track+0x34/0x3e\\n     kasan_save_alloc_info+0x25/0x28\\n     ____kasan_kmalloc+0x8b/0x97\\n     __kasan_kmalloc+0x10/0x12\\n     __kmalloc+0xb2/0xe8\\n     load_elf_phdrs+0xee/0x182\\n     [...]\\n\\n    The buggy address belongs to the object at 000000006d640800\\n     which belongs to the cache kmalloc-1k of size 1024\\n    The buggy address is located 584 bytes inside of\\n     freed 1024-byte region [000000006d640800, 000000006d640c00)\\n\\nAdd the appropriate irq_work_sync() so the work finishes before\\nthe buffers are destroyed.\\n\\nPrior to the commit in the Fixes tag below, there was only a\\nsingle global IRQ work, so this issue didn\u0027t exist.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/0a65165bd24ee9231191597b7c232376fcd70cdb\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/1c99f65d6af2a454bfd5207b4f6a97c8474a1191\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/2399b1fda025e939b6fb1ac94505bcf718534e65\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/2702b67f59d455072a08dc40312f9b090d4dec04\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/372c5ee537b8366b64b691ba29e9335525e1655e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/675751bb20634f981498c7d66161584080cc061e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/c63741e872fcfb10e153517750f7908f0c00f60d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/d9834abd8b24d1fe8092859e436fe1e0fd467c61\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/fc6858b7f8e1221f62ce8c6ff8a13a349c32cd76\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…