FreeBSD құрамына кіретін пинг утилитасындағы қашықтан пайдаланатын түбірлік осалдық

FreeBSD жүйесінде осалдық (CVE-2022-23093) негізгі таратуға енгізілген пинг утилитасында анықталды. Мәселе шабуылдаушы басқаратын сыртқы хостқа пинг жіберу кезінде түбірлік артықшылықтармен қашықтан кодты орындауға әкелуі мүмкін. Түзету FreeBSD 13.1-RELEASE-p5, 12.4-RC2-p2 және 12.3-RELEASE-p10 жаңартуларында қамтамасыз етілген. Анықталған осалдықтың басқа BSD жүйелеріне әсер ететіні әлі белгісіз (NetBSD, DragonFlyBSD және OpenBSD-де осалдықтар туралы есеп әлі жоқ).

Осалдық тексеру сұрауына жауап ретінде алынған ICMP хабарламаларына арналған талдау кодындағы буфердің толып кетуінен туындайды. Ping жүйесінде ICMP хабарламаларын жіберу және қабылдау коды өңделмеген ұяшықтарды пайдаланады және жоғары артықшылықтармен орындалады (утилита setuid түбірлік жалаушасымен бірге келеді). Жауап шикі ұяшықтан алынған пакеттердің IP және ICMP тақырыптарын қайта құру арқылы пинг жағында өңделеді. Таңдалған IP және ICMP тақырыптары буферлерге pr_pack() арқылы көшіріледі, IP тақырыбынан кейін пакетте қосымша кеңейтілген тақырыптар болуы мүмкін.

Мұндай тақырыптар пакеттен шығарылады және тақырып блогына енгізіледі, бірақ буфер өлшемін есептеу кезінде ескерілмейді. Егер хост жіберілген ICMP сұрауына жауап ретінде қосымша тақырыптары бар пакетті қайтарса, олардың мазмұны стектегі буфер шекарасынан тыс аймаққа жазылады. Нәтижесінде, шабуылдаушы стекке 40 байтқа дейін деректерді қайта жаза алады, бұл өз кодын орындауға мүмкіндік береді. Мәселенің ауырлығы қате орын алған кезде процестің жүйе шақыруын оқшаулау (мүмкіндік режимі) күйінде болуымен жеңілдетіледі, бұл осалдықты пайдаланғаннан кейін жүйенің қалған бөлігіне қол жеткізуді қиындатады. .

Ақпарат көзі: opennet.ru

пікір қалдыру