CVE-2023-53369

Orta

Təsvir

Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: net: dcb: DCB_ATTR_BCN analiz etmək üçün düzgün siyasət seçilsin dcbnl_bcn_setcfg funksiyası 859ee3c43812 ("DCB: Add support for DCB BCN") commit-ində tətbiq edilən tb[DCB_ATTR_BCN] hissəsini analiz etmək üçün yanlış siyasətdən istifadə edir. Zəhmət olmasa, aşağıdakı koddakı şərhə baxın: static int dcbnl_bcn_setcfg(...) { ... ret = nla_parse_nested_deprecated(..., dcbnl_pfc_up_nest, .. ) // !!! dcbnl_pfc_up_nest atributları üçün // enum dcbnl_pfc_up_attrs daxilindəki DCB_PFC_UP_ATTR_0 -dan DCB_PFC_UP_ATTR_ALL-a qədər ... for (i = DCB_BCN_ATTR_RP_0; i <= DCB_BCN_ATTR_RP_7; i++) { // !!! enum dcbnl_bcn_attrs daxilindəki DCB_BCN_ATTR_RP_0 -dan DCB_BCN_ATTR_RP_7-yə qədər ... value_byte = nla_get_u8(data[i]); ... } ... for (i = DCB_BCN_ATTR_BCNA_0; i <= DCB_BCN_ATTR_RI; i++) { // !!! enum dcbnl_bcn_attrs daxilindəki DCB_BCN_ATTR_BCNA_0 -dan DCB_BCN_ATTR_RI-yə qədər ... value_int = nla_get_u32(data[i]); ... } ... } Yəni, nla_parse_nested_deprecated funksiyası dcbnl_pfc_up_attrs-da təyin edilmiş nlattr elementlərini analiz etmək üçün dcbnl_pfc_up_nest atributlarından istifadə edir. Lakin növbəti giriş kodu hər bir nlattr-ı dcbnl_bcn_attrs atributları kimi götürür. dcbnl_bcn_attrs üçün əlaqəli nla_policy-yə baxdıqda, bu iki siyasətin başlanğıc hissələrinin "eyni" olduğunu görmək olar. static const struct nla_policy dcbnl_pfc_up_nest[...] = { [DCB_PFC_UP_ATTR_0] = {.type = NLA_U8}, [DCB_PFC_UP_ATTR_1] = {.type = NLA_U8}, [DCB_PFC_UP_ATTR_2] = {.type = NLA_U8}, [DCB_PFC_UP_ATTR_3] = {.type = NLA_U8}, [DCB_PFC_UP_ATTR_4] = {.type = NLA_U8}, [DCB_PFC_UP_ATTR_5] = {.type = NLA_U8}, [DCB_PFC_UP_ATTR_6] = {.type = NLA_U8}, [DCB_PFC_UP_ATTR_7] = {.type = NLA_U8}, [DCB_PFC_UP_ATTR_ALL] = {.type = NLA_FLAG}, }; static const struct nla_policy dcbnl_bcn_nest[...] = { [DCB_BCN_ATTR_RP_0] = {.type = NLA_U8}, [DCB_BCN_ATTR_RP_1] = {.type = NLA_U8}, [DCB_BCN_ATTR_RP_2] = {.type = NLA_U8}, [DCB_BCN_ATTR_RP_3] = {.type = NLA_U8}, [DCB_BCN_ATTR_RP_4] = {.type = NLA_U8}, [DCB_BCN_ATTR_RP_5] = {.type = NLA_U8}, [DCB_BCN_ATTR_RP_6] = {.type = NLA_U8}, [DCB_BCN_ATTR_RP_7] = {.type = NLA_U8}, [DCB_BCN_ATTR_RP_ALL] = {.type = NLA_FLAG}, // buradan etibarən fərqlidir [DCB_BCN_ATTR_BCNA_0] = {.type = NLA_U32}, ... [DCB_BCN_ATTR_ALL] = {.type = NLA_FLAG}, }; Beləliklə, mövcud kod xətalıdır və bu nla_parse_nested_deprecated funksiyası dcbnl_pfc_up_nest massivindən kənara çıxa (overflow) və DCB_BCN_ATTR_BCNA_0-dan olan atributları analiz etmək üçün bitişik nla_policy-dən istifadə edə bilər. Bu səbəbdən, iç-içə olan tb[DCB_ATTR_BCN] TLV-ni analiz etmək üçün düzgün siyasət olan dcbnl_bcn_nest istifadə olunmalıdır.

CiddilikOrta
CVSS5.5
İstismar ehtimalı—
MəhsulLinux Kernel
Dərc18 sen 2025
İlk görülmə18 sen 2025

Necə düzəltmək olar

Yeniləyin
  • linux linux_kernel5.4.253, 5.10.190, 5.15.126, 6.1.45, 6.4.10 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
linux linux_kernel2.6.29 ≤ v < 5.4.253, 5.5 ≤ v < 5.10.190, 5.11 ≤ v < 5.15.126, 5.16 ≤ v < 6.1.45, 6.2 ≤ v < 6.4.10, 6.55.4.253, 5.10.190, 5.15.126, 6.1.45, 6.4.10

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-2023-53369 · Linux Kernel · Dark Radar