CVE-2026-19735
Təsvir
subsys/net/ip/tcp.c faylındakı RFC 6528 initial-sequence-number tətbiqi hər bir TCP ISN-i SHA-256(unique_key || four-tuple) və iş vaxtından törəmiş offset əsasında hesablayırdı, burada unique_key sys_csrand_get() tərəfindən bir dəfə doldurulan 128 bitlik gizli açardır. Həmin çağırışın geri dönüş dəyəri nəzərə alınmamışdı və çağırış uğursuz olduqda belə, "once" qoruyucusu "true" olaraq qeyd edilmişdi. sys_csrand_get() funksiyası uğursuzluq zamanı hədəf buferi dəyişməz saxladığı üçün (o, buferi doldurmaq əvəzinə qəsdən entropiya drayverinin xətasını ötürür), tək bir uğursuz çağırış unique_key-i yükləmənin qalan hissəsi boyunca heç bir yenidən cəhd, loq mesajı və ya alternativ variant olmadan bütün sıfırlardan ibarət BSS məzmunu kimi saxlamışdır. Zəif vəziyyətə çatmaq üçün kriptoqrafik təsadüfi mənbənin uğursuzluğu tələb olunur — məsələn, subsys/random/random_entropy_device.c faylındakı entropiya drayverindən gələn -ENODEV/-EIO xətaları (koddakı şərhdə qeyd olunub ki, aparat təminatı RNG "erkən yükləmə hallarında hələ də entropiya toplaya bilər") və ya PSA kriptosu başladılmadıqda və ya hələ aktiv olmayan Bluetooth-HCI entropiya cihazı ilə dəstəkləndikdə subsys/random/random_psa.c faylında psa_generate_random() funksiyasının uğursuz olması. İlk TCP bağlantısı açarın generasiyasını tetikləyir, buna görə də yükləmədən dərhal sonra dinləmə portuna çatan və ya yenidən yükləməni təhrik edə bilən uzaq tərəf, generasiyanın həmin pəncərəyə təsadüf edib-etməyəcinə dolayı yolla təsir göstərə bilir. tcp_init_isn() funksiyası tcp_conn_new()-da hər bir passiv açılış və net_tcp_connect()-da hər bir aktiv açılış üçün çağırılır, buna görə də zəhərlənmiş açar həmin yükləmə üçün bütün TCP bağlantılarını idarə edir. Bütün rəqəmləri sıfır olan açarla ISN, bağlantının four-tuple-u və cihaz səviyyəli zaman offset-inin açıq funksiyasına çevrilir. Yol kənarındakı (off-path) hücumçu istənilən four-tuple üçün heş termini oflayn şəkildə hesablaya və müşahidə edilən tək bir ISN-dən ortaq zaman offset-ini bərpa edə bilər, bundan sonra cihazın digər four-tuple-lar üçün seçəcəyi ISN proqnozlaşdırıla biləndir. Bu, məhz RFC 6528-in təmin etdiyi qorumanı sıradan çıxarır: mənbə ünvanına güvənən tərəflərə qarşı kor TCP bağlantısının saxtalaşdırılması (spoofing) və four-tuple-u təxmin edilə bilən bağlantılara kor məlumat injeksiyası və ya onların sıfırlanması. Entropiya mənbəyi heç vaxt xəta verməyən cihazlar heç vaxt zəif vəziyyətdə olmayıblar. Düzəliş, açar generasiyasını yalnız uğurlu olduqda aktivləşən, əks halda xətanı loqlayan tək bir qorunan köməkçi funksiyaya köçürür və tcp_init_isn()-in məlum sabit açarla heşləmə əvəzinə sys_rand32_get()-ə (CONFIG_NET_TCP_ISN_RFC6528 söndürüldükdə artıq istifadə edilən davranış) keçid etməsini təmin edir.
Necə düzəltmək olar
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| zephyrproject zephyr | 3.7.0 ≤ v ≤ 4.4.2 | — |
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.
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.