Direct naar de inhoud
⚡ Kritieke cyberalerts voor jouw sector & systemen — direct in je inbox. Aanmelden →
cybernieuws.nl Cybersecurity en informatiebeveiling nieuws alerts live · 8 min 165 bronnen 1 kritiek 18 vandaag
CVE's Videos Dagbriefing

← Terug naar CVE-database

CVE-2026-99032

HIGH · 7.8 CVSS Gepubliceerd:

Beschrijving NL

In de Linux-kernel is de volgende kwetsbaarheid verholpen:

net/smc: bescherm de levensduur van clcsock in smc_getname

smc_getname() dereferenceert smc->clcsock zonder vast te houden
clcsock_release_lock. Beëindiging van de linkgroep kan de CLC-socket vrijgeven.
via smc_close_active_abort() terwijl de SMC-socket nog open is.
bijvoorbeeld na het afsluiten (SHUT_WR). Een aanroeper van getsockname() kan smc->clcsock laden, waarna de terminatieworker aan de beurt komt.
kan de pointer wissen en sock_release() aanroepen voordat de aanroeper toegang krijgt.
clcsock->ops of roept getname() aan. Dit veroorzaakt een use-after-free; als de
De worker wist de pointer vóór het laden, wat een NULL-dereferentie veroorzaakt. De bestandsreferentie van de systeemaanroep houdt de SMC-socket in leven, maar niet...
Voorkom dat de CLC-socket asynchroon wordt vrijgegeven. KASAN rapporteerde de volgende resultaten met behulp van timinginstrumenten die alleen voor testdoeleinden werden gebruikt:

BUG: KASAN: slab-use-after-free in smc_getname+0x19e/0x1b0
Lezen van grootte 8 op adres ffff888109abb4e0 door taak poc/103
Oproeptracering:
smc_getname+0x19e/0x1b0
do_getsockname+0xe5/0x170
__sys_getsockname+0x8c/0x100

Toegewezen door taak 95:
sock_alloc_inode+0x1e/0x280
sock_alloc+0x3d/0x240
__sock_create+0x7e/0x430
smc_create+0x121/0x240

Vrijgemaakt door taak 0:
kmem_cache_free+0xcc/0x340
rc u_core+0x50a/0x1850

Laatste mogelijk gerelateerde werkcreatie:
ontruimen+0x446/0x6c0
smc_clcsock_release+0xa8/0xd0
smc_close_active_abort+0x26a/0x3a0
__smc_lgr_terminate.part.0+0x137/0x2e0

Houd clcsock_release_lock vast over de wijzercontrole en de getname()
callback om te serialiseren met smc_clcsock_release(). Retourneer -EBADF als de
De CLC-socket is al vrijgegeven, waardoor de bestaande peer behouden blijft.
statuscontrole en anders de retourwaarde van de callback.

Origineel (Engels) tonen

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.

References