نسخه های اصلاحی توزیع OpenWrt منتشر شده است и ، که در آن حذف می شود (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
نسخه های جدید نیز یکی دیگر را حذف می کنند در کتابخانه ، که هنگام پردازش در یک تابع می تواند منجر به سرریز بافر شود داده های باینری یا JSON سریالی فرمت شده خاص. این کتابخانه در اجزای توزیع مانند netifd، procd، ubus، rpcd و uhttpd و همچنین در بسته استفاده می شود. (حضور در sysUpgrade CLI). سرریز بافر زمانی اتفاق میافتد که ویژگیهای عددی بزرگ از نوع "دو" در بلوکهای حباب منتقل میشوند. با اجرای دستور زیر می توانید آسیب پذیری سیستم خود را در برابر آسیب پذیری ها بررسی کنید:
$ubus call luci getFeatures\
'{ "banik": 00192200197600198000198100200400.1922 }'
نسخه OpenWrt 19.07.1 علاوه بر حذف آسیبپذیریها و تصحیح خطاهای انباشته شده، نسخه هسته لینوکس را نیز بهروزرسانی کرد (از 4.14.162 به 4.14.167)، مشکلات عملکرد هنگام استفاده از فرکانسهای 5 گیگاهرتز را حل کرد و پشتیبانی Rocket را برای M Ubiquiti بهبود بخشید. دستگاه های تیتانیوم، 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 Pro3 و روتر Net6350.
منبع: opennet.ru
