{
  "cveId": "CVE-2026-31507",
  "url": "https://patchblox.com/security/cve/CVE-2026-31507",
  "summary": "CVE-2026-31507 is fixed in 12 products on 1 platform, first by DEBIAN-CVE-2026-31507, released May 15, 2026. It is not reported as exploited. Patch Radar priority: High.",
  "title": "net/smc: fix double-free of smc_spd_priv when tee() duplicates splice pipe buffer",
  "description": "In the Linux kernel, the following vulnerability has been resolved:  net/smc: fix double-free of smc_spd_priv when tee() duplicates splice pipe buffer  smc_rx_splice() allocates one smc_spd_priv per pipe_buffer and stores the pointer in pipe_buffer.private.  The pipe_buf_operations for these buffers used .get = generic_pipe_buf_get, which only increments the page reference count when tee(2) duplicates a pipe buffer.  The smc_spd_priv pointer itself was not handled, so after tee() both the original and the cloned pipe_buffer share the same smc_spd_priv *.  When both pipes are subsequently released, smc_rx_pipe_buf_release() is called twice against the same object:    1st call: kfree(priv)  sock_put(sk)  smc_rx_update_cons()  [correct]   2nd call: kfree(priv)  sock_put(sk)  smc_rx_update_cons()  [UAF]  KASAN reports a slab-use-after-free in smc_rx_pipe_buf_release(), which then escalates to a NULL-pointer dereference and kernel panic via smc_rx_update_consumer() when it chases the freed priv-\u003Esmc pointer:    BUG: KASAN: slab-use-after-free in smc_rx_pipe_buf_release\u002B0x78/0x2a0   Read of size 8 at addr ffff888004a45740 by task smc_splice_tee_/74   Call Trace:    \u003CTASK\u003E    dump_stack_lvl\u002B0x53/0x70    print_report\u002B0xce/0x650    kasan_report\u002B0xc6/0x100    smc_rx_pipe_buf_release\u002B0x78/0x2a0    free_pipe_info\u002B0xd4/0x130    pipe_release\u002B0x142/0x160    __fput\u002B0x1c6/0x490    __x64_sys_close\u002B0x4f/0x90    do_syscall_64\u002B0xa6/0x1a0    entry_SYSCALL_64_after_hwframe\u002B0x77/0x7f    \u003C/TASK\u003E    BUG: kernel NULL pointer dereference, address: 0000000000000020   RIP: 0010:smc_rx_update_consumer\u002B0x8d/0x350   Call Trace:    \u003CTASK\u003E    smc_rx_pipe_buf_release\u002B0x121/0x2a0    free_pipe_info\u002B0xd4/0x130    pipe_release\u002B0x142/0x160    __fput\u002B0x1c6/0x490    __x64_sys_close\u002B0x4f/0x90    do_syscall_64\u002B0xa6/0x1a0    entry_SYSCALL_64_after_hwframe\u002B0x77/0x7f    \u003C/TASK\u003E   Kernel panic - not syncing: Fatal exception  Beyond the memory-safety problem, duplicating an SMC splice buffer is semantically questionable: smc_rx_update_cons() would advance the consumer cursor twice for the same data, corrupting receive-window accounting.  A refcount on smc_spd_priv could fix the double-free, but the cursor-accounting issue would still need to be addressed separately.  The .get callback is invoked by both tee(2) and splice_pipe_to_pipe() for partial transfers; both will now return -EFAULT.  Users who need to duplicate SMC socket data must use a copy-based read path.",
  "published": "2026-04-22T14:16:49Z",
  "severity": "Important",
  "cvss": 7.8,
  "cvssVector": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
  "epss": 0.00132,
  "epssPercentile": 0.0277,
  "priority": "High",
  "priorityTier": 3,
  "exploited": false,
  "vendorExploited": false,
  "disclosed": false,
  "vendorAdvisory": "https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-31507",
  "fixes": [
    {
      "platform": "linux",
      "product": "kernel-64kb",
      "release": "sles 15.7",
      "fixedVersion": "6.4.0-150700.53.55.1",
      "fix": "SUSE-SU-2026:2238-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-2238-1",
      "released": "2026-06-30T10:03:11Z"
    },
    {
      "platform": "linux",
      "product": "kernel-azure",
      "release": "sles 15.7",
      "fixedVersion": "6.4.0-150700.53.55.1",
      "fix": "SUSE-SU-2026:2238-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-2238-1",
      "released": "2026-06-30T10:03:11Z"
    },
    {
      "platform": "linux",
      "product": "kernel-default",
      "release": "sles 15.6",
      "fixedVersion": "6.4.0-150600.23.112.1",
      "fix": "SUSE-SU-2026:2195-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-2195-1",
      "released": "2026-07-01T08:17:32Z"
    },
    {
      "platform": "linux",
      "product": "kernel-default",
      "release": "sles 15.7",
      "fixedVersion": "6.4.0-150700.53.55.1",
      "fix": "SUSE-SU-2026:2238-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-2238-1",
      "released": "2026-06-30T10:03:11Z"
    },
    {
      "platform": "linux",
      "product": "kernel-default-base",
      "release": "sles 15.6",
      "fixedVersion": "6.4.0-150600.23.112.1.150600.12.52.1",
      "fix": "SUSE-SU-2026:2195-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-2195-1",
      "released": "2026-07-01T08:17:32Z"
    },
    {
      "platform": "linux",
      "product": "kernel-default-base",
      "release": "sles 15.7",
      "fixedVersion": "6.4.0-150700.53.55.1.150700.17.33.1",
      "fix": "SUSE-SU-2026:2238-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-2238-1",
      "released": "2026-06-30T10:03:11Z"
    },
    {
      "platform": "linux",
      "product": "kernel-docs",
      "release": "sles 15.6",
      "fixedVersion": "6.4.0-150600.23.112.1",
      "fix": "SUSE-SU-2026:2195-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-2195-1",
      "released": "2026-07-01T08:17:32Z"
    },
    {
      "platform": "linux",
      "product": "kernel-docs",
      "release": "sles 15.7",
      "fixedVersion": "6.4.0-150700.53.55.1",
      "fix": "SUSE-SU-2026:2238-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-2238-1",
      "released": "2026-06-30T10:03:11Z"
    },
    {
      "platform": "linux",
      "product": "kernel-livepatch-SLE15-SP6_Update_26",
      "release": "sles 15.6",
      "fixedVersion": "1-150600.13.3.1",
      "fix": "SUSE-SU-2026:2195-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-2195-1",
      "released": "2026-07-01T08:17:32Z"
    },
    {
      "platform": "linux",
      "product": "kernel-livepatch-SLE15-SP7_Update_15",
      "release": "sles 15.7",
      "fixedVersion": "1-150700.15.3.1",
      "fix": "SUSE-SU-2026:2238-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-2238-1",
      "released": "2026-06-30T10:03:11Z"
    },
    {
      "platform": "linux",
      "product": "kernel-obs-build",
      "release": "sles 15.6",
      "fixedVersion": "6.4.0-150600.23.112.1",
      "fix": "SUSE-SU-2026:2195-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-2195-1",
      "released": "2026-07-01T08:17:32Z"
    },
    {
      "platform": "linux",
      "product": "kernel-obs-build",
      "release": "sles 15.7",
      "fixedVersion": "6.4.0-150700.53.55.1",
      "fix": "SUSE-SU-2026:2238-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-2238-1",
      "released": "2026-06-30T10:03:11Z"
    },
    {
      "platform": "linux",
      "product": "kernel-source",
      "release": "sles 15.6",
      "fixedVersion": "6.4.0-150600.23.112.1",
      "fix": "SUSE-SU-2026:2195-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-2195-1",
      "released": "2026-07-01T08:17:32Z"
    },
    {
      "platform": "linux",
      "product": "kernel-source",
      "release": "sles 15.7",
      "fixedVersion": "6.4.0-150700.53.55.1",
      "fix": "SUSE-SU-2026:2238-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-2238-1",
      "released": "2026-06-30T10:03:11Z"
    },
    {
      "platform": "linux",
      "product": "kernel-syms",
      "release": "sles 15.6",
      "fixedVersion": "6.4.0-150600.23.112.1",
      "fix": "SUSE-SU-2026:2195-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-2195-1",
      "released": "2026-07-01T08:17:32Z"
    },
    {
      "platform": "linux",
      "product": "kernel-syms",
      "release": "sles 15.7",
      "fixedVersion": "6.4.0-150700.53.55.1",
      "fix": "SUSE-SU-2026:2238-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-2238-1",
      "released": "2026-06-30T10:03:11Z"
    },
    {
      "platform": "linux",
      "product": "kernel-zfcpdump",
      "release": "sles 15.7",
      "fixedVersion": "6.4.0-150700.53.55.1",
      "fix": "SUSE-SU-2026:2238-1",
      "url": "https://patchblox.com/security/fix/linux/suse-su-2026-2238-1",
      "released": "2026-06-30T10:03:11Z"
    },
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 12.15 (bookworm)",
      "fixedVersion": "6.1.170-1",
      "fix": "DEBIAN-CVE-2026-31507",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2026-31507",
      "released": "2026-05-15T16:01:09Z"
    },
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 13.5 (trixie)",
      "fixedVersion": "6.12.85-1",
      "fix": "DEBIAN-CVE-2026-31507",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2026-31507",
      "released": "2026-05-15T16:01:09Z"
    },
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 14",
      "fixedVersion": "6.19.11-1",
      "fix": "DEBIAN-CVE-2026-31507",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2026-31507",
      "released": "2026-05-15T16:01:09Z"
    }
  ],
  "noFixYet": [],
  "dataAsOf": "2026-11-09T01:18:40Z",
  "attribution": {
    "text": "Data: Patchblox Patch Radar",
    "url": "https://patchblox.com/security/patch-radar",
    "terms": "https://patchblox.com/security/patch-radar/use-the-data"
  }
}