{
  "cveId": "CVE-2023-53509",
  "url": "https://patchblox.com/security/cve/CVE-2023-53509",
  "summary": "CVE-2023-53509 is fixed in linux on 1 platform, first by DEBIAN-CVE-2023-53509, released October 1, 2025. It is not reported as exploited. Patch Radar priority: Routine.",
  "title": "linux: In the Linux kernel, the following vulnerability has been resolved:  qed: allow sleep in qed_mcp_trace_dump()  By def...",
  "description": "In the Linux kernel, the following vulnerability has been resolved:  qed: allow sleep in qed_mcp_trace_dump()  By default, qed_mcp_cmd_and_union() delays 10us at a time in a loop that can run 500K times, so calls to qed_mcp_nvm_rd_cmd() may block the current thread for over 5s. We observed thread scheduling delays over 700ms in production, with stacktraces pointing to this code as the culprit.  qed_mcp_trace_dump() is called from ethtool, so sleeping is permitted. It already can sleep in qed_mcp_halt(), which calls qed_mcp_cmd(). Add a \u0022can sleep\u0022 parameter to qed_find_nvram_image() and qed_nvram_read() so they can sleep during qed_mcp_trace_dump(). qed_mcp_trace_get_meta_info() and qed_mcp_trace_read_meta(), called only by qed_mcp_trace_dump(), allow these functions to sleep. I can\u0027t tell if the other caller (qed_grc_dump_mcp_hw_dump()) can sleep, so keep b_can_sleep set to false when it calls these functions.  An example stacktrace from a custom warning we added to the kernel showing a thread that has not scheduled despite long needing resched: [ 2745.362925,17] ------------[ cut here ]------------ [ 2745.362941,17] WARNING: CPU: 23 PID: 5640 at arch/x86/kernel/irq.c:233 do_IRQ\u002B0x15e/0x1a0() [ 2745.362946,17] Thread not rescheduled for 744 ms after irq 99 [ 2745.362956,17] Modules linked in: ... [ 2745.363339,17] CPU: 23 PID: 5640 Comm: lldpd Tainted: P           O    4.4.182\u002B #202104120910\u002B6d1da174272d.61x [ 2745.363343,17] Hardware name: FOXCONN MercuryB/Quicksilver Controller, BIOS H11P1N09 07/08/2020 [ 2745.363346,17]  0000000000000000 ffff885ec07c3ed8 ffffffff8131eb2f ffff885ec07c3f20 [ 2745.363358,17]  ffffffff81d14f64 ffff885ec07c3f10 ffffffff81072ac2 ffff88be98ed0000 [ 2745.363369,17]  0000000000000063 0000000000000174 0000000000000074 0000000000000000 [ 2745.363379,17] Call Trace: [ 2745.363382,17]  \u003CIRQ\u003E  [\u003Cffffffff8131eb2f\u003E] dump_stack\u002B0x8e/0xcf [ 2745.363393,17]  [\u003Cffffffff81072ac2\u003E] warn_slowpath_common\u002B0x82/0xc0 [ 2745.363398,17]  [\u003Cffffffff81072b4c\u003E] warn_slowpath_fmt\u002B0x4c/0x50 [ 2745.363404,17]  [\u003Cffffffff810d5a8e\u003E] ? rcu_irq_exit\u002B0xae/0xc0 [ 2745.363408,17]  [\u003Cffffffff817c99fe\u003E] do_IRQ\u002B0x15e/0x1a0 [ 2745.363413,17]  [\u003Cffffffff817c7ac9\u003E] common_interrupt\u002B0x89/0x89 [ 2745.363416,17]  \u003CEOI\u003E  [\u003Cffffffff8132aa74\u003E] ? delay_tsc\u002B0x24/0x50 [ 2745.363425,17]  [\u003Cffffffff8132aa04\u003E] __udelay\u002B0x34/0x40 [ 2745.363457,17]  [\u003Cffffffffa04d45ff\u003E] qed_mcp_cmd_and_union\u002B0x36f/0x7d0 [qed] [ 2745.363473,17]  [\u003Cffffffffa04d5ced\u003E] qed_mcp_nvm_rd_cmd\u002B0x4d/0x90 [qed] [ 2745.363490,17]  [\u003Cffffffffa04e1dc7\u003E] qed_mcp_trace_dump\u002B0x4a7/0x630 [qed] [ 2745.363504,17]  [\u003Cffffffffa04e2556\u003E] ? qed_fw_asserts_dump\u002B0x1d6/0x1f0 [qed] [ 2745.363520,17]  [\u003Cffffffffa04e4ea7\u003E] qed_dbg_mcp_trace_get_dump_buf_size\u002B0x37/0x80 [qed] [ 2745.363536,17]  [\u003Cffffffffa04ea881\u003E] qed_dbg_feature_size\u002B0x61/0xa0 [qed] [ 2745.363551,17]  [\u003Cffffffffa04eb427\u003E] qed_dbg_all_data_size\u002B0x247/0x260 [qed] [ 2745.363560,17]  [\u003Cffffffffa0482c10\u003E] qede_get_regs_len\u002B0x30/0x40 [qede] [ 2745.363566,17]  [\u003Cffffffff816c9783\u003E] ethtool_get_drvinfo\u002B0xe3/0x190 [ 2745.363570,17]  [\u003Cffffffff816cc152\u003E] dev_ethtool\u002B0x1362/0x2140 [ 2745.363575,17]  [\u003Cffffffff8109bcc6\u003E] ? finish_task_switch\u002B0x76/0x260 [ 2745.363580,17]  [\u003Cffffffff817c2116\u003E] ? __schedule\u002B0x3c6/0x9d0 [ 2745.363585,17]  [\u003Cffffffff810dbd50\u003E] ? hrtimer_start_range_ns\u002B0x1d0/0x370 [ 2745.363589,17]  [\u003Cffffffff816c1e5b\u003E] ? dev_get_by_name_rcu\u002B0x6b/0x90 [ 2745.363594,17]  [\u003Cffffffff816de6a8\u003E] dev_ioctl\u002B0xe8/0x710 [ 2745.363599,17]  [\u003Cffffffff816a58a8\u003E] sock_do_ioctl\u002B0x48/0x60 [ 2745.363603,17]  [\u003Cffffffff816a5d87\u003E] sock_ioctl\u002B0x1c7/0x280 [ 2745.363608,17]  [\u003Cffffffff8111f393\u003E] ? seccomp_phase1\u002B0x83/0x220 [ 2745.363612,17]  [\u003Cffffffff811e3503\u003E] do_vfs_ioctl\u002B0x2b3/0x4e0 [ 2745.363616,17]  [\u003Cffffffff811e3771\u003E] SyS_ioctl\u002B0x41/0x70 [ 2745.363619,17]  [\u003Cffffffff817c6ffe\u003E] entry_SYSCALL_64_fastpath\u002B0x1e/0x79 [ 2745.363622,17] ---[ end trace f6954aa440266421 ]---",
  "published": "2025-10-01T12:15:54Z",
  "severity": "medium",
  "cvss": 5.5,
  "cvssVector": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
  "epss": 0.00159,
  "epssPercentile": 0.0503,
  "priority": "Routine",
  "priorityTier": 4,
  "exploited": false,
  "vendorExploited": false,
  "disclosed": false,
  "fixes": [
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 12.15 (bookworm)",
      "fixedVersion": "6.1.7-1",
      "fix": "DEBIAN-CVE-2023-53509",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2023-53509",
      "released": "2025-10-01T12:15:54Z"
    },
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 13.5 (trixie)",
      "fixedVersion": "6.1.7-1",
      "fix": "DEBIAN-CVE-2023-53509",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2023-53509",
      "released": "2025-10-01T12:15:54Z"
    },
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 14",
      "fixedVersion": "6.1.7-1",
      "fix": "DEBIAN-CVE-2023-53509",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2023-53509",
      "released": "2025-10-01T12:15:54Z"
    }
  ],
  "noFixYet": [],
  "dataAsOf": "2026-11-08T19:12:23Z",
  "attribution": {
    "text": "Data: Patchblox Patch Radar",
    "url": "https://patchblox.com/security/patch-radar",
    "terms": "https://patchblox.com/security/patch-radar/use-the-data"
  }
}