BACnet Stack - это библиотека C с открытым исходным кодом BACnet для встраиваемых систем. До версий 1.4.6, 1.5.2 и 1.6.1, bws_cli_connect() в ports/linux/websocket-cli.c загружает доверенный сертификат CA в контекст libwebsockets, а затем всегда устанавливает LCCSCF_ALLOW_SELFSIGNED в флаги подключения. Таким образом, lws принимает любой самоподписанный сертификат концентратора, независимо от того, привязывается ли он к загруженному CA.
Узел BACnet / SC завершает рукопожатие TLS к хабу-изгою, который представляет самоподписанный сертификат. Затем он передает злоумышленнику свою личность (VMAC, UUID) и весь последующий трафик BACnet. Эта проблема была исправлена в версиях 1.4.6, 1.5.2, 1.6.1 и 1.7.0.
Показать оригинальное описание (EN)
BACnet Stack is a BACnet open source protocol stack C library for embedded systems. Prior to versions 1.4.6, 1.5.2, and 1.6.1, bws_cli_connect() in ports/linux/websocket-cli.c loads the trusted CA cert into the libwebsockets context, then always sets LCCSCF_ALLOW_SELFSIGNED in the connection flags. So lws accepts any self-signed hub certificate, whether or not it chains to the loaded CA. A BACnet/SC node finishes the TLS handshake to a rogue hub that presents a self-signed cert. It then hands the attacker its identity (VMAC, UUID) and all later BACnet traffic. This issue has been patched in versions 1.4.6, 1.5.2, 1.6.1, and 1.7.0.
Характеристики атаки
Последствия
Строка CVSS v4.0