CVE-2025-40123

Yüksək

Təsvir

Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: bpf: Tailcall uyğunluğu üçün expected_attach_type tələbinin tətbiqi Yinhao və başqaları bu yaxınlarda bildirdilər ki: Bizim fuzzer alətimiz Linux kernel-inin BPF alt sistemindəki bpf_prog_test_run_xdp() funksiyasında başladılmamış göstərici (uninitialized pointer) problemini aşkar etdi. Bu, BPF proqramı struct xdp_buff obyektinin txq üzvünə müraciət etməyə çalışdıqda NULL pointer dereference xətasına səbəb olur. Test BPF_PROG_TYPE_XDP tipində iki proqramı başladır: progA, bpf_prog_test_run_xdp() üçün giriş nöqtəsi rolunu oynayır və onun expected_attach_type dəyəri nə BPF_XDP_DEVMAP, nə də BPF_XDP_CPUMAP ola bilər. progA özünə məxsus olan tailcall xəritəsinin bir slotuna çağırış edir. xdp_is_valid_access() yoxlamasından keçmək üçün progB-nin expected_attach_type dəyəri BPF_XDP_DEVMAP olmalıdır. Proqram struct xdp_md-nin egress_ifindex dəyərini qaytarır və sonuncu yalnız qeyd edilən expected_attach_type altında əlçatan ola bilir. Daha sonra progB, progA-nın çağırdığı tailcall-a daxil edilir. Lakin əsas problem yalnız XDP ilə məhdudlaşmır. Digər nümunə BPF_PROG_TYPE_CGROUP_SOCK_ADDR tipli proqramlardır. sock_addr_is_valid_access() və həmçinin sock_addr_func_proto() funksiyalarının məntiqləri proqramların expected_attach_type dəyərindən asılı olaraq dəyişir. Eynilə, BPF_CGROUP_INET4_GETPEERNAME-ə qoşulmuş proqrama, yalnız BPF_CGROUP_INET4_CONNECT üçün aktiv olan və BPF kənarında bpf_bind() funksiyasını çağıran proqrama tailcall etməyə icazə verilməməlidir. Qısaca, expected_attach_type-ın təyin edilməsi, əsas bpf_prog_type-ın imkan verdiklərindən əlavə funksionallığın açılmasına və ya məhdudiyyətlərin tətbiqinə şərait yaradır. Tailcall-ların istifadəsi bu məhdudiyyətləri pozmamalıdır. Problem __bpf_prog_map_compatible() funksiyasında expected_attach_type tələbinin tətbiq edilməsi ilə həll edilmişdir. Qeyd edək ki, biz bunu yalnız tailcall xəritələri üçün tətbiq edirik, lakin BPF devmap-lər və ya cpumap-lar üçün etmirik: Orada proqramlar yeni mühit / kontekst yaradan dev_map_bpf_prog_run*() və cpu_map_bpf_prog_run*() vasitəsilə çağırılır və buna görə də bu hallar sözügedən problemə meyilli deyil.

CiddilikYüksək
CVSS7.8
İstismar ehtimalı—
MəhsulLinux
Dərc12 noy 2025
İlk görülmə12 noy 2025

Necə düzəltmək olar

Yeniləyin
  • Linux Linuxe53a59e7cee5c1605d1ed595933098c2b69108f9, dc4f348952173beb8ceb15be30b249276eccb605, a99de19128aec0913f3d529f529fbbff5edfaff8, 08cb3dc9d2b44f153d0bcf2cb966e4a94b5d0f32, f856c598080ba7ce1252867b8ecd6ad5bdaf9a6a, c1ad19b5d8e23123503dcaf2d4342e1b90b923ad, 4540aed51b12bc13364149bf95f6ecef013197c0 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
Linux Linux5e43f899b03a3492ce5fc44e8900becb04dae9c0 ≤ v < e53a59e7cee5c1605d1ed595933098c2b69108f9, 5e43f899b03a3492ce5fc44e8900becb04dae9c0 ≤ v < dc4f348952173beb8ceb15be30b249276eccb605, 5e43f899b03a3492ce5fc44e8900becb04dae9c0 ≤ v < a99de19128aec0913f3d529f529fbbff5edfaff8, 5e43f899b03a3492ce5fc44e8900becb04dae9c0 ≤ v < 08cb3dc9d2b44f153d0bcf2cb966e4a94b5d0f32, 5e43f899b03a3492ce5fc44e8900becb04dae9c0 ≤ v < f856c598080ba7ce1252867b8ecd6ad5bdaf9a6a, 5e43f899b03a3492ce5fc44e8900becb04dae9c0 ≤ v < c1ad19b5d8e23123503dcaf2d4342e1b90b923ad, 5e43f899b03a3492ce5fc44e8900becb04dae9c0 ≤ v < 4540aed51b12bc13364149bf95f6ecef013197c0, 4.17e53a59e7cee5c1605d1ed595933098c2b69108f9, dc4f348952173beb8ceb15be30b249276eccb605, a99de19128aec0913f3d529f529fbbff5edfaff8, 08cb3dc9d2b44f153d0bcf2cb966e4a94b5d0f32, f856c598080ba7ce1252867b8ecd6ad5bdaf9a6a, c1ad19b5d8e23123503dcaf2d4342e1b90b923ad, 4540aed51b12bc13364149bf95f6ecef013197c0

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-2025-40123 · Linux · Dark Radar