อัปเดต OpenWrt 19.07.1 พร้อมลบช่องโหว่การปลอมแปลงแพ็คเกจ

มีการเผยแพร่การเผยแพร่การแก้ไขของ OpenWrt แล้ว 18.06.7 и 19.07.1ซึ่งมันจะถูกกำจัดออกไป ความเปราะบางที่เป็นอันตราย (CVE-2020-7982) ในตัวจัดการแพ็คเกจ ปฏิบัติการซึ่งช่วยให้คุณสามารถทำการโจมตี MITM และแทนที่เนื้อหาของแพ็คเกจที่ดาวน์โหลดจากพื้นที่เก็บข้อมูล เนื่องจากข้อผิดพลาดในรหัสยืนยันการตรวจสอบ ผู้โจมตีสามารถสร้างเงื่อนไขภายใต้การตรวจสอบความถูกต้องของ SHA-256 ที่มีอยู่ในดัชนีแพ็กเก็ตที่เซ็นชื่อแบบดิจิทัลจะถูกละเว้น ซึ่งทำให้สามารถข้ามกลไกในการตรวจสอบความสมบูรณ์ของทรัพยากร ipk ที่ดาวน์โหลดได้

ปัญหาดังกล่าวเกิดขึ้นตั้งแต่เดือนกุมภาพันธ์ 2017 หลังจากนั้น เพิ่ม รหัสเพื่อละเว้นช่องว่างนำหน้าก่อนเช็คซัม เนื่องจากข้อผิดพลาดเมื่อข้ามช่องว่าง ตัวชี้ไปยังตำแหน่งในบรรทัดจึงไม่ถูกเลื่อน และลูปการถอดรหัสลำดับเลขฐานสิบหก SHA-256 จะส่งคืนการควบคุมทันทีและส่งคืนเช็คซัมที่มีความยาวเป็นศูนย์

เนื่องจากตัวจัดการแพ็คเกจ opkg ใน OpenWrt ถูกเปิดใช้งานด้วยสิทธิ์รูท ในกรณีที่มีการโจมตี MITM ผู้โจมตีสามารถทำการเปลี่ยนแปลงแพ็คเกจ ipk ที่ดาวน์โหลดจากพื้นที่เก็บข้อมูลอย่างเงียบ ๆ ในขณะที่ผู้ใช้ดำเนินการคำสั่ง "opkg install" และจัดระเบียบ เรียกใช้โค้ดของเขาด้วยสิทธิ์รูทโดยการเพิ่มสคริปต์ตัวจัดการของคุณเองลงในแพ็คเกจซึ่งถูกเรียกระหว่างการติดตั้ง เพื่อใช้ประโยชน์จากช่องโหว่นี้ ผู้โจมตีจะต้องจัดให้มีการทดแทนดัชนีแพ็คเกจที่ถูกต้องและลงนามด้วย (เช่น ได้มาจาก downloads.openwrt.org) ขนาดของบรรจุภัณฑ์ที่แก้ไขจะต้องตรงกับขนาดดั้งเดิมที่กำหนดไว้ในดัชนี

ในสถานการณ์ที่คุณต้องดำเนินการโดยไม่ต้องอัปเดตเฟิร์มแวร์ทั้งหมด คุณสามารถอัปเดตเฉพาะตัวจัดการแพ็คเกจ opkg ได้โดยการรันคำสั่งต่อไปนี้:

cd / tmp
opkg ปรับปรุง
opkg ดาวน์โหลด opkg
zcat ./opkg-lists/openwrt_base | grep -A10 "แพ็คเกจ: opkg" | grep SHA256sum
sha256sum ./opkg_2020-01-25-c09fe209-1_*.ipk

ถัดไป เปรียบเทียบเช็คซัมที่แสดง และหากตรงกัน ให้ดำเนินการ:

opkg install ./opkg_2020-01-25-c09fe209-1_*.ipk

เวอร์ชันใหม่ยังกำจัดอีกหนึ่งรายการ จุดอ่อน ในห้องสมุด ลิบูบ็อกซ์ซึ่งอาจนำไปสู่การบัฟเฟอร์ล้นเมื่อประมวลผลในฟังก์ชัน blobmsg_format_json ข้อมูลไบนารีหรือ JSON ที่จัดรูปแบบพิเศษ ไลบรารีถูกใช้ในส่วนประกอบการแจกจ่ายเช่น netifd, procd, ubus, rpcd และ uhttpd รวมถึงในแพ็คเกจ au (เข้าร่วม sysUpgrade CLI) บัฟเฟอร์ล้นเกิดขึ้นเมื่อแอตทริบิวต์ตัวเลขขนาดใหญ่ประเภท "double" ถูกส่งไปในบล็อกหยด คุณสามารถตรวจสอบช่องโหว่ของระบบต่อช่องโหว่ได้โดยการรันคำสั่ง:

$ubus โทร luci getFeatures\
'{ "บานิก": 00192200197600198000198100200400.1922 }'

นอกเหนือจากการขจัดช่องโหว่และแก้ไขข้อผิดพลาดที่สะสมแล้ว OpenWrt 19.07.1 ยังอัปเดตเวอร์ชันของเคอร์เนล Linux (จาก 4.14.162 เป็น 4.14.167) แก้ไขปัญหาด้านประสิทธิภาพเมื่อใช้ความถี่ 5GHz และปรับปรุงการรองรับ Ubiquiti Rocket M อุปกรณ์ไทเทเนียม, Netgear WN2500RP v1,
Zyxel NSA325, Netgear WNR3500 V2, Archer C6 v2, Ubiquiti EdgeRouter-X, Archer C20 v4, Archer C50 v4 Archer MR200, TL-WA801ND v5, HiWiFi HC5962, เราเตอร์ Xiaomi Mi 3 Pro และ Netgear R6350

ที่มา: opennet.ru

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