การวิเคราะห์ความปลอดภัยของแพ็คเกจ BusyBox เผยช่องโหว่เล็กๆ น้อยๆ 14 รายการ

นักวิจัยจาก Claroty และ JFrog ได้เผยแพร่ผลการตรวจสอบความปลอดภัยของแพ็คเกจ BusyBox ซึ่งใช้กันอย่างแพร่หลายในอุปกรณ์ฝังตัว และนำเสนอชุดยูทิลิตี้ UNIX มาตรฐานที่รวมอยู่ในไฟล์ปฏิบัติการไฟล์เดียว ในระหว่างการสแกน พบช่องโหว่ 14 รายการ ซึ่งได้รับการแก้ไขแล้วใน BusyBox 1.34 ที่เผยแพร่เดือนสิงหาคม ปัญหาเกือบทั้งหมดไม่เป็นอันตรายและเป็นที่น่าสงสัยจากมุมมองของการใช้งานในการโจมตีจริง เนื่องจากพวกเขาต้องการการเรียกใช้ยูทิลิตี้พร้อมข้อโต้แย้งที่ได้รับจากภายนอก

ช่องโหว่ที่แยกต่างหากคือ CVE-2021-42374 ซึ่งช่วยให้คุณทำให้เกิดการปฏิเสธการให้บริการเมื่อประมวลผลไฟล์บีบอัดที่ออกแบบมาเป็นพิเศษด้วยยูทิลิตี้ unlzma และในกรณีของการประกอบด้วยตัวเลือก CONFIG_FEATURE_SEAMLESS_LZMA รวมถึงส่วนประกอบ BusyBox อื่น ๆ รวมถึง tar, unzip, rpm, dpkg, lzma และ man

ช่องโหว่ CVE-2021-42373, CVE-2021-42375, CVE-2021-42376 และ CVE-2021-42377 อาจทำให้เกิดการปฏิเสธการให้บริการ แต่จำเป็นต้องเรียกใช้ยูทิลิตี้ man, ash และ hush พร้อมพารามิเตอร์ที่ระบุโดยผู้โจมตี ช่องโหว่ CVE-2021-42378 ถึง CVE-2021-42386 ส่งผลกระทบต่อยูทิลิตี้ awk และอาจนำไปสู่การเรียกใช้โค้ด แต่สำหรับสิ่งนี้ ผู้โจมตีจำเป็นต้องตรวจสอบให้แน่ใจว่ารูปแบบบางอย่างถูกดำเนินการใน awk (จำเป็นต้องเรียกใช้ awk ด้วยข้อมูลที่ได้รับ จากผู้โจมตี)

นอกจากนี้ คุณยังสามารถสังเกตช่องโหว่ (CVE-2021-43523) ในไลบรารี uclibc และ uclibc-ng ได้ เนื่องจากเมื่อเข้าถึงฟังก์ชัน gethostbyname(), getaddrinfo(), gethostbyaddr() และ getnameinfo() ชื่อโดเมนไม่ได้รับการตรวจสอบและล้างชื่อที่ส่งคืนโดยเซิร์ฟเวอร์ DNS ตัวอย่างเช่น เพื่อตอบสนองต่อคำขอแก้ไขบางอย่าง เซิร์ฟเวอร์ DNS ที่ควบคุมโดยผู้โจมตีสามารถส่งคืนโฮสต์เช่น “ alert(‘xss’) .attacker.com" และจะถูกส่งกลับคืนมาโดยไม่มีการเปลี่ยนแปลงสำหรับบางโปรแกรมที่สามารถแสดงพวกมันในอินเทอร์เฟซเว็บได้โดยไม่ต้องล้างข้อมูล ปัญหาได้รับการแก้ไขในการเปิดตัว uclibc-ng 1.0.39 โดยการเพิ่มโค้ดเพื่อตรวจสอบความถูกต้องของชื่อโดเมนที่ส่งคืน ซึ่งมีการใช้งานคล้ายกับ Glibc

ที่มา: opennet.ru

เพิ่มความคิดเห็น