CRITICAL🇬🇧 English

CVE-2024-50152

Linux Kernel: double free w SMB2 klient (smb2_set_ea)

CVSS 9.8v3.1pub. 2024-11-07upd. 2026-08-04

W jądrze Linux wykryto podatność typu double free (CWE-415) w funkcji smb2_set_ea() klienta SMB2. Błąd może zostać wykorzystany zdalnie bez uwierzytelnienia i prowadzić do poważnych naruszeń bezpieczeństwa systemu.

Pokaż oryginał (EN)

In the Linux kernel, the following vulnerability has been resolved: smb: client: fix possible double free in smb2_set_ea() Clang static checker(scan-build) warning: fs/smb/client/smb2ops.c:1304:2: Attempt to free released memory. 1304 | kfree(ea); | ^~~~~~~~~ There is a double free in such case: 'ea is initialized to NULL' -> 'first successful memory allocation for ea' -> 'something failed, goto sea_exit' -> 'first memory release for ea' -> 'goto replay_again' -> 'second goto sea_exit before allocate memory for ea' -> 'second memory release for ea resulted in double free'. Re-initialie 'ea' to NULL near to the replay_again label, it can fix this double free problem.

🤖 Analiza AI
Jak działa

Podatność wynika z nieprawidłowego zarządzania pamięcią w funkcji smb2_set_ea() znajdującej się w pliku fs/smb/client/smb2ops.c. Wskaźnik 'ea' jest inicjalizowany wartością NULL, a po pierwszym udanym przydziale pamięci i wystąpieniu błędu przepływ sterowania trafia do etykiety 'sea_exit', gdzie pamięć jest zwalniana. Następnie mechanizm powtórzenia operacji (replay) powoduje ponowne przejście do 'sea_exit' przed ponownym przydzieleniem pamięci dla 'ea', co skutkuje drugim wywołaniem kfree() na już zwolnionym wskaźniku. Poprawka polega na ponownym ustawieniu 'ea' na NULL w pobliżu etykiety 'replay_again', co eliminuje możliwość podwójnego zwolnienia.

Skutki

Atakujący może doprowadzić do uszkodzenia sterty kernela (heap corruption), co w konsekwencji może umożliwić zdalne wykonanie kodu (RCE), eskalację uprawnień (privilege escalation) lub destabilizację systemu (crash/DoS).

Mitygacja

Należy zastosować patche dostępne u producenta zgodnie z referencjami — odpowiednie commity zostały opublikowane w repozytoriach kernel.org (git.kernel.org/stable). Zaleca się aktualizację do najnowszej dostępnej wersji stabilnej jądra Linux.

Kogo dotyczy

Linux Kernel — wersje wskazane w referencjach producenta (commit dostępne w stabilnych gałęziach projektu kernel.org)

Uwagi

Podatność została wykryta przez statyczny analizator kodu Clang (scan-build), który wygenerował ostrzeżenie dotyczące próby zwolnienia już zwolnionej pamięci w pliku fs/smb/client/smb2ops.c, linia 1304.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Linux Kernel

    OS
    Linux
    6.126.6.32 – 6.6.59 (bez)6.8 – 6.11.6 (bez)
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje

Powiązane podatności

CVE-2025-10585CRITICAL9.8⚠ KEVPL ✓ten sam produkt

Type confusion w V8 (Google Chrome) — zdalne uszkodzenie sterty

CVE-2025-34028CRITICAL9.3⚠ KEVPL ✓ten sam produkt

Commvault Command Center – nieuwierzytelniony RCE przez path traversal w ZIP

CVE-2022-47986CRITICAL9.8⚠ KEVPL ✓ten sam produkt

RCE przez YAML deserialization w IBM Aspera Faspex

CVE-2022-22954CRITICAL9.8⚠ KEVPL ✓ten sam produkt

RCE w VMware Workspace ONE Access i Identity Manager poprzez server-side template injection

CVE-2020-4006CRITICAL9.1⚠ KEVPL ✓ten sam produkt

Command Injection w VMware Workspace One Access i Identity Manager