Description
English Description
Bug: On Alibaba Cloud instances, the hostname returned by the metadata service is essentially the instance ID with minor formatting (iZ...Z instead of i-...). Since MikoPBX uses the instance ID as the initial web admin password (by design — to prevent bots from compromising the system with default admin/admin credentials), displaying the hostname on the login page effectively reveals the password.
Context
MikoPBX intentionally uses the cloud instance ID as the initial web admin password instead of a default admin/admin. This is a deliberate design choice — bots and scanners were compromising freshly deployed systems before users could log in. The instance ID provides a unique per-instance credential that only the owner should know.
The problem is specific to Alibaba Cloud: its metadata service returns the instance ID as the hostname with trivial formatting differences (iZ8ps5b2pvynwvr61wyhdsZ vs i-8ps5b2pvynwvr61wyhds). On other cloud providers (AWS, GCE, Azure, etc.), the hostname is typically a user-assigned name unrelated to the instance ID.
Current Behavior
In src/Core/System/CloudProvisioning/AlibabaCloud.php:
$hostname = $metadata['hostname'] ?? ''; // Returns: iZ8ps5b2pvynwvr61wyhdsZ
$instanceId = $metadata['instance-id']; // Returns: i-8ps5b2pvynwvr61wyhds
$config = new ProvisioningConfig(
hostname: $hostname, // Displayed on login page as PBX name
webPassword: $instanceId // Used as initial password
);
The login page shows:
- PBX name:
iZ8ps5b2pvynwvr61wyhdsZ (= instance ID with Z wrapper)
- Hint: "Default password equals the unique identifier of the virtual machine in the cloud"
Password is trivially derived: replace first Z → -, remove trailing Z.
Expected Behavior
The hostname displayed on the login page should not reveal the instance ID. When the Alibaba Cloud hostname matches the instance ID pattern (/^iZ.*Z$/), use a generic name like MikoPBX instead.
Русское описание
Баг: На инстансах Alibaba Cloud hostname, возвращаемый сервисом метаданных, фактически является ID инстанса с минимальным форматированием (iZ...Z вместо i-...). Поскольку MikoPBX использует ID инстанса как начальный пароль веб-админки (это сделано намеренно — чтобы боты не ломали систему с дефолтным admin/admin), отображение hostname на странице входа фактически раскрывает пароль.
Контекст
MikoPBX намеренно использует ID облачного инстанса как начальный пароль вместо дефолтного admin/admin. Это осознанное решение — раньше боты и сканеры компрометировали свежеустановленные системы быстрее, чем пользователь успевал войти. ID инстанса обеспечивает уникальный пароль, который должен знать только владелец.
Проблема специфична для Alibaba Cloud: его сервис метаданных возвращает ID инстанса в качестве hostname с тривиальными отличиями в форматировании (iZ8ps5b2pvynwvr61wyhdsZ vs i-8ps5b2pvynwvr61wyhds). На других облаках hostname обычно не связан с instance ID.
Текущее поведение
На странице авторизации отображается:
- Имя АТС:
iZ8ps5b2pvynwvr61wyhdsZ (= instance ID с обёрткой Z)
- Подсказка: "Default password equals the unique identifier of the virtual machine in the cloud"
Пароль тривиально получается из отображаемого имени: заменить первую Z на -, убрать последнюю Z.
Ожидаемое поведение
Hostname на странице входа не должен раскрывать instance ID. Если hostname из Alibaba Cloud совпадает с паттерном instance ID (/^iZ.*Z$/), использовать общее имя, например MikoPBX.

Description
English Description
Bug: On Alibaba Cloud instances, the hostname returned by the metadata service is essentially the instance ID with minor formatting (
iZ...Zinstead ofi-...). Since MikoPBX uses the instance ID as the initial web admin password (by design — to prevent bots from compromising the system with defaultadmin/admincredentials), displaying the hostname on the login page effectively reveals the password.Context
MikoPBX intentionally uses the cloud instance ID as the initial web admin password instead of a default
admin/admin. This is a deliberate design choice — bots and scanners were compromising freshly deployed systems before users could log in. The instance ID provides a unique per-instance credential that only the owner should know.The problem is specific to Alibaba Cloud: its metadata service returns the instance ID as the hostname with trivial formatting differences (
iZ8ps5b2pvynwvr61wyhdsZvsi-8ps5b2pvynwvr61wyhds). On other cloud providers (AWS, GCE, Azure, etc.), the hostname is typically a user-assigned name unrelated to the instance ID.Current Behavior
In
src/Core/System/CloudProvisioning/AlibabaCloud.php:The login page shows:
iZ8ps5b2pvynwvr61wyhdsZ(= instance ID withZwrapper)Password is trivially derived: replace first
Z→-, remove trailingZ.Expected Behavior
The hostname displayed on the login page should not reveal the instance ID. When the Alibaba Cloud hostname matches the instance ID pattern (
/^iZ.*Z$/), use a generic name likeMikoPBXinstead.Русское описание
Баг: На инстансах Alibaba Cloud hostname, возвращаемый сервисом метаданных, фактически является ID инстанса с минимальным форматированием (
iZ...Zвместоi-...). Поскольку MikoPBX использует ID инстанса как начальный пароль веб-админки (это сделано намеренно — чтобы боты не ломали систему с дефолтнымadmin/admin), отображение hostname на странице входа фактически раскрывает пароль.Контекст
MikoPBX намеренно использует ID облачного инстанса как начальный пароль вместо дефолтного
admin/admin. Это осознанное решение — раньше боты и сканеры компрометировали свежеустановленные системы быстрее, чем пользователь успевал войти. ID инстанса обеспечивает уникальный пароль, который должен знать только владелец.Проблема специфична для Alibaba Cloud: его сервис метаданных возвращает ID инстанса в качестве hostname с тривиальными отличиями в форматировании (
iZ8ps5b2pvynwvr61wyhdsZvsi-8ps5b2pvynwvr61wyhds). На других облаках hostname обычно не связан с instance ID.Текущее поведение
На странице авторизации отображается:
iZ8ps5b2pvynwvr61wyhdsZ(= instance ID с обёрткойZ)Пароль тривиально получается из отображаемого имени: заменить первую
Zна-, убрать последнююZ.Ожидаемое поведение
Hostname на странице входа не должен раскрывать instance ID. Если hostname из Alibaba Cloud совпадает с паттерном instance ID (
/^iZ.*Z$/), использовать общее имя, напримерMikoPBX.