CVE-2025-38502
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: bpf: cgroup lokal yaddaşında sərhədlərdən kənar (oob) girişin düzəldilməsi Lonial bildirmişdir ki, tail call-lar vasitəsilə cgroup lokal yaddaşında sərhədlərdən kənar giriş yaradmaq mümkündür. Hər biri fərqli dəyər ölçüsünə malik cgroup lokal yaddaşından istifadə edən iki proqram və bir proqramın digərinə tail call etdiyi hal nəzərə alındıqda, verifikator hər bir proqramı tək-tək uğurla təsdiqləyir. Lakin işləmə zamanı kontekstdə bpf_cg_run_ctx, BPF proqramını və proqramın istifadə etdiyi hər hansı cgroup lokal yaddaş növünü ehtiva edən bpf_prog_array_item saxlayır. bpf_get_local_storage() kimi köməkçi funksiyalar bunu işləmə zamanı kontekstdən götürür: ctx = container_of(current->bpf_ctx, struct bpf_cg_run_ctx, run_ctx); storage = ctx->prog_item->cgroup_storage[stype]; if (stype == BPF_CGROUP_STORAGE_SHARED) ptr = &READ_ONCE(storage->buf)->data[0]; else ptr = this_cpu_ptr(storage->percpu_buf); İlkin olaraq qoşulmuş proqram tərəfindən çağırılan ikinci proqram üçün bu o deməkdir ki, bpf_get_local_storage() öz xəritəsini deyil, əvvəlki proqramın xəritəsini götürəcək. Ölçülərin uyğunsuzluğu nəticəsində bu, gözlənilməz sərhədlərdən kənar girişə səbəb ola bilər. Bu problemi həll etmək üçün biz bpf_map_owner strukturunu storage_cookie[] massivi ilə genişləndirməliyik ki, i) ikinci proqram bpf_get_local_storage()-dan istifadə edirsə, orijinal proqramın dəqiq xəritələri ilə uyğunlaşdırılsın və ya ii) ikinci proqram heç bir cgroup lokal yaddaş xəritəsindən istifadə etmirsə, tail call kombinasiyasına icazə verilsin.
Necə düzəltmək olar
- linux linux_kernel5.15.192, 6.1.151, 6.6.105, 6.12.46, 6.16.1 və ya daha yeni versiya
- siemens simatic_cn_4100_firmware5.0 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| linux linux_kernel | 5.9 ≤ v < 5.15.192, 5.16 ≤ v < 6.1.151, 6.2 ≤ v < 6.6.105, 6.7 ≤ v < 6.12.46, 6.13 ≤ v < 6.16.1 | 5.15.192, 6.1.151, 6.6.105, 6.12.46, 6.16.1 |
| debian debian_linux | 11.0 | — |
| siemens simatic_cn_4100_firmware | v < 5.0 | 5.0 |
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.