ช่องโหว่ใน Glibc ld.so ซึ่งทำให้คุณได้รับสิทธิ์รูทในระบบ

Qualys ได้ระบุช่องโหว่ร้ายแรง (CVE-2023-4911) ในลิงก์เกอร์ ld.so ซึ่งเป็นส่วนหนึ่งของไลบรารี C ของระบบ Glibc (GNU libc) ช่องโหว่นี้ช่วยให้ผู้ใช้ภายในสามารถยกระดับสิทธิ์ของตนเองได้โดยการระบุข้อมูลที่สร้างขึ้นเป็นพิเศษในตัวแปรสภาพแวดล้อม GLIBC_TUNABLES ก่อนที่จะเรียกใช้ไฟล์ปฏิบัติการที่มีแฟล็กรูท suid เช่น /usr/bin/su

Возможность успешной эксплуатации уязвимости продемонстрирована в Fedora 37 и 38, Ubuntu 22.04 и 23.04, Debian 12 и 13. Предполагается, что уязвимость проявляется и в любых других дистрибутивах, использующих Glibc. Дистрибутивы на базе системной Си-библиотеки Musl, такие как Alpine Linux, проблеме не подвержены. Уязвимость устранена в патче, добавленном 2 октября. Проследить за выпуском обновлений пакетов в дистрибутивах можно на страницах Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, Gentoo, ALT Linux.

ช่องโหว่นี้เกิดจากการเปลี่ยนแปลงที่นำมาใช้ในเดือนเมษายน 2021 และรวมอยู่ใน glibc เวอร์ชัน 2.34 เนื่องจากข้อผิดพลาดในโค้ดการแยกวิเคราะห์สำหรับสตริงที่ระบุในตัวแปรสภาพแวดล้อม GLIBC_TUNABLES การรวมพารามิเตอร์ที่ไม่ถูกต้องในตัวแปรนี้ทำให้ค่าที่แยกวิเคราะห์ถูกเขียนเกินจุดสิ้นสุดของบัฟเฟอร์ที่จัดสรร ปัญหาจะปรากฏเมื่อแทนที่จะใช้ลำดับ "name=val" มาตรฐาน พารามิเตอร์ถูกระบุในรูปแบบการกำหนดค่าแบบคู่: "name=name=val" ในกรณีนี้ การกำหนดค่าจะถูกประมวลผลสองครั้ง ครั้งแรกเป็น "name=name=val" และครั้งที่สองเป็น "name=val" การประมวลผลแบบคู่นี้ส่งผลให้ผลลัพธ์ "name=name=val:name=val" มีขนาดใหญ่กว่าขนาดของบัฟเฟอร์ tunestr

Исследователями подготовлен стабильно работающий эксплоит, который позволяет получить права root при применении практически с любой программой с флагом suid root. Исключение составляют утилита sudo (меняет значение ELF RUNPATH), утилиты chage и passwd в Fedora (защищены отдельными правилами SELinux) и утилита snap-confine в Ubuntu (защищена отдельными правилами AppArmor). Предложенный метод эксплуатации также не работает в RHEL 8 и RHEL 9, хотя данные ветки и подвержены уязвимости (для атаки требуется создание иного эксплоита). Код эксплоита будет опубликован позднее после повсеместного устранения уязвимости. Проверить подверженность своей системы уязвимости можно ниже указанной командой, которая в случае наличия проблемы завершиться крахом: env -i «GLIBC_TUNABLES=glibc.malloc.mxfast=glibc.malloc.mxfast=A» «Z=`printf ‘%08192x’ 1`» /usr/bin/su —help

นอกจากนี้ ยังมีการแก้ไขช่องโหว่ใน Glibc อีกสองรายการ:

  • CVE-2023-4806 – มีช่องโหว่การใช้งานหลังจากปลดปล่อย (use-after-free) ในฟังก์ชัน getaddrinfo() ช่องโหว่นี้เกิดขึ้นเมื่อปลั๊กอิน NSS ใช้งานเฉพาะคอลแบ็ก "_gethostbyname2_r" และ "_getcanonname_r" เท่านั้น แต่ไม่รองรับคอลแบ็ก "_gethostbyname3_r" เพื่อใช้ประโยชน์จากช่องโหว่นี้ เซิร์ฟเวอร์ DNS จะต้องส่งคืนที่อยู่ IPv6 และ IPv4 จำนวนมากสำหรับโฮสต์ที่ร้องขอ ซึ่งจะทำให้กระบวนการที่เรียกใช้ฟังก์ชัน getaddrinfo สำหรับตระกูล AF_INET6 ล้มเหลวเมื่อมีการตั้งค่าแฟล็ก AI_CANONNAME, AI_ALL และ AI_V4MAPPED
  • CVE-2023-5156 - เกิดการรั่วไหลของหน่วยความจำเมื่อเรียกใช้ฟังก์ชัน getaddrinfo สำหรับกลุ่มที่อยู่ AF_INET6 โดยมีการตั้งค่าแฟล็ก AI_CANONNAME, AI_ALL และ AI_V4MAPPED

ที่มา: opennet.ru

ซื้อโฮสติ้งที่เชื่อถือได้สำหรับไซต์ที่มีการป้องกัน DDoS เซิร์ฟเวอร์ VPS VDS 🔥 ซื้อบริการเว็บโฮสติ้งที่เชื่อถือได้ พร้อมระบบป้องกัน DDoS และเซิร์ฟเวอร์ VPS/VDS | ProHoster