- شناسه CVE-2025-10664 :CVE
- CWE-89, CWE-74 :CWE
- yes :Advisory
- منتشر شده: سپتامبر 18, 2025
- به روز شده: سپتامبر 18, 2025
- امتیاز: 7.3
- نوع حمله: SQL Injection
- اثر گذاری: Unknown
- حوزه: نرم افزارهای کاربردی
- برند: PHPGurukul
- محصول: Small CRM
- وضعیتPublished :CVE
- Yes :POC
- وضعیت آسیب پذیری: patch نشده
چکیده
یک آسیب پذیری در نرمافزار Small CRM نسخه 4.0 از شرکت PHPGurukul، در فایل /create-ticket.php شناسایی شده است که به دلیل عدم اعتبارسنجی کافی ورودی کاربر در پارامتر subject، امکان تزریق SQL (SQL را فراهم میکند. این ضعف امنیتی به مهاجم اجازه میدهد از راه دور کوئریهای مخرب SQL اجرا کرده، بهطور غیرمجاز به پایگاهداده دسترسی یابد، دادهها را تغییر داده یا حذف کند و اطلاعات حساس را استخراج نماید.
توضیحات
آسیبپذیری CVE-2025-10664 در نرمافزار Small CRM یک سیستم مدیریت ارتباط با مشتری کوچک مبتنی بر PHP نسخه 4.0، ناشی از ضعف در اعتبارسنجی ورودی در فایل /create-ticket.php است و مطابق با CWE-89 و CWE-74 طبقهبندی میشود.
این ضعف در تابع ناشناختهای از فایل /create-ticket.php رخ میدهد، جایی که پارامتر subject بدون فیلتر یا اعتبارسنجی مناسب مستقیماً در کوئری SQL استفاده میشود. مهاجم میتواند با دستکاری این پارامتر، کوئریهای مخرب SQL را تزریق کند. آسیب پذیری از نوع time-based blind SQL Injection (تزریق blind SQL مبتنی بر زمان) است که معمولا با استفاده از تابع SLEEP در MySQL قابل بهرهبرداری است. کد اثبات مفهومی (PoC) نشان میدهد که با ارسال یک درخواست HTTP POST به مسیر /create-ticket.php و قرار دادنِ پیلود مخرب در پارامتر subject می توان آسیب پذیری را اثبات کرد.
این آسیب پذیری بدون نیاز به لاگین یا احراز هویت از طریق شبکه با پیچیدگی پایین و بدون تعامل کاربر قابل بهرهبرداری است. پیامدهای آن شامل دسترسی غیرمجاز به پایگاه داده، افشای اطلاعات حساس (مانند دادههای کاربران)، تغییر یا حذف دادهها و حتی اختلال در سرویس است. تاکنون شرکت PHPGurukul پچ یا به روزرسانی رسمی منتشر نکرده است.
CVSS
Score | Severity | Version | Vector String |
6.9 | MEDIUM | 4.0 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P |
7.3 | HIGH | 3.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L/E:P/RL:X/RC:R |
7.3 | HIGH | 3.0 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L/E:P/RL:X/RC:R |
7.5 | — | 2.0 | AV:N/AC:L/Au:N/C:P/I:P/A:P/E:POC/RL:ND/RC:UR |
لیست محصولات آسیب پذیر
Versions | Product |
affected at 4.0 | Small CRM |
استفاده محصول در ایران
در این جدول، تعداد صفحات ایندکسشده در گوگل با دامنه .ir که Small CRMرا ذکر کرده اند، ثبت شده است. این داده صرفاً برای برآورد تقریبی حضور محصولات در وب ایران استفاده شده و نمایانگر میزان نصب دقیق و استفاده واقعی نیست.
Approx. Usage in .ir Domain via Google
(Total Pages) |
Search Query (Dork) | Product |
6 | site:.ir “Small CRM” | Small CRM |
نتیجه گیری
این آسیبپذیری در Small CRM به دلیل عدم اعتبارسنجی پارامتر subject در create-ticket.php، امکان تزریق SQL را فراهم میکند و میتواند منجر به دسترسی کامل به پایگاه داده و افشای اطلاعات حساس شود. با توجه به انتشار پچ رسمی، اجرای فوری اقدامات زیر برای کاهش ریسک ضروری است:
- جایگزینی: نرمافزار را با سیستمهای CRM امن جایگزین کنید.
- استفاده از Prepared Statements: از کوئریهای آماده (Prepared Statements) و بایندینگ پارامترها در کد PHP استفاده کنید تا ورودیهای کاربر به عنوان داده تلقی شده و به عنوان کد SQL اجرا نشوند.
- اعتبارسنجی و فیلتر ورودی: ورودیهای کاربر مانند subject را با استفاده از توابع فیلتر PHP مانند filter_var یا htmlspecialchars اعتبارسنجی و پاکسازی کنید تا از ارسال فرمتهای مخرب جلوگیری شود.
- محدودسازی مجوزهای پایگاه داده: حساب کاربری اتصال به پایگاه داده را با حداقل مجوزها مانند SELECT/INSERT تنظیم کرده و از حسابهای root یا admin برای عملیات عادی استفاده نکنید.
- مسدودسازی درخواستهای مشکوک: با فایروال اپلیکیشن وب (WAF) یا تنظیمات سروردرخواستهای POST حاوی پیلودهای SQL مخرب مانند SLEEP را مسدود کنید.
- نظارت بر لاگها: لاگهای پایگاه داده و وبسرور را برای کوئریهای غیرعادینظارت کنید و از ابزارهایی مانند IDS/IPS برای تشخیص تزریق SQL استفاده نمایید.
- اعمال محدودیت های بیشتر: حتی اگر ضعف بدون نیاز به لاگین قابل بهره برداری باشد، لایههای احراز هویت اضافی مانند CAPTCHA یا محدودیت نرخ (Rate Limiting) برای فرمهای تیکت اعمال کنید.
- آموزش و تست: توسعهدهندگان را با ریسکهای SQL Injection آشنا کنید و تستهای امنیتی منظم انجام دهید.
اجرای این اقدامات ریسک بهرهبرداری را به طور قابل توجهی کاهش داده و امنیت سیستم CRM را حفظ میکند. اولویت با اعمال prepared statements است، چراکه مؤثرترین روش برای جلوگیری از تزریق SQL محسوب میشود.
امکان استفاده در تاکتیک های Mitre Attack
Initial Access TA0001
استفاده از پارامتر subject در فرم create ticket برای تزریق SQL و دسترسی اولیه به دادههای دیتابیس، اکسپلویت غالبا از طریق درخواست HTTP POST بدون نیاز به احراز هویت انجام میشود
Execution TA0002
اجرای کوئریهای مخرب روی پایگاه داده که میتواند منجر به خواندن یا تغییر دادهها شود و در موارد خاص اجرای عملیات سیستمی از طریق دستورات ثبت شده در دیتابیس را ممکن میسازد
Persistence TA0003
مهاجم میتواند دادههای جعلی یا حساب مدیریتی در دیتابیس بنویسد تا دسترسی بلندمدت فراهم گردد
Privilege Escalation TA0004
با دسترسی به دیتابیس و توانایی تغییر جدولها یا مقادیر پیکربندی میتوان دسترسی عملیاتی را به سطوح بالاتر ارتقا داد
Credential Access TA0006
افشای مقادیر حساس از جمله رمزهای عبور، توکن ها یا اطلاعات کاربری از جداول دیتابیس ممکن است رخ دهد
Discovery TA0007
مهاجم میتواند ساختار دیتابیس، نام جدول ها و ستونها را کشف کند و نقشهای برای مراحل بعدی تهیه نماید
Lateral Movement TA0008
با دسترسی به دیتابیس یا توکنهای سرقتشده، مهاجم میتواند به سایر بخشهای اپلیکیشن یا سرویسهای پشتصحنه منتقل شود
Collection TA0009
استخراج دادههای کاربران، تیکتها و اطلاعات حساس یا بکاپ گیری از جداول برای سوءاستفاده بعدی امکانپذیر است
Impact TA0040
پیامدها شامل افشای اطلاعات حساس، تغییر یا حذف دادهها، اختلال در سرویس و در موارد بحرانی نقض کامل مالکیت دیتابیس است
منابع
- https://www.cve.org/CVERecord?id=CVE-2025-10664
- https://www.cvedetails.com/cve/CVE-2025-10664/
- https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-10664
- https://vuldb.com/?submit.651933
- https://vuldb.com/?id.324785
- https://vuldb.com/?ctiid.324785
- https://github.com/HF101010/myCVE/issues/1
- https://nvd.nist.gov/vuln/detail/CVE-2025-10664
- https://cwe.mitre.org/data/definitions/89.html
- https://cwe.mitre.org/data/definitions/74.html