- شناسه CVE-2025-10894 :CVE
- CWE-506 :CWE
- yes :Advisory
- منتشر شده: سپتامبر 24, 2025
- به روز شده: سپتامبر 25, 2025
- امتیاز: 9.6
- نوع حمله: supply-chain
- اثر گذاری: Information Disclosure
- حوزه: برنامه نویسی
- برند: Red Hat
- محصول: Nx (Node.js Build System and Plugins)
- وضعیتPublished :CVE
- No :POC
- وضعیت آسیب پذیری: patch شده
چکیده
این آسیبپذیری با شدت بحرانی در Nx (Node.js Build System and Plugins) و پلاگینهای مرتبط ناشی از درج کد مخرب (Embedded Malicious Code) از طریق یک حمله زنجیرهتأمین (Supply‑chain attack) در npm است و امکان سرقت اطلاعات حساس کاربران، از جمله توکنها و مدارک احراز هویت را فراهم میکند. نسخههای آلوده فایلهای سیستم را اسکن کرده و اطلاعات جمعآوریشده را در مخازن عمومی GitHub با نام s1ngularity-repository منتشر میکنند.
توضیحات
آسیبپذیری CVE-2025-10894 ناشی از درج کد مخرب در بستهی Nx و چند پلاگین مرتبط است که نمونهای از حمله زنجیرهتأمین نرمافزار به شمار میرود. این ضعف مطابق با CWE‑506 (Embedded Malicious Code) طبقهبندی میشود و نسخههای آلوده هنگام اجرای اسکریپت postinstall، فایلسیستم را اسکن، توکنها و مدارک احراز هویت را فهرستبرداری و اطلاعات جمعآوریشده را بهصورت یک مخزن در حساب GitHub کاربر منتشر میکند.
بردار بهرهبرداری بهطور عملی از طریق نصب یا بهروزرسانی بستههای آلوده از npm رخ میدهد؛ برخی ابزارها مانند Nx Console (افزونه VSCode) بهصورت خودکار nx@latest را نصب میکند و بنابراین کاربر حتی بدون اطلاع ممکن است آلوده شود.
عملکرد مخرب مشخص شامل اجرای postinstall برای فهرست برداری فایل ها، ایجاد فایل /tmp/inventory.txt، ارسال دادهها به یک مخزن با نام الگوی s1ngularity-repository و تغییر فایلهای شل کاربر (~/.bashrc و ~/.zshrc) است. همچنین گزارشها، روند نفوذ به توکن انتشار (npm token) از طریق سوءاستفاده از یک workflow آسیبپذیر در GitHub Actions و trigger نوع pull_request_target که با سطح دسترسی بالاتری کار میکند را تشریح میکنند؛ مهاجم از این مسیر برای دسترسی به publish pipeline استفاده کرده و توکن را به یک وبهوک ارسال می کند که منجر به انتشار نسخههای مخرب می شود. شدت این آسیب پذیری بحرانی بوده و پیامدهای فنی آن شامل افشای توکنها و اعتبارها، اجرای کد غیرمجاز در ماشینهای توسعه و امکان انتشار خودکار اطلاعات حساس در اکانتهای GitHub قربانیان است.
شواهد عملی شامل فایل /tmp/inventory.txt، الگوی مخازن s1ngularity-repository و نمونه اسکریپتهای مخرب مستندسازی شدهاند. PoC اجرایی عمومی منتشر نشده، اما عملکردهای مخرب کاملاً شرح داده شدهاند.
از منظر ریجستری نسخههای مخرب از npm حذف شدهاند و تیمهای نگهدارنده اقدامات فوری مانند باطلسازی توکنها، انتشار نسخههای ایمن، غیرفعال کردن یا اصلاح workflowهای آسیبپذیر و اعمال تدابیر امنیتی انتشار (مثلاً الزام 2FA و Trusted Publishers) را انجام دادهاند. با این حال، هیچ گونه پَچی که نیاز به اعمال روی بستههای لوکال داشته باشد منتشر نشده است؛ بنابراین کاربران باید بهصورت لوکال سیستم و محیط توسعه خود را پاکسازی کنند.
CVSS
Score | Severity | Version | Vector String |
9.6 | CRITICAL | 3.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H |
لیست محصولات آسیب پذیر
Versions | Product |
affected at 20.12.0
affected at 21.8.0 affected at 21.7.0 affected at 20.11.0 affected at 21.6.0 affected at 20.10.0 affected at 20.9.0 affected at 21.5.0 |
Nx (Node.js Build System and Plugins) |
affected at 20.9.0
affected at 21.5.0 |
Nx (Node.js Build System and Plugins) |
affected at 3.2.0 | Nx (Node.js Build System and Plugins) |
affected at 21.5.0 | Nx (Node.js Build System and Plugins) |
affected at 20.9.0
affected at 21.5.0 |
Nx (Node.js Build System and Plugins) |
affected at 3.2.0 | Nx (Node.js Build System and Plugins) |
affected at 20.9.0
affected at 21.5.0 |
Nx (Node.js Build System and Plugins) |
affected at 20.9.0
affected at 21.5.0 |
Nx (Node.js Build System and Plugins) |
All versions are unaffected | Multicluster Global Hub |
All versions are unaffected | OpenShift Serverless |
All versions are unaffected | Red Hat Advanced Cluster Management for Kubernetes 2 |
All versions are unaffected | Red Hat Ansible Automation Platform 2 |
لیست محصولات بروز شده
Versions | Product |
Any other version (malicious packages have been deleted from npm) | Nx (Node.js Build System and Plugins) |
استفاده محصول در ایران
در این جدول، تعداد صفحات ایندکسشده در گوگل با دامنه .ir که “Red Hat” و “Nx” را ذکر کرده اند، ثبت شده است. این داده صرفاً برای برآورد تقریبی حضور محصولات در وب ایران استفاده شده و نمایانگر میزان نصب دقیق و استفاده واقعی نیست.
Approx. Usage in .ir Domain via Google
(Total Pages) |
Product |
540 | “Nx” “Red Hat” |
نتیجه گیری
این آسیبپذیری نمونهای بحرانی از حمله زنجیرهتأمین نرمافزار است که با درج کد مخرب در بسته Nx و پلاگینهای مرتبط، اطلاعات حساس کاربران شامل توکنها و مدارک احراز هویت را جمعآوری و به حسابهای GitHub مهاجم منتقل میکند. از منظر رجیستری، نسخههای مخرب از npm حذف شده و اقدامات فوری مانند باطلسازی توکنها، انتشار نسخههای ایمن و اصلاح workflowهای آسیبپذیر انجام شده است؛ با این حال، هیچ گونه پَچ که نیاز به اعمال روی بستههای لوکال داشته باشد منتشر نشده و کاربران باید محیطهای لوکال خود را پاکسازی کرده تا ریسک افشای ثانویه یا سوءاستفادههای بعدی کاهش یابد. برای جلوگیری از آسیبپذیری مشابه، توصیههای امنیتی زیر ضروری است:
- عدم استفاده از نسخههای آلوده: از نصب یا بهروزرسانی بستههای مخرب خودداری کرده و نسخههای آلوده را حذف کنید.
- بررسی محیط توسعه و پروژهها: با استفاده از فرمانهایی مانند npm ls nx و بازبینی lockfileها، وجود نسخههای آلوده را شناسایی کنید.
- جستجو و پاکسازی فایلهای جمعآوریشده: فایلهایی مانند /tmp/inventory.txt و هر مخزن کد حاوی اطلاعات حساس در GitHub را بررسی کرده و در صورت وجود، دانلود و سپس حذف شوند.
- بازسازی توکنها و credentialها: تمامی توکنها و رمزهای GitHub، npm و سایر سرویسها که ممکن است در متغیرهای محیطی یا فایلها ذخیره شده باشند، باید بازسازی و تغییر داده شوند.
- پاکسازی کش بستهمدیرها: دستوراتی مانند npm cache clean –force، yarn cache clean –all و pnpm store prune –force را اجرا کنید تا هر گونه بسته مخرب لوکال حذف شود.
- بازبینی workflowهای CI/CD: به ویژه triggerهای pull_request_target، دسترسیها و secrets مرتبط باید بازبینی و محدود شوند.
- بازبینی و اصلاح فایلهای شل: تغییرات غیرمعمول در ~/.bashrc و ~/.zshrc باید پاکسازی شوند.
- بهروزرسانی ابزارهای توسعه: نسخههای امن Nx و پلاگین های مرتبط (مثل Nx Console) نصب شوند تا نصب خودکار نسخههای آلوده متوقف شود.
- همکاری با تیمهای upstream و سرویسها: تیمهای Nx، GitHub و npm برای بازیابی و تحلیل اطلاعات افشا شده هماهنگی شود.
اجرای این اقدامات، ریسک سرقت اعتبار (credential theft) و نقض امنیت را به حداقل رسانده و امنیت پروژههای Nx را تقویت میکند.
امکان استفاده در تاکتیک های Mitre Attack
Initial Access (TA0001)
ورود اولیه از طریق نصب یا آپدیت بستههای آلوده در رجیستری npm رخ میدهد. مهاجم نسخههای مخرب Nx را منتشر کرده و از مکانیزمهای اتوماتیک نصب استفاده میکند؛ بدینترتیب کاربر/توسعهدهنده صرفاً با نصب ابزارِ توسعه وارد زنجیره نفوذ میشود. این بردار همانطور که هست، Supply Chain Compromise است.
Defense Evasion (TA0005)
مهاجم میتواند رفتارها را با تغییر فایلهای شل، ارسال دادهها به مخازن عمومی و پاکسازی محلی آثار، از تشخیص ابزارهای محلی و لاگها پنهان کند. همچنین استفاده از کانالهای معتبر (GitHub pushes) برای ارسال دادهها تشخیص را دشوار میکند.
Credential Access (TA0006)
بردار اصلی دسترسی به اعتبارنامه (tokens / env secrets) از طریق اسکن فایلسیستم و خواندن متغیرهای محیطی یا فایلهای پیکربندی است؛ توکنهای npm/GitHub که در فلوهای CI یا محیط توسعه نگهداری میشوند مستقیماً هدف قرار میگیرند.
Lateral Movement (TA0008)
با دستیابی به توکنهای انتشار یا کنترل pipeline، مهاجم میتواند بستههای مخرب را به پروژههای دیگر منتشر کند یا از طریق CI/CD به محیطهای دیگر حرکت کند
Collection (TA0009)
جمعآوری شامل فهرستبرداری فایلها، استخراج توکنها وcredentials، و ساخت فایلهای inventory است.
Exfiltration (TA0010)
دادهها به مخازن عمومی یا private مهاجم در GitHub منتقل میشوند. الگوی s1ngularity-repository یا از طریق وبهوکها /HTTP POST به زیرساخت مهاجم فرستاده میشوند
Impact (TA0040)
مهاجم اول توکنها و credentialها را سرقت می کند (محرمانگی)، بعد بستهها یا کدهای توزیعشده را آلوده یا دستکاری میکند (یکپارچگی) و در نهایت با ایجاد موجهای انتشار مخرب، بیلد/دیپلویها و سرویسها را مختل میسازد (دسترسپذیری).
منابع
- https://www.cve.org/CVERecord?id=CVE-2025-10894
- https://www.cvedetails.com/cve/CVE-2025-10894/
- https://access.redhat.com/security/cve/CVE-2025-10894
- https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-10894
- https://vuldb.com/?id.325685
- https://access.redhat.com/security/supply-chain-attacks-NPM-packages
- https://bugzilla.redhat.com/show_bug.cgi?id=2396282
- https://www.stepsecurity.io/blog/supply-chain-security-alert-popular-nx-build-system-package-compromised-with-data-stealing-malware
- https://www.wiz.io/blog/s1ngularity-supply-chain-attack
- https://nvd.nist.gov/vuln/detail/CVE-2025-10894
- https://cwe.mitre.org/data/definitions/506.html