توسعهدهندگان پایتون با یک هشدار امنیتی مهم روبهرو شدهاند. کشف ضعف در کلیدهای رمزنگاری گواهیهای دیجیتال شرکت eMudhra باعث شده است برخی ابزارهای پرکاربرد اکوسیستم Python، از جمله pip و certifi، در معرض خطر حملات مرد میانی قرار بگیرند.
براساس هشدار رسمی منتشرشده در انجمن Python و گزارش امنیتی GitHub، مشکل به هشت گواهی میانی شرکت eMudhra مربوط میشود که کلیدهای خصوصی آنها امنیت کافی ندارند. این ضعف میتواند به مهاجمی که در مسیر ارتباط شبکه قرار دارد اجازه دهد گواهی HTTPS ظاهراً معتبری برای یک وبسایت جعلی ارائه کند. برای برطرف کردن خطر، نسخههای اصلاحشده ابزارهای آسیبپذیر منتشر شدهاند.
ماجرای آسیبپذیری امنیتی پایتون چیست؟
در ۲۰ اکتبر ۲۰۲۶، تیم امنیتی پایتون درباره یک حادثه امنیتی مرتبط با گواهیهای دیجیتال eMudhra هشدار داد.
بررسیها نشان داد هشت گواهی میانی صادرشده توسط این شرکت از کلیدهای خصوصی ضعیفی استفاده میکنند. این کلیدها به دلیل تصادفی نبودن کافی هنگام تولید، در برابر حدس زدن یا بازسازی مقاوم نیستند.
در سیستم HTTPS، گواهیهای دیجیتال برای تأیید هویت وبسایتها و ایجاد ارتباطات رمزنگاریشده استفاده میشوند.
اگر مهاجم بتواند از کلید خصوصی یک مرجع صدور گواهی سوءاستفاده کند، ممکن است گواهیهایی تولید کند که از دید نرمافزارهای آسیبپذیر معتبر به نظر برسند.
این مشکل بهخودیخود به معنای هک شدن زبان برنامهنویسی پایتون یا مخازن نرمافزاری آن نیست، بلکه به زیرساخت اعتماد مورد استفاده برخی ابزارهای پایتون مربوط میشود.
چرا pip و PyPI در معرض خطر قرار گرفتهاند؟
ابزار pip برای نصب و مدیریت کتابخانههای پایتون استفاده میشود و معمولاً بستهها را از مخزن PyPI دریافت میکند.
برای برقراری ارتباط امن با سرورها، pip باید اعتبار گواهیهای HTTPS را بررسی کند. این فرایند با کمک مجموعهای از گواهیهای مورداعتماد انجام میشود.
یکی از منابع این گواهیها کتابخانه certifi است که در بسیاری از پروژهها و ابزارهای پایتون کاربرد دارد.
مشکل زمانی ایجاد میشود که نسخه قدیمی certifi همچنان به گواهی ریشه مرتبط با گواهیهای میانی آسیبپذیر eMudhra اعتماد داشته باشد.
در چنین شرایطی، مهاجمی که توانایی قرار گرفتن در مسیر ارتباط شبکه را داشته باشد، ممکن است بتواند ارتباط رمزنگاریشده را جعل یا محتوای منتقلشده را دستکاری کند.
این خطر میتواند ارتباط با وبسایتهایی مانند python.org و pypi.org را نیز تحت تأثیر قرار دهد.
مشکل از کجا شروع شد؟ کلیدهای رمزنگاری غیرایمن eMudhra
براساس توضیحات فنی منتشرشده، مشکل اصلی به نحوه تولید کلیدهای خصوصی هشت گواهی میانی eMudhra بازمیگردد.
این کلیدها با میزان بسیار کمی از تصادفیبودن تولید شده بودند؛ مسئلهای که برخلاف اصول امنیت رمزنگاری است.
گوگل اعلام کرده که در ۱۷ اکتبر ۲۰۲۶ گزارش این مشکل را دریافت کرده و پس از بررسی، اقداماتی برای جلوگیری از اعتماد مرورگر Chrome به گواهیهای آسیبپذیر انجام داده است.
شرکت eMudhra نیز گواهیهای میانی آسیبدیده را باطل کرده است.
بااینحال، باطل شدن گواهیها لزوماً به معنای ایمن شدن تمام نرمافزارها نیست؛ زیرا بعضی برنامهها از مجموعه گواهیهای قدیمی یا داخلی استفاده میکنند و ممکن است وضعیت ابطال را بهدرستی اعمال نکنند.
چرا بهروزرسانی سیستمعامل بهتنهایی کافی نیست؟
یکی از نکات مهم هشدار امنیتی پایتون این است که بعضی نسخههای pip از مجموعه گواهیهای داخلی خود در کنار گواهیهای سیستمعامل استفاده میکنند.
در نتیجه، حتی اگر سیستمعامل گواهیهای مشکلدار را از فهرست مورداعتماد حذف کرده باشد، نسخه قدیمی pip ممکن است همچنان آنها را معتبر بداند.
به همین دلیل، تیم امنیتی پایتون تأکید کرده است که توسعهدهندگان باید خود pip را نیز بهروزرسانی کنند.
همچنین محیطهای مجازی قدیمی پایتون ممکن است نسخههای آسیبپذیر ابزارها را نگه داشته باشند و نیازمند بررسی جداگانه باشند.
کدام نسخههای پایتون و ابزارهای مرتبط باید بهروزرسانی شوند؟
طبق اطلاعیه رسمی، نسخههای اصلاحشده چند ابزار مهم اکوسیستم پایتون منتشر شدهاند.
حداقل نسخههای توصیهشده عبارتاند از:
| ابزار | نسخه اصلاحشده |
|---|---|
| certifi | 2026.10.19 |
| pip | 26.2.2 |
| uv | 0.13.4 |
| sigstore | 4.5.1 |
| conda | 26.9.4 |
| pixi | 0.82.1 |
توسعهدهندگان باید نسخههای نصبشده در محیطهای کاری، پروژهها و محیطهای مجازی خود را بررسی کنند.
همچنین استفاده از نسخههای اصلاحشده در فایلهای وابستگی پروژهها و فرایندهای ساخت نرمافزار اهمیت دارد.
خطر برای پروژههای Docker و زیرساختهای CI/CD
این مشکل تنها به رایانه شخصی توسعهدهندگان محدود نمیشود.
بسیاری از پروژههای پایتون در محیطهای کانتینری، سرورها و سامانههای CI/CD اجرا میشوند. این محیطها ممکن است نسخههای قدیمی certifi یا pip را در تصاویر آماده خود داشته باشند.
تیم امنیتی پایتون توصیه کرده است تصاویر کانتینری دوباره ساخته شوند و در این فرایند از حافظه کش لایههای قدیمی استفاده نشود.
دلیل این توصیه آن است که بهروزرسانی وابستگیها در فایلهای پروژه لزوماً باعث جایگزینی تمام گواهیهای قدیمی موجود در تصاویر کانتینری نمیشود.
بنابراین، مدیران زیرساخت باید علاوهبر بهروزرسانی بستهها، نسخه گواهیهای مورداعتماد در محیط اجرایی را نیز بررسی کنند.
آیا تمام کاربران پایتون در خطر هستند؟
وجود نسخه آسیبپذیر لزوماً به معنای وقوع حمله یا سرقت اطلاعات نیست.
برای سوءاستفاده از این مشکل، مهاجم باید شرایط لازم برای مداخله در ارتباط شبکه را داشته باشد و از کلیدهای آسیبدیده استفاده کند.
بااینحال، اهمیت موضوع از آن جهت بالاست که ابزارهای مرتبط با HTTPS در بخش بزرگی از اکوسیستم پایتون مورد استفاده قرار میگیرند.
در پایگاه مشاوره امنیتی GitHub، این مشکل با شناسه GHSA-6q48-6c7w-9gw2 ثبت شده و امتیاز شدت ۹٫۱ از ۱۰ را دریافت کرده است.
این امتیاز نشاندهنده شدت بالقوه آسیبپذیری است و به معنای آن نیست که همه نصبهای پایتون مورد حمله قرار گرفتهاند.
توسعهدهندگان پایتون چه اقداماتی باید انجام دهند؟
مهمترین اقدام، نصب نسخههای اصلاحشده ابزارهای تحت تأثیر و بررسی محیطهای اجرایی است.
کاربرانی که از pip استفاده میکنند باید نسخه 26.2.2 یا جدیدتر را نصب کنند. برای certifi نیز نسخه 2026.10.19 یا جدیدتر توصیه شده است.
همچنین لازم است ابزارهایی مانند uv، conda و sigstore در صورت استفاده، به نسخههای امن ارتقا پیدا کنند.
در پروژههایی که از Docker یا محیطهای ساخت خودکار استفاده میکنند، بازسازی تصاویر و بررسی وابستگیهای قدیمی ضروری است.
در مجموع، حادثه eMudhra یادآور این واقعیت است که امنیت ارتباطات HTTPS تنها به رمزنگاری دادهها وابسته نیست؛ بلکه اعتبار و امنیت زنجیره گواهیهای دیجیتال نیز نقش تعیینکنندهای دارد.
بهروزرسانی بهموقع ابزارهای پایتون میتواند خطر ناشی از اعتماد به گواهیهای آسیبدیده را برطرف کند.






دیدگاهها