یک آسیب پذیری بحرانی از نوع SQL Injection در نسخههای 1.9 و قدیمیتر نرم افزار Apache Fineract شناسایی شده است. این آسیب پذیری که با شناسه CVE-2024-32838 (امتیاز CVSS 9.4) دنیال میشود به مهاجمان احراز هویت شده با دسترسیهای کافی اجازه میدهد تا کدهای مخرب SQL را از طریق پارامترهای کوئری در برخی از endpointهای REST API مانند office و dashboard تزریق کنند. این آسیب پذیری میتواند منجر به افشای اطلاعات حساس، تغییرات غیرمجاز در دادهها و یا حتی کنترل کامل پایگاه داده شود.
Apache Fineract یک پلتفرم متنباز برای خدمات مالی است که به مؤسسات مالی، بانکها، استارتاپها و سازمانهای مالی کمک میکند تا سیستمهای وامدهی، مدیریت حساب، پرداخت و سایر خدمات بانکی را اجرا کنند. این نرمافزار بهطور خاص برای بانکداری خُرد (Microfinance)، مؤسسات مالی کوچک و متوسط (MFIs) و فینتکها طراحی شده است. اکسپلویت موفق این آسیب پذیری میتواند پیامدهای شدیدی از جمله زیان مالی و آسیب به شهرت سازمان را به دنبال داشته باشد.
آسیب پذیری در Apache Funeract ناشی از اعتبارسنجی نادرست ورودی و عدم استفاده از کوئریهای پارامتری در پیاده سازی API آن است. این آسیب پذیری به یک مهاجم احراز هویت شده اجازه میدهد تا دادههای مخرب را به برخی از پارامتر کوئری API Endpoints REST تزریق کند.
آسیب پذیری CVE-2024-32838 در نسخه ۱.۱۰.۱ نرم افزار Apache Fineract پچ شده است.
یک اعتبارسنج SQL (SQL Validator) در این نسخه، پیادهسازی شده است که امکان پیکربندی مجموعهای از تستها و بررسیها را برای کوئریهای SQL فراهم میآورد تا از تقریباً تمامی حملات SQL Injection جلوگیری شود.
توصیه میشود که آخرین نسخه (1.10.1) نرم افزار Apache Fineract را از وب سایت رسمی Apache Fineract دانلود کنید. دستورالعملهای به روزرسانی در این سایت بطور کامل ارائه شده است . پیش از به روزرسانی اطمینان حاصل نمایید که تمامی افزونهها یا یکپارچهسازیهای سفارشی با نسخه جدید سازگار میباشند.
راهکارهای امنیتی
به منظور جلوگیری از آسیب پذیریهای SQL Injection، این اقدامات امنیتی را پیاده سازی کنید:
- استفاده از کوئریهای پارامتری یا دستورات آماده برای تمامی تعاملات پایگاه داده.
- پیادهسازی اعتبارسنجی ورودیها برای اطمینان از اینکه دادههای ورودی کاربر با فرمتهای مورد انتظار سازگار هستند.
- استفاده از یک فریمورک ORM[1] برای تعامل امن با پایگاه داده.
- بازبینی منظم کد برای شناسایی کوئریهای SQL مستقیم و پاک سازی (sanitize) ورودیها در صورت نیاز.
این روشها بهشدت به جلوگیری از حملات SQL Injection کمک میکنند و امنیت سیستم را بهبود میبخشند.
سازمانهایی که از نسخه های آسیب پذیر استفاده می کنند باید هر چه سریعتر دریافت و نصب نسخه 1.10.1 نرم افزار Apache Fineract را در اولویت قرار دهند تا اطمینان حاصل شود که سیستم آنها در برابر این تهدید ایمن خواهد ماند.
[1] Object-Relational Mapping