CVE-2026-74658

Naməlum

Təsvir

Linux kernel-də aşağıdakı zəiflik aradan qaldırılmışdır: futex: Robust futex çıxış yarışının (exit race) daha effektiv qarşısının alınması Robust futex kilidinin açılması bütün futex dəyəri üzərində 0 saxlayır - beləliklə FUTEX_WAITERS silinir - və tək bir gözləyicini oyadır. Bu oyanma birdəfəlik bildirişdir: protokol onun qəbul edən tərəfin ya futex-i əldə etməsinə (və sonda digər rəqabətli müraciətlərdən xəbərdar olaraq kilidi açmasına), ya da yenidən yatmazdan əvvəl FUTEX_WAITERS-i aktivləşdirməsinə əsaslanır. Əgər oyadılan gözləyici hər hansı birini yerinə yetirmədən öldürülərsə, kernel müdaxilə etməli və növbəti tapşırığı oyatmalıdır. Bu, futex protokolunun məlum mürəkkəbliyidir və əvvəllər ca16d5bee598 ("futex: Prevent robust futex exit race") commit-i ilə qismən düzəldilmişdi. Təəssüf ki, həmin düzəliş kifayət deyil. Əgər bu müddət ərzində üçüncü bir tapşırıq rəqabətsiz sürətli yol (fast path) vasitəsilə futex-i yenidən əldə etsə, bildiriş itirilir: robust çıxış emalı onun başqa bir tapşırıq tərəfindən sahiblənildiyini görür və heç bir tədbir görmür, yeni sahibi isə kilidi açarkən FUTEX_WAITERS-in olmadığını görür və heç kimi oyatmır. Qalan gözləyicilər boş futex arxasında əbədi yuxuya gedirlər: A futex-ə sahibdir, B və C FUTEX_WAIT-də yatırlar uval == A | FUTEX_WAITERS A robust unlock: 0 saxla, FUTEX_WAKE(1) B-ni oyadır uval == 0 D fast path acquire: cmpxchg(0 -> D) uval == D, FUTEX_WAITERS yoxdur B oyanmaya reaksiya verməzdən əvvəl öldürülür B exit walk, gözlənilən əməliyyat: owner D != B -> tədbir yoxdur D unlock: FUTEX_WAITERS yoxdur -> oyanma yoxdur C əbədi yatır Bu, FUTEX_WAITERS bitinin ardıcıllığını qorumağa nail olmayan implementasiyadakı aşkar çatışmazlıqdır. Bu problemi, robust siyahısı çıxış emalını genişləndirməklə həll edin: əgər futex sözü başqa bir thread tərəfindən sahiblənilibsə, lakin FUTEX_WAITERS təyin edilməyibsə, əlavə oyanmanı yerinə yetirin. Bu, illərdir müzakirə edilən və 3ca9595d9fb6 ("futex: Add support for unlocking robust futexes") commit-i və sonrakı dəyişikliklərlə həll olunmuş rəqabətsiz əldə etmə/buraxma və azad etmə ardıcıllığı problemini düzəltmir, çünki həmin dəyişikliklər yuxarıda təsvir olunan problemi nəzərə almamışdı. Rəqabətli robust futex-lərin kernel daxilində kilidinin açılmasına əsaslanan daha tam həll yolu bu dəyişiklik kontekstində müzakirə edilmişdir və yaxın zamanda mainline-ə əlavə edilməlidir. [ tglx: Dəyişiklik jurnalını bir qədər redaktə et və kodlaşdırma stilini düzəlt ]

CiddilikNaməlum
CVSS—
İstismar ehtimalı—
MəhsulLinux
Dərc22 avq 2026
İlk görülmə22 avq 2026

Necə düzəltmək olar

Yeniləyin
  • Linux Linux83b0f71d5a313a765754acab51d2ecc5de76e0b9, a1c2b7b86a946b6b172bce44d74553da2323a36c, 33bfa85458105d6169ebdb697f692b8bb8025bae, aa5c571901c6b22b58373693a4bf889ecab11ff5, 925628656b73b70930972ccde421de4f758d8650, 7b8c53263f8878bdd12c87e147ac6feca5c05211, 7cf710e70f9bb8ea75f759ebed09871801315992, 6d4514ca9cdf61fec4ec634cf50386f6f7e69748, 3.17, 4.10, 4.15, 4.20, 5.4, 5.5 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
Linux Linuxca16d5bee59807bf04deaab0a8eccecd5061528c ≤ v < 83b0f71d5a313a765754acab51d2ecc5de76e0b9, ca16d5bee59807bf04deaab0a8eccecd5061528c ≤ v < a1c2b7b86a946b6b172bce44d74553da2323a36c, ca16d5bee59807bf04deaab0a8eccecd5061528c ≤ v < 33bfa85458105d6169ebdb697f692b8bb8025bae, ca16d5bee59807bf04deaab0a8eccecd5061528c ≤ v < aa5c571901c6b22b58373693a4bf889ecab11ff5, ca16d5bee59807bf04deaab0a8eccecd5061528c ≤ v < 925628656b73b70930972ccde421de4f758d8650, ca16d5bee59807bf04deaab0a8eccecd5061528c ≤ v < 7b8c53263f8878bdd12c87e147ac6feca5c05211, ca16d5bee59807bf04deaab0a8eccecd5061528c ≤ v < 7cf710e70f9bb8ea75f759ebed09871801315992, ca16d5bee59807bf04deaab0a8eccecd5061528c ≤ v < 6d4514ca9cdf61fec4ec634cf50386f6f7e69748, 8dd558881e0f4d6942c19bd8f7b1a7c19becb59e, b90aa237f469c3575190a5e6a855b76ad1d2ce94, 3e24098da750991f75819069c79e090dfd029219, 2819f4030f43057238992a4adcd950d7c95aff65, 2c60b44d8ba9d62c2693d2692f118177f212b1a8, 82ca3ab31b9cf23b86436a85381e4c5757bc6b80, 3.16.82 ≤ v < 3.17, 4.9.264 ≤ v < 4.10, 4.14.158 ≤ v < 4.15, 4.19.87 ≤ v < 4.20, 5.3.14 ≤ v < 5.4, 5.4.1 ≤ v < 5.5, 5.583b0f71d5a313a765754acab51d2ecc5de76e0b9, a1c2b7b86a946b6b172bce44d74553da2323a36c, 33bfa85458105d6169ebdb697f692b8bb8025bae, aa5c571901c6b22b58373693a4bf889ecab11ff5, 925628656b73b70930972ccde421de4f758d8650, 7b8c53263f8878bdd12c87e147ac6feca5c05211, 7cf710e70f9bb8ea75f759ebed09871801315992, 6d4514ca9cdf61fec4ec634cf50386f6f7e69748, 3.17, 4.10, 4.15, 4.20, 5.4, 5.5

Versiyanızı yoxlayın

Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.

Intelligence 360 paketində

Attack Surface Management

Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.

CVE-2026-74658 · Linux · Dark Radar