---
title: 'Ключ eMudhra — число 4: что обновить на сервере | Zomro'
description: 'Уязвимость eMudhra позволяла подделывать сертификаты. Как обновить ca-certificates, Python, Node.js, Go, Java и Docker и защитить свой сервер.'
image: 'https://cdn.zomro.com/uploads/blog/a48%40server-panel.net/2026/10/27/gemini_generated_image_k833cak833cak833_q50.jpg'
---

![opened image]()

  * [Zomro](https://zomro.com/rus/)
  * [Полезные статьи](https://zomro.com/rus/blog/articles/)
  * [Безопасность хостинга](https://zomro.com/rus/blog/articles/bezopasnost/)
  * Ключ от сертификата оказался числом 4: что обновить на сервере 



# Ключ от сертификата оказался числом 4: что обновить на сервере

27-10-2026

![](https://cdn.zomro.com/uploads/blog/a48%40server-panel.net/2026/10/27/gemini_generated_image_k833cak833cak833_q50.jpg)

Один из центров сертификации, eMudhra, хранил секретные ключи настолько слабые, что их можно было угадать за секунду. Один ключ буквально был числом 4. С такими ключами можно подделать «защищённый» сайт банка, платёжной системы или любой другой.

Браузеры уже защитили своих пользователей. А вот серверы нет. Если на вашем сервере работают скрипты, сайты или программы, которые обращаются к другим сервисам, обновите список доверенных сертификатов. Это займёт около 5 минут.

## 

## Что такое сертификат

Когда вы открываете сайт банка, рядом с адресом стоит значок замка. Он значит, что сайт настоящий, а не подделка. Но откуда браузер это знает?

Представьте нотариуса. Вы приносите документ, нотариус проверяет его и ставит печать. Все доверяют этой печати. Если на документе печать известного нотариуса, его считают подлинным.

В интернете роль нотариусов играют центры сертификации. Их около 140 в мире. Они выдают сайтам сертификаты, то есть «заверенные документы». Браузеры, телефоны и серверы хранят список нотариусов, которым доверяют.

У каждого нотариуса есть печать: секретный ключ. Пока печать надёжно спрятана, подделать документ невозможно.

## 

## 

## Что случилось

eMudhra это индийский центр сертификации. Ему доверяют Chrome, Firefox, Apple и Microsoft.

В апреле 2025 года eMudhra создала восемь новых «печатей» для выдачи сертификатов. Шесть для сайтов и две для подписи программ. Из-за ошибки в скрипте ключи получились крошечными.

Нормальный ключ это число длиной больше ста цифр. Его невозможно угадать даже за миллионы лет. У eMudhra все восемь ключей были меньше 256. Один был равен 4, другой 56, третий 115.

Это как сейф с кодом «0004». Взломщику не нужны инструменты. Достаточно перебрать несколько вариантов. Исследователь Скотт Хелм подобрал все восемь ключей меньше чем за секунду.

Ошибку заметили только 17 октября 2026 года. Значит, полтора года любой мог подделывать сертификаты. 18 октября eMudhra отозвала все восемь «печатей». Неизвестно, успел ли кто-то ими воспользоваться.

## 

## 

## Чем это грозит

С украденной печатью можно выдать себя за кого угодно. Например, за банк, платёжную систему или почтовый сервис.

Вот простой пример. Ваш интернет-магазин отправляет данные заказа в платёжную систему. Злоумышленник встаёт посередине и показывает поддельный сертификат. Ваш сервер видит печать «нотариуса», которому доверяет, и спокойно отдаёт данные. Это как отдать конверт с деньгами человеку в форме курьера, не проверив, настоящий ли он.

Это не теория. Скотт Хелм подделал сертификат для платёжного сервиса Stripe. Популярные инструменты curl, Python и Node.js приняли подделку без единого предупреждения.

## 

## Кого это касается

**Браузеры уже защищены.** Chrome, Firefox и Safari обновились автоматически. Если вы просто открываете сайты, делать ничего не нужно.

**Серверы сами не обновляются.** У сервера свой список доверенных «нотариусов». Он обновляется только вместе с системой. А некоторые программы хранят собственный список. Их нужно обновлять отдельно.

Обновить стоит, если на вашем сервере:

  * работает сайт или магазин, который подключается к платёжным системам, API, почте;
  * запускаются скрипты на Python, Node.js, Go или Java;
  * используются curl или wget в cron-задачах;
  * работают Docker-контейнеры.



Проще говоря, это касается почти каждого сервера.

## 

## 

## Обновите сертификаты системы

Список доверенных «нотариусов» хранится в пакете `ca-certificates`. Обновить его можно одной командой.

**Ubuntu и Debian:**
    
    
    sudo apt update
    sudo apt install --only-upgrade ca-certificates

На Debian 13 исправленная версия пакета: `20250419+deb13u1` или новее.

**AlmaLinux, Rocky Linux, CentOS Stream:**
    
    
    sudo dnf upgrade ca-certificates

**Alpine Linux:**
    
    
    apk upgrade ca-certificates

На Alpine исправленная версия: `20261020-r0` или новее.

Перезагружать сервер не нужно. Но службы, которые работают давно, лучше перезапустить. Они могли запомнить старый список при запуске.

## 

## 

## Обновите Python, Node.js, Go и Java

Некоторые программы не смотрят в системный список. Они носят свой. Это как сотрудник, у которого в кармане старая записная книжка с телефонами. Вы обновили справочник в офисе, а он всё равно звонит по старым номерам.

PHP, curl и wget обычно берут системный список. Для них хватит шага 1. А вот эти нужно обновить отдельно.

Что |  Как проверить версию |  Безопасная версия  
---|---|---  
Python (пакет certifi) |  `pip show certifi` |  2026.10.19 и новее  
Node.js |  `node -v` |  22.23.4, 24.22.1 или 26.12.1 и новее  
Go |  `go version` |  1.27.3 или 1.26.10 и новее  
Java |  `java -version` |  последнее обновление вашей версии  
  
**Python.** Обновите пакет командой:
    
    
    pip install --upgrade certifi

**Node.js.** Это то же самое обновление, которое закрывает опасную уязвимость в Brotli. Так что обновить Node стоит в любом случае.

**Go.** Обновите Go и пересоберите свои программы. Старая собранная программа продолжит доверять старым «печатям».

**Node.js 20 и более ранние версии не получат исправления.** Эти версии больше не поддерживаются. Их нужно переводить на новую версию.

## 

## Пересоберите Docker-образы

Каждый Docker-контейнер это отдельная маленькая система со своим списком сертификатов. Обновление сервера его не меняет. Контейнер как чемодан, который собрали месяц назад. Что вы положили тогда, то в нём и лежит.

Что сделать:

  1. Обновите базовый образ. Например, `node:24`, `python:3.13` или `debian:13` на свежую версию.
  2. Пересоберите свои образы:


    
    
    docker compose build --pull

  3. Перезапустите контейнеры:


    
    
    docker compose up -d

> Флаг `--pull` важен. Без него Docker возьмёт старый базовый образ из кэша, и ничего не изменится.

## 

## 

## Если после обновления что-то сломалось

Вместе с плохими «печатями» из списка убрали и сам «нотариат» eMudhra, которому они принадлежали. Из-за этого около 30 тысяч обычных сертификатов тоже перестали считаться надёжными. Их владельцам придётся получить новые у другого центра.

Поэтому после обновления может случиться так: ваш скрипт или сайт перестал подключаться к какому-то сервису. В логах появляются ошибки вроде:
    
    
    certificate verify failed
    unable to get local issuer certificate

Скорее всего, сертификат того сервиса выдан eMudhra. Ваш сервер теперь ему не доверяет. И это правильно.

**Что делать:**

  1. Найдите, к какому адресу не удаётся подключиться.
  2. Сообщите владельцу этого сервиса. Ему нужно заменить сертификат.
  3. Подождите замены или временно используйте другой сервис.



> **Чего делать нельзя:** отключать проверку сертификатов. Например, параметры `verify=False` в Python или `-k` в curl. Это как снять замок с двери, потому что ключ перестал подходить. Проблема исчезнет, но дверь останется открытой для всех.

## 

## Чек-лист

  * Обновил пакет `ca-certificates`
  * Перезапустил службы, которые давно работают
  * Обновил certifi в Python
  * Обновил Node.js до 22.23.4, 24.22.1 или 26.12.1
  * Обновил Go и пересобрал программы
  * Обновил Java
  * Пересобрал Docker-образы с флагом `--pull`
  * Проверил логи на ошибки сертификатов
  * Нигде не отключал проверку сертификатов



## 

## Не хотите разбираться сами?

> Каждую неделю появляются новые уязвимости. С Premium вам не придётся разбираться с ними в одиночку.

Обновить один пакет несложно. Сложнее понять, где ещё на сервере спрятаны свои списки сертификатов. Python в одном месте, Node в другом, три Docker-контейнера в третьем. А если после обновления перестала работать оплата на сайте, каждая минута стоит денег.

Для таких случаев у Zomro есть два варианта.

### 

## **SOD: сделаем всё за вас**

Наш системный администратор:

  * обновит системные сертификаты;
  * найдёт и обновит Python, Node.js, Go и Java, которые носят свои списки;
  * пересоберёт Docker-образы;
  * проверит, что сайт и интеграции работают.



Стоимость: €12.50 за каждые 15 минут работы. 

[**Заказать проверку сервера**](https://zomro.com/rus/paid-support-services/server-management-services)

### 

### Premium: быстрая помощь, когда она нужна

По обычному техническому запросу ответ может занять до 10 часов. С Premium мы отвечаем за время от 5 до 30 минут. Если после обновления сломалась оплата или интеграция, вы не будете ждать полдня.

[**Подключить Premium**](https://zomro.com/rus/paid-support-services)

Похожие статьи

[Ключ от сертификата оказался числом 4: что обновить на сервере](https://zomro.com/rus/blog/articles/748-the-certificate-key-turned-out-to-be-the-number-4-what-needs-to-be-updated-on-the-server) [PHP2Shell: как проверить свой сервер и закрыть опасную уязвимость PHP](https://zomro.com/rus/blog/articles/746-php2shell-how-to-check-your-server-and-close-a-dangerous-php-vulnerability) [Как с использованием mysqldump организовать создание автобэкапов](https://zomro.com/rus/blog/articles/578-how-to-organize-the-creation-of-automatic-backups-using-mysqldump) [Украденные AI-ключи: как LiteLLM, Railway и OpenCode подвели разработчиков](https://zomro.com/rus/blog/articles/747-stolen-ai-keys-how-litellm-railway-and-opencode-let-developers-down) [Создаем надежный и безопасный пароль](https://zomro.com/rus/blog/articles/27-sozdaem-nadezhnyy-i-bezopasnyy-parol)

[ Сервер для Forex от €7.95/мес ](/rus/server-for-forex)
