Linux միջուկի IPv6 փաթեթի խոցելիություն, որը թույլ է տալիս հեռակա կոդի կատարումը

Տեղեկություններ են բացահայտվել CVE-2023-6200) խոցելիության մասին Linux միջուկի ցանցային փաթեթում, որը, որոշակի հանգամանքներում, թույլ է տալիս տեղական ցանցից հարձակվողին հասնել իր կոդի կատարմանը՝ ուղարկելով հատուկ նախագծված ICMPv6 փաթեթ։ RA (Router Advertisement) հաղորդագրություն, որը նախատեսված է երթուղիչի մասին տեղեկատվությունը գովազդելու համար:

Խոցելիությունը կարող է օգտագործվել միայն տեղական ցանցից և հայտնվում է IPv6 աջակցությամբ միացված և sysctl պարամետրով «net.ipv6.conf.<network_interface_name>.accept_ra» ակտիվ (կարելի է ստուգել «sysctl net.ipv6.conf» հրամանով: | grep accept_ra»), որը լռելյայն անջատված է RHEL-ում և Ubuntu-ում արտաքին ցանցային ինտերֆեյսների համար, բայց միացված է loopback ինտերֆեյսի համար, որը թույլ է տալիս հարձակում գործել նույն համակարգից:

Խոցելիությունը պայմանավորված է ռասայական վիճակով, երբ աղբահավաքը մշակում է հնացած fib6_info գրառումները, ինչը կարող է հանգեցնել արդեն ազատված հիշողության տարածք մուտք գործելու (օգտագործումից հետո): Երբ ICMPv6 փաթեթը ստանում է երթուղիչի գովազդային հաղորդագրությամբ (RA, Router Advertisement), ցանցի կույտը կանչում է ndisc_router_discovery() ֆունկցիան, որը, եթե RA հաղորդագրությունը պարունակում է տեղեկատվություն երթուղու ժամկետի մասին, կանչում է fib6_set_expires() ֆունկցիան և լրացնում gc_link: կառուցվածքը։ Հնացած գրառումները մաքրելու համար օգտագործեք fib6_clean_expires() ֆունկցիան, որն անջատում է gc_link-ի մուտքը և մաքրում fib6_info կառուցվածքի կողմից օգտագործվող հիշողությունը: Այս դեպքում կա որոշակի պահ, երբ fib6_info կառույցի հիշողությունն արդեն ազատվել է, բայց դրա հղումը շարունակում է մնալ gc_link կառուցվածքում։

Խոցելիությունը ի հայտ եկավ 6.6 ճյուղից սկսած և ֆիքսվեց 6.6.9 և 6.7 տարբերակներում։ Բաշխումների խոցելիությունը շտկելու կարգավիճակը կարելի է գնահատել այս էջերում՝ Debian, Ubuntu, SUSE, RHEL, Fedora, Arch Linux, Gentoo, Slackware: 6.6 միջուկով փաթեթներ առաքող բաշխումներից կարելի է նշել Arch Linux-ը, Gentoo-ն, Fedora-ն, Slackware-ը, OpenMandriva-ն և Manjaro-ն; այլ բաշխումների դեպքում, հնարավոր է, որ սխալով փոփոխությունը հետադարձաբար փոխանցվի ավելի հին միջուկի ճյուղեր ունեցող փաթեթների (համար Օրինակ՝ Debian-ում նշվում է, որ 6.5.13 միջուկով փաթեթը խոցելի է, մինչդեռ խնդրահարույց փոփոխությունը հայտնվել է 6.6 ճյուղում)։ Որպես անվտանգության լուծում՝ կարող եք անջատել IPv6-ը կամ «net.ipv0.conf.*.accept_ra» պարամետրերը սահմանել 6-ի:

Source: opennet.ru

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