پایتوناعتقاد بر این است که بیش از ۳۵۰٫۰۰۰ پروژه منبع باز به‌طور بالقوه در معرض بهره‌برداری قرار می‌گیرند که نتیجه یک نقص امنیتی در ماژول پایتون است که به مدت ۱۵ سال بدون اصلاح باقی‌مانده است.

مخازن منبع باز تعدادی از حوزه‌های صنعتی مانند توسعه نرم‌افزار، هوش مصنوعی/یادگیری ماشین، توسعه وب، رسانه، امنیت و مدیریت فناوری اطلاعات را در برمی‌گیرد.

نقصی که به‌عنوان CVE-2007-4559 ردیابی می‌شود[۱] (با امتیاز ۸/۶ در مقیاس CVSS)، ریشه در ماژول tarfile دارد، که بهره‌برداری موفقیت‌آمیز از آن می‌تواند منجر به اجرای کد از یک نوشتن فایل دلخواه شود.

Kasimir Schulz، محقق امنیتی Trellix در یک مقاله دراین‌باره گفت[۲]: «این آسیب‌پذیری یک حمله پیمایش مسیر در توابع extract و extractall در ماژول tarfile است که به مهاجم اجازه می‌دهد تا فایل‌های دلخواه را با افزودن دنباله «..» به انتهای نام فایل‌ها در بایگانی TAR بازنویسی کند.»

این باگ که در ابتدا در اوت ۲۰۰۷ فاش شد، به این موضوع مربوط می‌شود که چگونه یک آرشیو tar ساخته‌شده‌ی به‌خصوص می‌تواند برای بازنویسی فایل‌های دلخواه روی یک ماشین هدف به‌سادگی پس از باز کردن فایل استفاده شود[۳].

به بیان ساده، یک عامل تهدید می‌تواند با آپلود کردن یک tarfile مخرب از این نقطه‌ضعف بهره‌برداری کند، به‌نحوی‌که فرار از دایرکتوری را ممکن می‌کند که در این دایرکتوری فایل در نظر گرفته شده استخراج می‌شود و اجرای کد رخ می‌دهد، که درنهایت به دشمن اجازه می‌دهد تا به‌طور بالقوه کنترل دستگاه مورد هدف را در دست بگیرد.

در اسناد پایتون برای tarfile آمده است[۴]: “هرگز آرشیوها را از منابع نامعتبر بدون بازرسی قبلی استخراج نکنید. ممکن است فایل‌هایی خارج‌ازمسیر ایجاد شوند، به‌عنوان‌مثال اعضایی که نام فایل‌هایی دارند که با “/” شروع می‌شوند یا نام فایل‌هایی که با دونقطه “..” هستند.”

این آسیب‌پذیری همچنین یادآور نقص امنیتی اخیراً فاش شده در ابزار UnRAR RARlab (CVE-2022-30333) است[۵] که می‌تواند منجر به اجرای کد از راه دور شود.

Trellix همچنین یک ابزار سفارشی به نام Creosote را برای اسکن پروژه‌های آسیب‌پذیر CVE-2007-4559 منتشر کرده است[۶] و از آن برای کشف آسیب‌پذیری در Spyder Python IDE و همچنین Polemarch استفاده می‌کند.

Douglas McKee خاطرنشان کرد[۷]: «این آسیب‌پذیری بدون کنترل، به‌طور ناخواسته به صدها هزار پروژه منبع باز و بسته در سراسر جهان اضافه شده است و سطح حمله زنجیره تأمین نرم‌افزاری قابل‌توجهی را ایجاد کرده است».

منابع

[۱] https://nvd.nist.gov/vuln/detail/CVE-2007-4559

[۲] https://www.trellix.com/en-us/about/newsroom/stories/threat-labs/tarfile-exploiting-the-world.html

[۳] https://youtu.be/bpVmMlUgPJM

[۴] https://docs.python.org/3/library/tarfile.html

[۵] https://thehackernews.com/2022/06/new-unrar-vulnerability-could-let.html

[۶] https://github.com/advanced-threat-research/Creosote

[۷] https://www.trellix.com/en-us/about/newsroom/stories/threat-labs/limiting-the-software-supply-chain-attack-surface.html

[۸] https://thehackernews.com/2022/09/15-year-old-unpatched-python.html