Խոցելիություն strongSwan IPsec-ում, որը հանգեցնում է կոդի հեռավոր կատարման

strongSwan-ը՝ IPSec-ի վրա հիմնված VPN փաթեթ, որն օգտագործվում է Linux-ում, Android-ում, FreeBSD-ում և macOS-ում, ունի խոցելիություն (CVE-2023-41913), որը կարող է շահագործվել հարձակվողի կողմից հեռակա կոդի կատարման համար: Խոցելիությունը պայմանավորված է charon-tkm գործընթացում իր TKMv2 (Trusted Key Manager) Key Exchange (IKE) արձանագրության ներդրմամբ, ինչը հանգեցնում է բուֆերի արտահոսքի՝ հատուկ ձևաչափված DH (Diffie–Hellman) սխեմայի արժեքները մշակելիս: Խոցելիությունը հայտնվում է միայն այն համակարգերում, որոնք օգտագործում են charon-tkm և strongSwan թողարկումները՝ սկսած 5.3.0-ից: Խնդիրը շտկված է strongSwan 5.9.12 թարմացման մեջ: 5.3.x-ից սկսած ճյուղերում խոցելիությունը շտկելու համար պատրաստվել են նաև կարկատներ։

Սխալն առաջացել է Diffie-Hellman-ի հանրային արժեքների չափը չստուգելու պատճառով, նախքան դրանք ֆիքսված չափի բուֆերում պատճենելը: Արտահոսքը կարող է սկսվել՝ ուղարկելով հատուկ մշակված IKE_SA_INIT հաղորդագրություն, որը մշակվում է առանց նույնականացման: strongSwan-ի ավելի հին տարբերակներում չափի ստուգումն իրականացվել է KE բեռնաթափիչում (Key Exchange), սակայն 5.3.0 տարբերակում ավելացվել են փոփոխություններ, որոնք հանրային արժեքների ստուգումը տեղափոխել են DH արձանագրության մշակողի կողմը ( Diffie-Hellman) և ավելացրեց ընդհանուր գործառույթներ՝ պարզեցնելու հայտնի խմբերի ճշտության ստուգումը D.H. Խափանման պատճառով նրանք մոռացել են ավելացնել ստուգման նոր գործառույթներ charon-tkm գործընթացին, որն աշխատում է որպես պրոքսի IKE գործընթացի և TKM (Trusted Key Manager) միջև, ինչի արդյունքում memcpy() ֆունկցիան պարունակում է չստուգված արժեքներ։ որը թույլ է տվել մինչև 512 բայթ գրել 10000 բայթ բուֆերային տվյալների վրա:

Source: opennet.ru

Добавить комментарий