یک نقص امنیتی در فرآیند استخراج آرشیو dpkg-deb در نرمافزار BusyBox کشف شده است که میتواند منجر به نوشتن فایل در مسیرهای غیرمجاز شود.
جزئیات فنی نقص
در BusyBox، هندلر آرشیو ar برخلاف هندلرهای tar، cpio و unzip که عملیات Flush کردن symlinkهای به تعویق افتاده (deferred symlinks) را تنها یکبار پس از آخرین عضو آرشیو انجام میدهند، این کار را پس از هر عضو آرشیو تکرار میکند.
این تفاوت در منطق پردازش، به مهاجم اجازه میدهد تا با طراحی یک آرشیو .deb خاص که حاوی دو عضو data.tar است، این ترتیب را مورد سوءاستفاده قرار دهد:
- عضو اول: یک symlink تعریف میکند که به یک مسیر مطلق (مانند ‘/’) اشاره دارد. این مورد در ابتدا به عنوان نامناسب (unsafe) شناسایی و به تعویق میافتد، اما بلافاصله پس از عضو اول Flush شده و فعال میگردد.
- عضو دوم: یک فایل معمولی تعریف میکند که مسیر آن از طریق symlink فعال شده در مرحله قبل عبور میکند.
پیامد امنیتی
در نتیجه این فرآیند، فایل مورد نظر مهاجم خارج از دایرکتوری تعیین شده برای استخراج (Extraction Directory) نوشته میشود که منجر به آسیبپذیری Path Traversal و امکان دسترسی غیرمجاز به سیستم فایل (Arbitrary File Write) میگردد.