زبان برنامهنویسی Go با انتشار یک وصله امنیتی اضطراری، زنجیره گواهیهای نامعتبر را مسدود کرد — Go will reject certificate chains containing eight distrusted SPKIs
خلاصه
توسعهدهندگان Go با انتشار یک بهروزرسانی امنیتی اضطراری، اعتبارسنجی پکیج crypto/x509 را برای مسدودسازی تعدادی از گواهیهای واسطه بهروز کردند. این تغییر مهم برای جلوگیری از خطرات امنیتی بالقوه اعمال شده و نسخههای پشتیبان نیز بلافاصله منتشر شدهاند.
تیم توسعه زبان برنامهنویسی Go اخیراً با انتشار یک وصله امنیتی اضطراری، تغییرات مهمی را در پکیج crypto/x509 اعمال کرده است تا جلوی استفاده از زنجیرههای گواهی حاوی کلیدهای عمومی نامعتبر (SPKI) گرفته شود. این مسئله که تحت عنوان CVE-2026-111943 و شماره مسئله ۸۲۳۴۵ پیگیری میشود، به دغدغههای جدی امنیتی پیرامون یک مرکز صدور گواهی (CA) خاص مربوط میشود.
جزئیات فنی و تغییرات اعمالشده
طبق تغییرات ثبتشده در مخزن رسمی Go، متد اعتبارسنجی گواهیها در پکیج crypto/x509 اکنون زنجیرههایی را که شامل گواهیهای واسطه مشخصی هستند فیلتر کرده و اجازه بازگرداندن آنها به برنامهنویس را نمیدهد. این اصلاحات امنیتی به سرعت به شاخههای نگهداری نسخههای قبلی مانند Go 1.26 و Go 1.27 نیز بکپورت (Backport) شدند تا کاربران بتوانند سیستمهای خود را بلافاصله ایمن کنند.
بر اساس بررسیهای فنی انجامشده توسط مشارکتکنندگان، گواهیهای مسدودشده شامل چند گواهی واسطه صادر شده توسط eMudhra (مانند نمونههای DV، EV و OV TLS CA) هستند که ریشه آنها به emSign Root TLS CA بازمیگردد.
بازخوردها و بحثهای جامعه برنامهنویسی در Hacker News
این خبر بازتاب گستردهای در هکرنیوز داشت و کاربران ابعاد مختلف آن را بررسی کردند:
- برخی کاربران به این نکته اشاره کردند که اگرچه گواهیهای ثبتشده در Certificate Transparency بیشتر جنبه تستی داشتهاند، اما بهروزرسانی همزمان لاگهای CT برای جلوگیری از ثبت گواهیهای جدید نشاندهنده احتمال سازش (Compromise) یا لو رفتن کلیدهای خصوصی است.
- عدهای از مهندسان از این موضوع شگفتزده شده بودند که چرا سیاستهای امنیتی و اعتبارسنجی گواهیها باید به صورت کدشده در سطح یک پلتفرم زبان برنامهنویسی (به جای لایههای سیستمعامل یا مرورگر) پیادهسازی شوند.
- این بحث نیز مطرح شد که در معماری فعلی وب، امکان دریافت یک گواهی با امضای همزمان چند CA مختلف به دلیل محدودیتهای عملیاتی وجود ندارد.
درباره مخزن و پروژه
زبان برنامهنویسی Go (یا Golang) یک زبان منبعباز توسعهیافته توسط گوگل است که برای ساخت نرمافزارهای ساده، قابل اعتماد و کارآمد طراحی شده است. مخزن اصلی این زبان در آدرس golang/go روی گیتهاب میزبانی میشود و با داشتن بیش از ۱۳۹ هزار ستاره، یکی از محبوبترین پروژههای نرمافزاری جهان به شمار میرود. این پروژه تحت مجوز BSD-3-Clause عرضه میشود.
در یک نگاه
- پروژه: زبان برنامهنویسی Go (مخزن
golang/go) - حوزه اثر: پکیج رمزنگاری
crypto/x509 - شماره آسیبپذیری: CVE-2026-111943 (مسئله شماره ۸۲۳۴۵)
- اقدام لازم: ارتقای فوری به نسخههای جدیدتر و اصلاحشده Go
- مجوز: BSD-3-Clause
این مطلب بهصورت کاملاً خودکار و با هوش مصنوعی از مقالهٔ اصلی و بحث هکرنیوز تهیه شده و ممکن است خطا داشته باشد. حقوق مطلب اصلی متعلق به نویسندهٔ آن است. قوانین و گزارش مشکل