- شناسه CVE-2025-11569 :CVE
- CWE-22 :CWE
- yes :Advisory
- منتشر شده: اکتبر 10, 2025
- به روز شده: اکتبر 10, 2025
- امتیاز: 7.5
- نوع حمله: Directory traversal
- اثر گذاری: Information Disclosure
- حوزه: ابزارهای مدیریت فایل و فشردهسازی
- برند: N/A
- محصول: cross-zip
- وضعیتPublished :CVE
- Yes :POC
- وضعیت آسیب پذیری: patch نشده
چکیده
آسیبپذیری در تمامی نسخههای پکیج cross-zip، از طریق استفاده متوالی از توابع zipSync() و unzipSync() با آرگومانهایی مانند __dirname امکان پیمایش مسیر(Directory Traversal) را فراهم می کند. این ضعف به مهاجم اجازه میدهد با انجام عملیات zip یا unzip به فایلهای سیستمی حساس دسترسی پیدا کرده که منجر به افشای اطلاعات (Information Disclosure) یا در شرایطی بازنویسی فایل های حیاتی خواهد شد.
توضیحات
آسیبپذیری CVE-2025-11569 در پکیج cross-zip (ابزار کراسپلتفرم برای ایجاد و مدیریت فایلهای zip) ناشی از ضعف پیمایش مسیر (Directory Traversal) است که مطابق با CWE-22 طبقهبندی میشود.
این ضعف در اثر استفاده متوالی از توابع zipSync() و unzipSync () با آرگومانهای ناامن مانند __dirname (متغیری در Node.js که مسیر دایرکتوری فایل جاری را نشان میدهد) رخ میدهد و به مهاجم اجازه میدهد با دستکاری مسیرها (مانند استفاده از توالیهای ../ یا مسیرهای مطلق) به فایلهای خارج از دایرکتوری هدف، از جمله فایلهای حساس سیستمی مانند /etc/passwd یا /root/.ssh/id_rsa، دسترسی پیدا کند.
این آسیبپذیری از راه دور بدون نیاز به دسترسی یا تعامل کاربر قابل بهرهبرداری است. پیامد آن شامل نقض محرمانگی با امکان افشای اطلاعات حساس مانند سورس کد، فایلهای پیکربندی یا کلیدهای خصوصی است. همچنین، این ضعف میتواند بهعنوان بخشی از حمله Zip-Slip (نوعی پیمایش مسیر که فایلهای مخرب را در مسیرهای غیرمجاز استخراج میکند) منجر به بازنویسی فایلهای سیستمی و در نتیجه اجرای کد دلخواه (ACE) شود.
کد اثبات مفهومی (PoC) عمومی در GitHub منتشر شده که شامل اسکریپتی در جاوااسکریپت است که با استفاده از توابع zipSync() و unzipSync() فایل /etc/passwd را zip کرده و از دایرکتوری جاری استخراج میکندکه نشاندهنده امکان دسترسی به فایلهای سیستمی است. تاکنون پچ رسمی برای پکیج cross-zip منتشر نشده و توسعه دهندگان پیشنهاد کردهاند از استفاده از این پیکیج را متوقف کرده یا تا زمان انتشار نسخه امن، اقدامات کاهشریسک اعمال گردد.
CVSS
Score | Severity | Version | Vector String |
7.5 | HIGH | 3.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N/E:P |
8.7 | HIGH | 4.0 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:P |
لیست محصولات آسیب پذیر
Versions | Product |
affected from 0 | cross-zip |
نتیجه گیری
این آسیبپذیری با شدت بالا در پکیج cross-zip، به دلیل عدم اعتبارسنجی مسیرها در توابع zipSync() و unzipSync()، امکان دسترسی غیرمجاز به فایلهای سیستمی و افشای اطلاعات حساس را فراهم میکند. با توجه به عدم انتشار پچ رسمی و وجود کد اثبات مفهومی (PoC)، اجرای فوری اقدامات زیر برای کاهش ریسک و افزایش امنیت ضروری است:
- اجتناب از استفاده و جایگزینی: از پکیج cross-zip در پروژه های خود استفاده نکرده و ازجایگزینهای امنتر مانند پکیجهای zip با اعتبارسنجی مسیر استفاده نمایید.
- اعتبارسنجی مسیرها: در برنامههایی که از cross-zip استفاده میکنند، مسیرهای ورودی (مانند __dirname) را بهصورت دستی اعتبارسنجی کنید و از پذیرش توالیهای ../ یا مسیرهای مطلق جلوگیری کنید.
- محدودسازی دسترسی فایل: دسترسی برنامه به فایلهای سیستمی را با استفاده از سندباکس یا تنظیمات محدود فایلسیستم محدود کنید.
- نظارت و ثبت لاگ (logging): ترافیک فایلسیستم و عملیات zip/unzip را برای شناسایی فعالیتهای مشکوک مانند دسترسی به مسیرهای غیرمجاز بررسی کرده و از ابزارهای تشخیص نفوذ (IDS) استفاده کنید.
- فایروال اپلیکیشن وب (WAF): در اپلیکیشن های وب، درخواستهای حاوی توالیهای ../ یا مسیرهای غیرمجاز را فیلتر کنید.
- اسکن امنیتی: برنامهها را با ابزارهای اسکن آسیبپذیری بررسی کنید تا پکیج های ناامن شناسایی شوند.
- آموزش توسعهدهندگان: توسعهدهندگان را در مورد ریسک پیمایش مسیر (Directory Traversal) و Zip-Slip آموزش دهید و آنها را به استفاده از کتابخانه های امن تشویق نمایید.
اجرای این اقدامات، ریسک افشای اطلاعات و حملات مرتبط مانند Zip-Slip را به حداقل میرساند و امنیت برنامههای مبتنی بر cross-zip را تا زمان یافتن جایگزین مناسب بهبود میبخشد.
امکان استفاده در تاکتیک های Mitre Attack
Initial Access (TA0001)
ورود اولیه از راه دور با ارسال یک فایل ZIP crafted که شامل مسیرهای traversal../ یا مسیرهای مطلق است انجام میشود؛ این payload به اپلیکیشنی میرسد که از توابع zipSync()/unzipSync() پکیج cross-zip استفاده میکند و بهواسطه عدم ولیدیشن مسیرها امکان دسترسی به فایلهای خارج از دایرکتوری هدف (مانند فایلهای سیستمی یا دایرکتوریهای پروژه) فراهم میگردد. در این مرحله مهاجم صرفاً ورودی نامعتبر را به سرور میفرستد تا جریان پردازش ZIP را تحریک کند و فضای فایل سرور را کشف یا تعدیل نماید.
Persistence (TA0003)
بهرهبرداری موفق میتواند منجر به جایگذاری فایلهایی شود که دسترسی ادامهدار فراهم میکنند — مثل اسکریپتهای خوداجرایی، فایلهای پیکربندی که سرویس را تغییر میدهند یا فایلهایی که پس از راهاندازی مجدد نیز بارگذاری میشوند — و در نتیجه دسترسی مهاجم پایدار میگردد.
Privilege Escalation (TA0004)
در صورتی که فایلهای بازنویسیشده در مسیرهای حساس یا مالکیتهایی با امتیازات بالاتر نوشته شوند، مهاجم میتواند از طریق آنها اجرای محلی با امتیازات بالاتر یا تغییر رفتار سرویسها را محقق سازد؛ این مسیر میتواند از سطح خواندن/نوشتن فایل به سطح تسلط سیستمی افزایش یابد.
Defense Evasion (TA0005)
استخراج ظاهراً عادی یک ZIP میتواند به سادگی در لاگها یا ترافیک ثبتشده پنهان شود زیرا payload ها معمولاً با نامهای مشروع یا در دایرکتوریهای موقتی قرار میگیرند؛ این امر تشخیص اتوماتیک را دشوار کرده و تشخیص زنجیره علت (upload → extract → filesystem change) را پیچیده میسازد.
Credential Access (TA0006)
دسترسی به فایلهای سیستمی میتواند شامل فایلهایی شود که حامل credential یا کلیدهای خصوصیاند؛ خواندن چنین فایلهایی بهصورت مستقیم مهاجم را قادر میسازد تا به سرویسها یا نودهای دیگر با استفاده از همان کلیدها/اطلاعات دسترسی یابد.
Discovery (TA0007)
با استفاده از عملیات ZIP crafted، مهاجم قادر است ساختار دایرکتوری، فایلهای پیکربندی و اجزای کد منبع را کشف کند و بر مبنای آن برد حمله و اهداف باارزش را شناسایی نماید؛ این اطلاعات شناسایی برای برنامهریزی حملات بعدی حیاتی است.
Collection (TA0009)
مهاجم میتواند مجموعهای از دادههای حساسی را گردآوری کند — از جمله سورسکد، فایلهای پیکربندی، بکاپها و کلیدها — و آنها را برای خروج یا سوءاستفاده آماده نماید.
Exfiltration (TA0010)
دادههای گردآوریشده میتوانند در قالب فایلهای آرشیو جدید یا از طریق کانالهای استاندارد خروجی شبکه HTTP, FTP, DNS tunneling و غیرها انتقال یابند؛ این خروج دادهها میتواند با بستهبندی مجدد در ZIP انجام شود تا از نظارت ساده عبور کند.
Impact (TA0040)
ایمپکت این ضعف شامل افشای گسترده اطلاعات حساس و در حالت بدتر بازنویسی فایلهای سیستمی و امکان اجرای کد دلخواه است؛ به عبارتی، پیامدها از نقض محرمانگی (لو رفتن سورسکد، پیکربندیها و کلیدها) تا مخاطرات یکپارچگی و در دسترسپذیری (تغییر پیکربندیها، اختلال سرویس) و احتمال افزایش سطح دسترسی و حرکت جانبی گسترده را در بر میگیرد، که در مجموع ریسک عملیاتی و تجاری جدی برای سازمان ایجاد میکند.
منابع
- https://www.cve.org/CVERecord?id=CVE-2025-11569
- https://www.cvedetails.com/cve/CVE-2025-11569/
- https://security.snyk.io/vuln/SNYK-JS-CROSSZIP-6105396
- https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-11569
- https://vuldb.com/?id.327822
- https://gist.github.com/mcoimbra/9ab12a6187fac41d2fa7ba594ed535ac
- https://github.com/feross/cross-zip/blob/eba335474e6142468bd8904f6456208db906d40d/index.js%23L94
- https://nvd.nist.gov/vuln/detail/CVE-2025-11569
- https://cwe.mitre.org/data/definitions/22.html