CVE-2026-99032 (GCVE-0-2026-99032)

Vulnerability from cvelistv5 – Published: 2026-10-23 12:21 – Updated: 2026-10-24 14:10
VLAI
Title
net/smc: protect clcsock lifetime in smc_getname
Summary
In the Linux kernel, the following vulnerability has been resolved: net/smc: protect clcsock lifetime in smc_getname smc_getname() dereferences smc->clcsock without holding clcsock_release_lock. Link-group termination can release the CLC socket through smc_close_active_abort() while the SMC socket is still open, for example after shutdown(SHUT_WR). A getsockname() caller can load smc->clcsock, then the termination worker can clear the pointer and call sock_release() before the caller accesses clcsock->ops or invokes getname(). This causes a use-after-free; if the worker clears the pointer before the load, it causes a NULL dereference. The syscall's file reference keeps the SMC socket alive but does not prevent asynchronous release of its CLC socket. KASAN reported the following with test-only timing instrumentation: BUG: KASAN: slab-use-after-free in smc_getname+0x19e/0x1b0 Read of size 8 at addr ffff888109abb4e0 by task poc/103 Call Trace: smc_getname+0x19e/0x1b0 do_getsockname+0xe5/0x170 __sys_getsockname+0x8c/0x100 Allocated by task 95: sock_alloc_inode+0x1e/0x280 sock_alloc+0x3d/0x240 __sock_create+0x7e/0x430 smc_create+0x121/0x240 Freed by task 0: kmem_cache_free+0xcc/0x340 rcu_core+0x50a/0x1850 Last potentially related work creation: evict+0x446/0x6c0 smc_clcsock_release+0xa8/0xd0 smc_close_active_abort+0x26a/0x3a0 __smc_lgr_terminate.part.0+0x137/0x2e0 Hold clcsock_release_lock across the pointer check and the getname() callback to serialize with smc_clcsock_release(). Return -EBADF if the CLC socket has already been released, preserving the existing peer state check and the callback's return value otherwise.
Assigner
Linux CNA under the mitre root
CNA scorecard D 53/100 over 7056 records in the last 180 days details
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: b03faa1fafc8018295401dc558bdc76362d860a4 , < e607017a553d2a48e428ec8b8ffb06bf3bb92ce9 (git)
Affected: b03faa1fafc8018295401dc558bdc76362d860a4 , < 1512e3714b3946bda75a160a34f22a51710daa43 (git)
Affected: b03faa1fafc8018295401dc558bdc76362d860a4 , < 6a1833f0d7dc037c8e876b9178ba69d5d107c086 (git)
Affected: b03faa1fafc8018295401dc558bdc76362d860a4 , < c223da71abfaea2ebb1c7208ae9ebf15038f9388 (git)
Affected: b03faa1fafc8018295401dc558bdc76362d860a4 , < 64a6b36b0e1855288080bc5f89769f27d6dc03c8 (git)
Affected: 0b6153d04c96a1d4b6284692386aa21d04d7956c (git)
Affected: 4.19.299 , < 4.20 (semver)
guessed Create a notification for this product.
Linux Linux Affected: 5.1
Unaffected: 0 , < 5.1 (semver)
Unaffected: 6.6.160 , ≤ 6.6.* (semver)
Unaffected: 6.12.113 , ≤ 6.12.* (semver)
Unaffected: 6.18.57 , ≤ 6.18.* (semver)
Unaffected: 7.2.11 , ≤ 7.2.* (semver)
Unaffected: 7.3 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "net/smc/af_smc.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "e607017a553d2a48e428ec8b8ffb06bf3bb92ce9",
              "status": "affected",
              "version": "b03faa1fafc8018295401dc558bdc76362d860a4",
              "versionType": "git"
            },
            {
              "lessThan": "1512e3714b3946bda75a160a34f22a51710daa43",
              "status": "affected",
              "version": "b03faa1fafc8018295401dc558bdc76362d860a4",
              "versionType": "git"
            },
            {
              "lessThan": "6a1833f0d7dc037c8e876b9178ba69d5d107c086",
              "status": "affected",
              "version": "b03faa1fafc8018295401dc558bdc76362d860a4",
              "versionType": "git"
            },
            {
              "lessThan": "c223da71abfaea2ebb1c7208ae9ebf15038f9388",
              "status": "affected",
              "version": "b03faa1fafc8018295401dc558bdc76362d860a4",
              "versionType": "git"
            },
            {
              "lessThan": "64a6b36b0e1855288080bc5f89769f27d6dc03c8",
              "status": "affected",
              "version": "b03faa1fafc8018295401dc558bdc76362d860a4",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "0b6153d04c96a1d4b6284692386aa21d04d7956c",
              "versionType": "git"
            },
            {
              "lessThan": "4.20",
              "status": "affected",
              "version": "4.19.299",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "net/smc/af_smc.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.1"
            },
            {
              "lessThan": "5.1",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.160",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.113",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.57",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.11",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.3",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.160",
                  "versionStartIncluding": "5.1",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.113",
                  "versionStartIncluding": "5.1",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.57",
                  "versionStartIncluding": "5.1",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.11",
                  "versionStartIncluding": "5.1",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3",
                  "versionStartIncluding": "5.1",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "4.19.299",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet/smc: protect clcsock lifetime in smc_getname\n\nsmc_getname() dereferences smc-\u003eclcsock without holding\nclcsock_release_lock. Link-group termination can release the CLC socket\nthrough smc_close_active_abort() while the SMC socket is still open,\nfor example after shutdown(SHUT_WR).\n\nA getsockname() caller can load smc-\u003eclcsock, then the termination worker\ncan clear the pointer and call sock_release() before the caller accesses\nclcsock-\u003eops or invokes getname(). This causes a use-after-free; if the\nworker clears the pointer before the load, it causes a NULL dereference.\nThe syscall\u0027s file reference keeps the SMC socket alive but does not\nprevent asynchronous release of its CLC socket.\n\nKASAN reported the following with test-only timing instrumentation:\n\n  BUG: KASAN: slab-use-after-free in smc_getname+0x19e/0x1b0\n  Read of size 8 at addr ffff888109abb4e0 by task poc/103\n  Call Trace:\n   smc_getname+0x19e/0x1b0\n   do_getsockname+0xe5/0x170\n   __sys_getsockname+0x8c/0x100\n\n  Allocated by task 95:\n   sock_alloc_inode+0x1e/0x280\n   sock_alloc+0x3d/0x240\n   __sock_create+0x7e/0x430\n   smc_create+0x121/0x240\n\n  Freed by task 0:\n   kmem_cache_free+0xcc/0x340\n   rcu_core+0x50a/0x1850\n\n  Last potentially related work creation:\n   evict+0x446/0x6c0\n   smc_clcsock_release+0xa8/0xd0\n   smc_close_active_abort+0x26a/0x3a0\n   __smc_lgr_terminate.part.0+0x137/0x2e0\n\nHold clcsock_release_lock across the pointer check and the getname()\ncallback to serialize with smc_clcsock_release(). Return -EBADF if the\nCLC socket has already been released, preserving the existing peer\nstate check and the callback\u0027s return value otherwise."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - getsockname(2) on an attacker-owned SMC fd follows __sys_getsockname()-\u003edo_getsockname()-\u003esmc_getname(), whose unlocked clcsock dereference is the fault; no SMC/TCP message invokes smc_getname(), so a remote peer alone cannot trigger it.\nAC:L - After shutdown(SHUT_WR) moves the socket to SMC_PEERCLOSEWAIT1, the attacker can loop getsockname() while its SMC peer sends LLC DELETE LINK ALL, driving __smc_lgr_terminate()-\u003esmc_close_active_abort()-\u003esmc_clcsock_release(); both race sides are attacker-controlled.\nPR:L - smc_create() accepts SOCK_STREAM with SMCPROTO_SMC or SMCPROTO_SMC6 without capable() or ns_capable(), while shutdown() and getsockname() require only the socket fd; an ordinary local user can execute the complete path.\nUI:N - The attacker creates and connects the SMC socket, calls shutdown(SHUT_WR), and races getsockname() against termination without requiring another user to mount, open, or approve anything.\nS:U - smc_getname() and the freed CLC socket execute within the same host kernel security authority; this path crosses no guest-host, IOMMU, or other separately governed boundary.\nC:H - The stale struct socket contains both ops and sk; after sock_inode_cache reuse, the indirect getname callback can consume attacker-groomed recycled socket state and return data to userspace, giving the UAF a kernel-memory disclosure primitive.\nI:H - The freed struct socket supplies the indirect ops-\u003egetname target and its sk operand; reclaiming it with attacker-created sockets permits callback/operand confusion and mutable kernel-socket access, supporting control-flow or write-oriented exploitation.\nA:H - If smc_clcsock_release() clears the pointer first, smc_getname() dereferences NULL; if freeing follows the caller\u0027s load, KASAN confirms a slab use-after-free. Either path can produce a kernel oops or panic."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-10-24T14:10:08.095Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/e607017a553d2a48e428ec8b8ffb06bf3bb92ce9"
        },
        {
          "url": "https://git.kernel.org/stable/c/1512e3714b3946bda75a160a34f22a51710daa43"
        },
        {
          "url": "https://git.kernel.org/stable/c/6a1833f0d7dc037c8e876b9178ba69d5d107c086"
        },
        {
          "url": "https://git.kernel.org/stable/c/c223da71abfaea2ebb1c7208ae9ebf15038f9388"
        },
        {
          "url": "https://git.kernel.org/stable/c/64a6b36b0e1855288080bc5f89769f27d6dc03c8"
        }
      ],
      "title": "net/smc: protect clcsock lifetime in smc_getname",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-99032",
    "datePublished": "2026-10-23T12:21:36.202Z",
    "dateReserved": "2026-09-25T10:25:14.387Z",
    "dateUpdated": "2026-10-24T14:10:08.095Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-99032",
      "date": "2026-10-24",
      "epss": "0.00209",
      "percentile": "0.10515"
    },
    "microsoft_vex": {
      "current_release_date": "2026-10-25T01:05:07.000Z",
      "cve": "CVE-2026-99032",
      "id": "msrc_CVE-2026-99032",
      "initial_release_date": "2026-10-25T01:03:54.000Z",
      "product_status:under_investigation": "2",
      "source": "Microsoft CSAF VEX",
      "status": "final",
      "title": "net/smc: protect clcsock lifetime in smc_getname",
      "url": "https://msrc.microsoft.com/csaf/vex/2026/msrc_cve-2026-99032.json",
      "version": "2"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "net/smc/af_smc.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "e607017a553d2a48e428ec8b8ffb06bf3bb92ce9",
                    "status": "affected",
                    "version": "b03faa1fafc8018295401dc558bdc76362d860a4",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "1512e3714b3946bda75a160a34f22a51710daa43",
                    "status": "affected",
                    "version": "b03faa1fafc8018295401dc558bdc76362d860a4",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "6a1833f0d7dc037c8e876b9178ba69d5d107c086",
                    "status": "affected",
                    "version": "b03faa1fafc8018295401dc558bdc76362d860a4",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "c223da71abfaea2ebb1c7208ae9ebf15038f9388",
                    "status": "affected",
                    "version": "b03faa1fafc8018295401dc558bdc76362d860a4",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "64a6b36b0e1855288080bc5f89769f27d6dc03c8",
                    "status": "affected",
                    "version": "b03faa1fafc8018295401dc558bdc76362d860a4",
                    "versionType": "git"
                  },
                  {
                    "status": "affected",
                    "version": "0b6153d04c96a1d4b6284692386aa21d04d7956c",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "4.20",
                    "status": "affected",
                    "version": "4.19.299",
                    "versionType": "semver"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "net/smc/af_smc.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "5.1"
                  },
                  {
                    "lessThan": "5.1",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.6.*",
                    "status": "unaffected",
                    "version": "6.6.160",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.12.*",
                    "status": "unaffected",
                    "version": "6.12.113",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.57",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.2.*",
                    "status": "unaffected",
                    "version": "7.2.11",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.3",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet/smc: protect clcsock lifetime in smc_getname\n\nsmc_getname() dereferences smc-\u003eclcsock without holding\nclcsock_release_lock. Link-group termination can release the CLC socket\nthrough smc_close_active_abort() while the SMC socket is still open,\nfor example after shutdown(SHUT_WR).\n\nA getsockname() caller can load smc-\u003eclcsock, then the termination worker\ncan clear the pointer and call sock_release() before the caller accesses\nclcsock-\u003eops or invokes getname(). This causes a use-after-free; if the\nworker clears the pointer before the load, it causes a NULL dereference.\nThe syscall\u0027s file reference keeps the SMC socket alive but does not\nprevent asynchronous release of its CLC socket.\n\nKASAN reported the following with test-only timing instrumentation:\n\n  BUG: KASAN: slab-use-after-free in smc_getname+0x19e/0x1b0\n  Read of size 8 at addr ffff888109abb4e0 by task poc/103\n  Call Trace:\n   smc_getname+0x19e/0x1b0\n   do_getsockname+0xe5/0x170\n   __sys_getsockname+0x8c/0x100\n\n  Allocated by task 95:\n   sock_alloc_inode+0x1e/0x280\n   sock_alloc+0x3d/0x240\n   __sock_create+0x7e/0x430\n   smc_create+0x121/0x240\n\n  Freed by task 0:\n   kmem_cache_free+0xcc/0x340\n   rcu_core+0x50a/0x1850\n\n  Last potentially related work creation:\n   evict+0x446/0x6c0\n   smc_clcsock_release+0xa8/0xd0\n   smc_close_active_abort+0x26a/0x3a0\n   __smc_lgr_terminate.part.0+0x137/0x2e0\n\nHold clcsock_release_lock across the pointer check and the getname()\ncallback to serialize with smc_clcsock_release(). Return -EBADF if the\nCLC socket has already been released, preserving the existing peer\nstate check and the callback\u0027s return value otherwise."
          }
        ],
        "id": "CVE-2026-99032",
        "lastModified": "2026-10-24T14:16:53.197",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 7.8,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 1.8,
              "impactScore": 5.9,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            }
          ]
        },
        "published": "2026-10-23T13:17:26.310",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/1512e3714b3946bda75a160a34f22a51710daa43"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/64a6b36b0e1855288080bc5f89769f27d6dc03c8"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/6a1833f0d7dc037c8e876b9178ba69d5d107c086"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/c223da71abfaea2ebb1c7208ae9ebf15038f9388"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/e607017a553d2a48e428ec8b8ffb06bf3bb92ce9"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline

Sightings and recorded dates, grouped by day · UTC

JSON
Events included in the timeline

Loading timeline…


    Loading…

    Loading…

    Loading…

    Related by attack behaviour

    Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.