آسیب پذیری برنامه های پایتون

آسیب پذیری برنامه های پایتون

تاریخ ایجاد

آسیب پذیری سوییچ های سیسکو    
با بررسی های به عمل آمده، به تازگی قطعه کد بهره برداری از آسیب پذیری از نوع rce به صورت عمومی منتشر شده است که ابزار ReportLab که توسط تعداد زیادی از برنامه‌ها برای تولید pdf از ورودی های html استفاده می شود را تحت تاثیر قرار می‌دهد. قطعه کد poc  این آسیب پذیری با شناسه cve-2023-33733 همراه با توضیحات فنی و جزییات آن انتشار یافته است که موجب افزایش تلاش برای بهره برداری ها می گردد. ابزار reportlab توسط پروژه و برنامه های مختلف به عنوان کتابخانه pdf مورد استفاده می گردد و ماهانه توسط برنامه نویسان به طور متوسط 3.5 میلیون بار از python package index  دانلود می گردد. این نقص به علت نقص در تابعی به اسم rl_safe_eval می باشد که وظیفه جلوگیری از اجرا کد مخرب را در برنامه دارد نشئت می گیرد و موجب دسترسی مهاجم به توابع خطرناک داخلی پایتون می شود. نقص تابع مورد نظر موجب گذر از محدودیت های sandbox  برنامه می گردد. تابع rl_safe_eval به عنوان اقدامی برای جلوگیری از یک مشکل مشابه اجرای کد از راه دور که در سال 2019 کشف شد، معرفی گردید بنابراین مهاجمان و محققین مختلفی بر روی روش‌های دور زدن آن تمرکز کردند. Poc منتشر شده تابع داخلی type که به ساخت یک کلاس جدید به اسم word  که از str ارث بری می کند کمک می کند را فراخوانی می‌کند که در آخر موجب دور زدن بررسی های امنیتی و دسترسی به ویژگی هایی مثل code می گردد. سپس در مرحله بعد تابع type خود را فراخوانی می کند و بررسی های امنیتی مربوط به شمارش آرگومان را دور می زند و به مهاجم اجازه دسترسی به تابع type اصلی را برای ایجاد کلاس ها و اشیاء جدید می دهد . این عمل منجر به ساخت یک تابع مخرب می گردد که در صورت اجرا عمل مورد نظر مهاجم را انجام می دهد .

تمامی برنامه ها و محصولاتی که از ابزار reportlab   نسخه ماقبل 3.6.13 در ساختار خود استفاده نموده اند آسیب‌پذیر می‌باشند . 

راه حل جلوگیری از بهره برداری از این نقص بروز رسانی ابزار reportlab به نسخه 3.6.13 می باشد :

 

Pip install reportlab==3.6.13

منابع

https://socradar.io/cve-2023-33733-vulnerability-in-reportlab-allows-bypassing-sandbox-restrictions/