Linux өзөгүндө nf_tables, watch_queue жана IPsec ичиндеги эксплуатациялануучу кемчиликтер аныкталган

Linux ядросунда жергиликтүү колдонуучуга системадагы артыкчылыктарын жогорулатууга мүмкүндүк берген бир нече коркунучтуу алсыздыктар аныкталган. Бардык каралып жаткан проблемалар үчүн эксплуатациялардын жумушчу прототиптери даярдалган.

  • Watch_queue окуясына көз салуу подсистемасындагы аялуу (CVE-2022-0995) маалыматтарды ядро ​​эс тутумундагы чектен тыш буферге жазууга мүмкүндүк берет. Чабуул ар кандай артыкчылыксыз колдонуучу тарабынан ишке ашырылышы мүмкүн жана натыйжада алардын коддору ядро ​​укуктары менен иштеши мүмкүн. Алсыздык watch_queue_set_size() функциясында бар жана эстутум алар үчүн бөлүнбөсө дагы, тизмедеги бардык көрсөткүчтөрдү тазалоо аракети менен байланышкан. Көйгөй ядрону "CONFIG_WATCH_QUEUE=y" опциясы менен курууда пайда болот, ал көпчүлүк Linux дистрибьютерлеринде колдонулат.

    Алсыздык 11-мартта кошулган ядро ​​​​өзгөртүүсүндө чечилген. Пакет жаңыртууларынын басылмаларын бул баракчаларда бөлүштүрө аласыз: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Эксплуатациянын прототиби буга чейин эле жалпыга жеткиликтүү жана Ubuntu 21.10 5.13.0-37 ядросу менен иштеп жатканда тамыр мүмкүнчүлүгүн алууга мүмкүнчүлүк берет.

    Linux өзөгүндө nf_tables, watch_queue жана IPsec ичиндеги эксплуатациялануучу кемчиликтер аныкталган

  • esp2022 жана esp27666 ядро ​​модулдарындагы аялуу (CVE-4-6) IPv4 жана IPv6 колдонууда колдонулган IPsec үчүн ESP трансформацияларын (Encapsulating Security Payload) ишке ашыруу менен. Алсыздык кадимки артыкчылыктарга ээ локалдык колдонуучуга ядро ​​эстутумундагы объекттердин үстүнөн жазууга жана системадагы артыкчылыктарын жогорулатууга мүмкүндүк берет. Көйгөй, билдирүүнүн максималдуу көлөмү skb_page_frag_refill структурасы үчүн бөлүнгөн эстутумдун максималдуу өлчөмүнөн ашып кетиши мүмкүн экенин эске алганда, бөлүнгөн эс өлчөмү менен алынган реалдуу маалыматтардын ортосундагы шайкештиктин жоктугунан келип чыгат.

    Алсыздык ядродо 7-мартта оңдолгон (5.17, 5.16.15 ж.б.да бекитилген). Пакет жаңыртууларынын басылмаларын бул баракчаларда бөлүштүрө аласыз: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Жөнөкөй колдонуучуга Ubuntu Desktop 21.10ге демейки конфигурацияда тамыр мүмкүнчүлүгүн алууга мүмкүндүк берген эксплуатациянын жумушчу прототиби GitHub сайтында буга чейин жарыяланган. Кичинекей өзгөрүүлөр менен эксплуатация Fedora жана Debianда да иштейт деп айтылат. Белгилей кетчү нерсе, эксплойт алгач pwn2own 2022 сынагына даярдалган, бирок ядрону иштеп чыгуучулар аны менен байланышкан мүчүлүштүктөрдү аныктап, оңдоп коюшкан, ошондуктан алсыздыктын чоо-жайын ачыкка чыгаруу чечими кабыл алынган.

  • nftables пакет чыпкасынын иштешин камсыз кылган nf_tables модулундагы netfilter подсистемасындагы эки алсыздык (CVE-2022-1015, CVE-2022-1016). Биринчи чыгарылыш жергиликтүү артыкчылыксыз колдонуучуга стектеги бөлүнгөн буферге чектен тышкары жазууга жетишүүгө мүмкүндүк берет. Белгилүү түрдө форматталган жана nftables эрежелерине кирүү мүмкүнчүлүгү бар колдонуучу белгилеген индекстерди текшерүү баскычында иштетилген nftables туюнтмаларын иштетүүдө толуп кетүү пайда болот.

    Алсыздык, иштеп чыгуучулар "enum nft_registers reg" мааниси бир байт деп айткандыктан, белгилүү бир оптималдаштыруулар иштетилгенде, компилятор, C89 спецификациясына ылайык, ал үчүн 32 биттик маанини колдоно алат. . Бул өзгөчөлүктөн улам эстутумду текшерүүдө жана бөлүштүрүүдө колдонулган өлчөмдөр структурадагы маалыматтардын чыныгы өлчөмүнө туура келбейт, бул структуранын куйругу стектеги көрсөткүчтөр менен кабатталып калышына алып келет.

    Көйгөй кодду ядро ​​деңгээлинде аткаруу үчүн пайдаланылышы мүмкүн, бирок ийгиликтүү чабуул үчүн CLONE_NEWUSER же CLONE_NEWNET укуктары менен өзүнчө тармак аттар мейкиндигинде алынышы мүмкүн болгон nftables кирүү керек (мисалы, обочолонгон контейнерди иштете аласыз). Алсыздык компилятор колдонгон оптималдаштыруулар менен да тыгыз байланыштуу, алар, мисалы, “CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y” режиминде курууда иштетилет. Алсыздыкты пайдалануу Linux өзөгү 5.12 менен башталат.

    Нетфильтрдеги экинчи аялуу nft_do_chain иштеткичинде мурунтан эле бошотулган эстутум аймагына (пайдалануудан кийин бош) жетүү менен шартталган жана ядро ​​эс тутумунун башталбаган аймактарынын агып кетишине алып келиши мүмкүн, аны nftables туюнтмалары менен манипуляциялар аркылуу окууга жана колдонууга, мисалы, башка кемчиликтер үчүн иштеп чыгуу учурунда көрсөткүч даректерин аныктоо. Алсыздыкты пайдалануу Linux ядросу 5.13 менен башталышы мүмкүн.

    Алсыздыктар бүгүнкү ядронун 5.17.1, 5.16.18, 5.15.32, 5.10.109, 5.4.188, 4.19.237, 4.14.274 жана 4.9.309 түзүмдөрүндө каралат. Пакет жаңыртууларынын басылмаларын бул баракчаларда бөлүштүрө аласыз: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Көйгөйлөрдү аныктаган изилдөөчү дистрибьютер ядролук пакеттерге жаңыртууларды чыгаргандан кийин бир нече күндөн кийин жарыяланышы пландаштырылган эки алсыздык үчүн жумушчу эксплуаттарды даярдоону жарыялады.

Source: opennet.ru

Комментарий кошуу