- شناسه CVE-2025-10975 :CVE
- CWE-502, CWE-20 :CWE
- yes :Advisory
- منتشر شده: سپتامبر 25, 2025
- به روز شده: سپتامبر 25, 2025
- امتیاز: 6.3
- نوع حمله: Unknown
- اثر گذاری: Remote code execution(RCE)
- حوزه: نرم افزارهای کاربردی
- برند: GuanxingLu
- محصول: vlarl
- وضعیتPublished :CVE
- Yes :POC
- وضعیت آسیب پذیری: patch نشده
چکیده
آسیبپذیری در GuanxingLu vlarl تا commit 31abc0baf53ef8f5db666a1c882e1ea64def2997، در تابع run_reasoning_server فایل experiments/robot/bridge/reasoning_server.py کامپوننت ZeroMQ است که به دلیل عدم اعتبارسنجی مناسب ورودی Message، امکان سریال زدایی ناامن را فراهم میکند. این ضعف امنیتی به مهاجمان احراز هویتشده اجازه میدهد کد دلخواه را از راه دور اجرا کنند.
توضیحات
آسیبپذیری CVE-2025-10975 در پروژه GuanxingLu vlarl، یک ابزار رباتیک مبتنی بر یادگیری تقویتی، ناشی از سریال زدایی ناامن دادههای غیرقابل اعتماد در تابع run_reasoning_server از فایل experiments/robot/bridge/reasoning_server.py است که مطابق با CWE-502 و CWE-20 طبقهبندی میشود. این ضعف تا commit 31abc0baf53ef8f5db666a1c882e1ea64def2997 وجود دارد؛ با توجه به روش انتشار پیوسته (rolling release) پروژه، تفکیک نسخههای دقیق آسیبپذیر منتشر نشده است..
در این تابع، سرور پیامهای ورودی را از طریق ZeroMQ (zmq – یک کتابخانه برای ارتباطات توزیعشده) دریافت کرده و بدون اعتبارسنجی، پیام را به صورت مستقیم باpickle.loads(message) بارگذاری میکند. ماژول pickle در پایتون برای دادههای غیرقابلاعتماد ناامن است، زیرا هنگام سریال زدایی آبجکت میتوانند کد دلخواه اجرا کنند. مهاجم میتواند یک پیلود ساختهشده ارسال کند که هنگام pickle.loads اجرای دستوری مانند os.system(..) را ایجاد کند؛ سپس سرور ممکن است پاسخ را با pickle.dumps سریالسازی و بازگرداند.
این آسیبپذیری از طریق شبکه با نیاز به احراز هویت قابل بهرهبرداری است اما به تعامل کاربر نیازی ندارد. پیامدهای این آسیبپذیری شامل نقض محدود محرمانگی، یکپارچگی و در دسترسپذیری است و میتواند منجر به اجرای کد از راه دور (RCE) و سرقت کامل سرور شود.
کد اثبات مفهومی (PoC) عمومی نشان میدهد که با اجرای سرور و ارسال یک آبجکت مخرب مثلاً با reduce__ که (os.system, (‘echo “hacked”‘,) را فراخوانی میکند میتوان کد دلخواه را روی میزبان اجرا کرد. تا کنون پچ رسمی منتشر نشده و ضعف امنیتی در صفحه GitHub پروژه همچنان باز و در حال پیگیری است.
CVSS
Score | Severity | Version | Vector String |
5.3 | MEDIUM | 4.0 | CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P |
6.3 | MEDIUM | 3.1 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L/E:P/RL:X/RC:R |
6.3 | MEDIUM | 3.0 | CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L/E:P/RL:X/RC:R |
6.5 | — | 2.0 | AV:N/AC:L/Au:S/C:P/I:P/A:P/E:POC/RL:ND/RC:UR |
لیست محصولات آسیب پذیر
Versions | Product |
affected at 31abc0baf53ef8f5db666a1c882e1ea64def2997 | vlarl |
نتیجه گیری
این آسیبپذیری در vlarl به دلیل سریال زدایی ناامن در کامپوننت ZeroMQ است و امکان اجرای کد از راه دور و سرقت کامل سرور را فراهم می کند. با توجه به عدم انتشار پچ رسمی، اجرای اقدامات زیر ضروری است:
- حذف یا جایگزینی pickle برای ورودیهای شبکه: loads را با فرمتهای امن مانند JSON یا MessagePack جایگزین کنید و تمام ورودیها را اعتبارسنجی نمایید.
- محدودسازی دسترسی: سرور reasoning_server را فقط برای IPهای مجاز باز کنید، از فایروال برای فیلتر پورت سرویس استفاده نمایید و احراز هویت قوی اضافه کنید.
- نظارت بر ترافیک: لاگهای ZeroMQ را برای پیامهای مشکوک بررسی کنید و از IDS/IPS برای تشخیص پیلودهای سریال زدایی مخرب بهره ببرید.
- اجرا در محیط ایزوله: سرور را در کانتینرهای Docker یا VMهای ایزوله اجرا کنید تا تأثیر RCE محدود شود.
- غیرفعالسازی موقت: تا زمان پچ، reasoning_server را غیرفعال کنید یا از پروتکلهای امن جایگزین استفاده نمایید.
- آموزش و آگاهی: توسعهدهندگان را در مورد ریسک سریال زدایی نا امن آگاه سازید.
اجرای این اقدامات ریسک آسیب پذیری را تا زمان انتشار و نصب پچ رسمی به طور قابل توجهی افزایش می دهد.
امکان استفاده در تاکتیک های Mitre Attack
Initial Access (TA0001)
در محیطی که سرویس reasoning_server روی ZeroMQ پیام میپذیرد، یک کاربر احراز هویتشده میتواند با ارسال پیامِ سریالشده مخرب نقطه ورود اولیه را ایجاد کند؛ بهعبارت دیگر، مسیر ورود از طریق کانال پیامرسانی و پردازش پیامهای ورودی است و نیاز به تعامل کاربر نهایی ندارد.
Execution (TA0002)
سریالزدایی با pickle.loads اجرای مستقیم اشیاء پایتون را مجاز میسازد؛ بنابراین بارِ مخرب میتواند دستور یا کد دلخواه را روی فرایند سرور اجرا کند و بلافاصله کنترل اجرای کد (RCE) را فراهم آورد.
Persistence (TA0003)
با دسترسی اجرایی روی میزبان، مهاجم میتواند backdoor یا اسکریپتهای راهانداز جایگذاری کند مثلاً کرونجاب، سرویس systemd یا فایلهای بوت تا پس از ریبوت یا پاکسازی اولیه نیز دسترسی حفظ شود.
Privilege Escalation (TA0004)
اجرای کد در سطح فرایند اپلیکیشن میتواند با سوءاستفاده از مجوزهای نادرست، فایلهای SUID، یا آسیبپذیریهای محلی به ارتقای اختیارات منجر شود و دسترسی را از سطح اپلیکیشن به سطح سیستم افزایش دهد.
Defense Evasion (TA0005)
مهاجم قادر است لاگها را پاک یا تغییر دهد، فرایندها و فایلها را مخفی کند و payload را بهصورت سریالی یا فشردهشده ارسال کند تا تشخیص را برای ابزارهای مانیتورینگ و آنالیز فورنزیک دشوار سازد.
Credential Access (TA0006)
کد اجراشده میتواند فایلهای پیکربندی، توکنها و کلیدهای ذخیرهشده را خوانده و اعتبارنامههای محرمانه را استخراج کند؛ این دادهها برای تثبیت دسترسی و نفوذ به سیستمهای دیگر حیاتیاند.
Discovery (TA0007)
دسترسی به محیط اجرایی به مهاجم امکانِ فهرستبرداری از سرویسها، فرایندها، ساختار فایل، مدلها و تنظیمات شبکه را میدهد تا نقاط باارزش بعدی را شناسایی و هدفگذاری کند.
Lateral Movement (TA0008)
با استفاده از اعتبارنامهها یا کانالهای شبکهای که از طریق سرور در دسترس میشوند، مهاجم میتواند به سرویسها و میزبانهای دیگر در همان محیط یا شبکهی ابری منتقل شود و دامنه نفوذ را گسترش دهد.
Collection (TA0009)
مهاجم میتواند دادههای حساس پروژه—از جمله مدلهای یادگیری، وزنها، لاگهای آموزشی و دیتاستها—را گردآوری و برای اهداف بعدی (مهاجرت مدل، باجخواهی، یا افشا) آماده کند.
Impact (TA0040)
نتیجه عملی بهرهبرداری شامل اجرای کد از راه دور، سرقت یا تغییر مدلها و دیتاستها، اختلال عملکرد سرویسهای رباتیک و از دست رفتن محرمانگی، یکپارچگی و دسترسپذیری است — که بهویژه در محیطهای تحقیق و تولید مبتنی بر ML میتواند خسارت عملیاتی و تجاری گستردهای ایجاد کند.
منابع
- https://www.cve.org/CVERecord?id=CVE-2025-10975
- https://www.cvedetails.com/cve/CVE-2025-10975/
- https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-10975
- https://vuldb.com/?submit.653279
- https://vuldb.com/?id.325846
- https://vuldb.com/?ctiid.325846
- https://github.com/GuanxingLu/vlarl/issues/18
- https://github.com/GuanxingLu/vlarl/issues/18#issue-3408978610
- https://nvd.nist.gov/vuln/detail/CVE-2025-10975
- https://cwe.mitre.org/data/definitions/502.html
- https://cwe.mitre.org/data/definitions/20.html