یک محقق امنیتی اعلام کرد یک آسیبپذیری بحرانی اجرای کد از راه دور در وبسایت packagist.org وجود دارد. این وبسایت یکی از بزرگترین مخازن بستههای نرمافزاری PHP است. پروژهی متنباز Packagist سرور پیشفرض مربوط به ابزار Composer است. ابزار Composer ابزاری برای مدیریت وابستگی در بستههای نرمافزاری PHP است. وبسایت packagist.org به کاربران کمک میکند تا بستههای نرمافزاری را جستجو کرده و به Composer اعلام میکند که بستههای نرمافزاری و کدهای آنها را از کجا میتواند دریافت کند.
آمارها نشان میدهد وبسایت Packagist از سال ۲۰۱۲ میلادی که تاسیس شده، میلیاردها بستهی نرمافزاری را ارائه کرده و در حال حاضر نیز ماهانه تقریبا ۴۰۰ میلیون بستهی نرمافزاری از این وبسایت ارائه میشود. آسیبپذیری که محققان امنیتی در این وبسایت کشف کردند، مربوط به یک فیلد متنی بزرگ است که کاربران میتوانند در آن $(execute me) را اجرا کرده و به اجرای دستورات شِل دست یابند. بهطور کلی این آسیبپذیری در داخل عملکرد این وبسایت که مربوط به بارگذاری بستههای نرمافزاری در این وبسایت توسط کاربران است، وجود دارد.
کاربران با ارائهی آدرس URL مربوط به بستههای نرمافزاری در گیت، Perforce ،Subversion و یا Mercurial میتوانند آنها را در این وبسایت بارگذاری کنند. برای اینکه مشخص شود این آدرس URL به چه نوع مخزنی اشاره میکند، Packagist دستورات ویژهای را برای این مخازن اجرا میکند که این آدرس URL به عنوان یکی از آرگومانهای این دستور مورد استفاده قرار میگیرد. با این حال، Packagist به هنگام بررسی مخازن، از ورودیها صرفنظر میکند. در این صورت هر دستوری که مهاجم وارد کند، دوبار اجرا خواهد شد. گروه توسعهدهندهی Packagist سریعا این آسیبپذیری را برطرف کردند. محققی که این آسیبپذیری را کشف کرده، هشدار داد احتمال آلودگی سرورهایی که بستههای نرمافزاری را ارائه میدهند در آینده بسیار زیاد است.