FreePBX — это IP-АТС с открытым исходным кодом. До версии 17.0.9 сервер UCP Node на портах 8001 и 8003 использовал io.use(checkAuth) в node/lib/server.js, но Socket.IO версии 4 применяет это промежуточное программное обеспечение только к пространству имен по умолчанию. Неаутентифицированный клиент может подключаться к пользовательским пространствам имен, которые не всегда вызывают checkAuth в node/lib/auth.js, и отправлять созданные значения событий, содержащие символы возврата каретки или новой строки, через путь действия интерфейса Asterisk Manager, исправленный node/lib/asterisk-manager-patch.js, что позволяет выполнять произвольные команды от имени пользователя службы asterisk.
Эта проблема исправлена в версии 17.0.9.
Показать оригинальное описание (EN)
FreePBX is an open source IP PBX. Prior to 17.0.9, the UCP Node server on ports 8001 and 8003 uses io.use(checkAuth) in node/lib/server.js, but Socket.IO version 4 applies that middleware only to the default namespace. An unauthenticated client can connect to custom namespaces that do not consistently invoke checkAuth in node/lib/auth.js and send crafted event values containing carriage-return or newline characters through the Asterisk Manager Interface action path patched by node/lib/asterisk-manager-patch.js, allowing arbitrary commands to execute as the asterisk service user. This issue is fixed in version 17.0.9.
Характеристики атаки
Последствия
Строка CVSS v4.0