پرش به محتویات

MoaV 2.3.1: همین حالا به‌روزرسانی کنید

نسخهٔ MoaV 2.3.1 یک انتشار امنیتی است. دو موضوع را پوشش می‌دهد: پیامدهای لورفتن مرجع صدور گواهی eMudhra (با برند emSign) در بالادست، و به‌روزرسانی Grafana که ده آسیب‌پذیری CVE را می‌بندد. هر چیزی را هم که در 2.3.0 منتشر شده بود در خود دارد، پس اگر آن نسخه را رد کرده‌اید، همین پست کل ماجراست.

اگر فقط یک خط می‌خوانید: moav update را اجرا کنید و بعد نکتهٔ ارتقای XDNS را در پایین دنبال کنید.

چرا این یک انتشار امنیتی است

لورفتن مرجع صدور گواهی eMudhra (emSign)

بین ۱۷ تا ۲۰ اکتبر ۲۰۲۶ مشخص شد کلید خصوصی هشت CA میانی متعلق به eMudhra، یک مرجع صدور گواهی هندی که با برند emSign کار می‌کند، از روی گواهی‌های عمومی خودشان قابل بازیابی است. بدتر از این برای یک CA اتفاق نمی‌افتد: هر کسی کلید را بازیابی کند می‌تواند گواهی‌هایی بسازد که به یک ریشهٔ مورد اعتماد زنجیر می‌شوند. این رخداد به‌عنوان لورفتن CA (cACompromise) ثبت شد.

واکنش گسترده و سریع بود. سازندگان مرورگرها و سیستم‌عامل‌ها اعتماد به ریشه‌های درگیر را برداشتند. Mozilla NSS، Ubuntu، Red Hat و بستهٔ certifi در پایتون آن‌ها را حذف کردند. Go هم یک مسدودسازی مبتنی بر کلید در کتابخانهٔ استانداردش منتشر کرد (CVE-2026-111943، پیگیری در golang/go#82345)؛ بنابراین هر برنامهٔ Go که TLS را اعتبارسنجی می‌کند، زنجیره‌های ساخته‌شده با آن کلیدها را رد می‌کند.

برای MoaV چه معنایی دارد. چند مؤلفهٔ MoaV باینری‌های Go هستند که اتصال TLS خروجی برقرار می‌کنند و گواهی را اعتبارسنجی می‌کنند، و منطق اعتماد Go را با خود دارند. نسخهٔ MoaV 2.3.1 با Xray-core v26.10.21 و Prometheus 3.15.1 منتشر می‌شود که هر دو روی Go 1.27.3 ساخته شده‌اند؛ نسخه‌ای که مسدودسازی کلیدهای لورفتهٔ eMudhra را دارد و دیگر به آن ریشه‌ها اعتماد نمی‌کند.

دربارهٔ میزان خطر دقیق باشیم: این یک اصلاح اعتماد به CA در بالادست است که MoaV با به‌روزرسانی همین مؤلفه‌ها به ارث می‌برد. شواهدی نداریم که سرورها یا کاربران MoaV با گواهی‌هایی از کلیدهای لورفته هدف قرار گرفته باشند. اما پشتهٔ TLSی که هنوز به یک CA لورفته اعتماد دارد، باری است که نمی‌خواهید روی یک سرور عبور از فیلترینگ بماند، و رفعش فقط یک به‌روزرسانی است.

Grafana از 13.2.1 به 13.2.4: ده CVE

داشبورد پایش MoaV از Grafana 13.2.1 به 13.2.4 می‌رود. این جهش ده آسیب‌پذیری را می‌بندد: CVE-2026-15815، CVE-2026-76154، CVE-2026-79656، CVE-2026-13719، CVE-2026-13720، CVE-2026-81841، CVE-2026-15577، CVE-2026-33374، CVE-2026-93294 و CVE-2026-95502. MoaV به‌صورت پیش‌فرض Grafana را روی اینترنت باز نمی‌کند، اما اپراتورهایی که آن را باز کرده‌اند یا از یک شبکهٔ اشتراکی به آن سر می‌زنند، باید این را یک به‌روزرسانی اجباری بدانند.

بقیهٔ تغییرات 2.3.1

ارتقاهای معمول بالادست، فهرست‌شده تا بتوانید با مدل تهدید خودتان بسنجید:

مؤلفه 2.3.1
Xray-core v26.10.21 (Go 1.27.3)
Prometheus 3.15.1 (Go 1.27.3)
Grafana 13.2.4
sing-box 1.14.3
wstunnel 11.1.0
Psiphon Conduit 2.1.0
Snowflake 2.15.2
telemt 3.5.14
cAdvisor 0.60.6
docker-socket-proxy 0.5.0
TrustTunnelClient 1.0.49 (بدون تغییر)

چه چیزی در 2.3.0 آمد

نسخهٔ 2.3.0 یک دورهٔ عمومی کاندیدای انتشار را گذراند (از شما خواستیم آزمایشش کنید و خیلی‌هایتان این کار را کردید). اگر از 2.2.x می‌آیید، این‌ها را با خود آورده است.

  • Snell، یک پروتکل تازه، به‌صورت پیش‌فرض فعال. یک پروکسی سبک روی TCP از اکوسیستم Surge با مبهم‌سازی اختیاری HTTP. نه TLS می‌خواهد و نه دامنه، پس در حالت بدون دامنه هم کار می‌کند. پشتیبانی کلاینت‌ها مشخص است: Surge 5، Stash، Clash Mi، Clash Meta for Android و FlClash. با v2rayNG، Hiddify، NekoBox یا اپ‌های sing-box کار نمی‌کند.
  • sing-box 1.14. موتور پشت Reality، Trojan، Hysteria2، Shadowsocks، AnyTLS و Snell. از سمت شما تغییری در تنظیمات لازم نیست.
  • مبهم‌سازی اختیاری gecko برای Hysteria2. دست‌دهی QUIC را به قطعه‌هایی با اندازهٔ تصادفی و بالشتک‌گذاری‌شده تقسیم می‌کند. مقدار HYSTERIA2_OBFS_TYPE=gecko را بگذارید؛ کلاینت‌ها به sing-box 1.14+ یا Hysteria 2.9.2+ نیاز دارند.
  • خروجی --json در CLI و نصب غیرتعاملی. MoaV را از اسکریپت یا یک عامل هوش مصنوعی هدایت کنید، بدون تجزیهٔ خروجی انسانی یا جواب‌دادن به پرسش‌ها.
  • وصلهٔ امنیتی Grafana. نسخهٔ 13.2.1 دو CVE را بست. نسخهٔ 2.3.1 جلوتر رفته است؛ بالا را ببینید.
  • رفع اشکال پرچم CDN. اصلاحی در پرچم CDN در نصاب و CLI.

نکتهٔ ارتقای XDNS

نسخهٔ Xray از v26.9.30 به بعد، ساختار finalmask در XDNS را عوض کرده است. ساخت Xray در 2.3.1 این تغییر را دارد، پس اگر XDNS را اجرا می‌کنید، به‌روزرسانی دو دستور اضافه لازم دارد:

moav update
moav bootstrap           # idempotent: keeps your keys and user UUIDs
moav regenerate-users

دستور moav bootstrap تنظیمات تولیدشده را برای ساختار تازه بازنویسی می‌کند، بی‌آنکه به کلیدها یا UUID کاربران دست بزند. دستور moav regenerate-users هم بسته‌ها را با بلوک تازهٔ XDNS دوباره صادر می‌کند.

کلاینت‌های XDNS هم باید به‌روز شوند

XDNS اکنون به هستهٔ کلاینت v26.9.30 یا بالاتر نیاز دارد. کلاینت‌هایی که هستهٔ قدیمی‌تری دارند تا اپ خود را به‌روز نکنند به XDNS وصل نمی‌شوند، و هر کاربر XDNS باید بستهٔ خود را دوباره دانلود کند. بقیهٔ پروتکل‌ها با بسته‌های موجود همچنان کار می‌کنند.

اگر XDNS را اجرا نمی‌کنید، moav update به‌تنهایی کافی است. اجرای moav bootstrap در هر حال بی‌ضرر است.

آزمایشش کنید، بشکنیدش، به ما بگویید

هر انتشار MoaV یک فراخوان آزمایش می‌گیرد، و هر گزارش از یک شبکهٔ سانسورشدهٔ واقعی نسخهٔ بعدی را شکل می‌دهد. راهنمای همیشگی، چطور در آزمایش MoaV کمک کنیم، برنامهٔ آزمایش و چطور بازخورد بدهیم را دارد. در این دوره بیش از همه می‌خواهیم این‌ها را بشنویم:

  1. مسیر ارتقای XDNS. از یک سرور 2.3.0، سه دستور بالا را اجرا کنید. آیا کاربران XDNS شما پس از دانلود دوبارهٔ بسته وصل شدند؟
  2. Snell و gecko در دنیای واقعی. کدام کلاینت، کدام ISP، وصل شد یا نه، پایدار ماند یا نه.
  3. هر چیزی که شکست. یک issue با خروجی moav status و نسخهٔ مؤلفه باز کنید.

اگر می‌خواهید از آزمایش جلوتر بروید، مخزن درخواست ادغام می‌پذیرد. ترجمه، یادداشت دربارهٔ کلاینت‌ها و گزارش میدانی پروتکل‌ها همه خوش‌آمدند.

همین حالا به‌روزرسانی کنید. بعد بگویید چه می‌بینید.