{"id":"CVE-2026-102537","summary":"bacnet-stack BACnet/SC node always accepts a self-signed hub cert, so an attacker can MITM it","details":"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.","aliases":["GHSA-jgm4-2wg9-jwfg"],"modified":"2026-11-14T10:45:22.361972337Z","published":"2026-11-13T18:41:50.301Z","database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/102xxx/CVE-2026-102537.json","cna_assigner":"GitHub_M","cwe_ids":["CWE-295"]},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/102xxx/CVE-2026-102537.json"},{"type":"FIX","url":"https://github.com/bacnet-stack/bacnet-stack/pull/1434"},{"type":"ADVISORY","url":"https://github.com/bacnet-stack/bacnet-stack/security/advisories/GHSA-jgm4-2wg9-jwfg"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-102537"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/bacnet-stack/bacnet-stack","events":[{"introduced":"0"},{"fixed":"92e503566c990269f85ee15370d88415ad7ff6fb"},{"introduced":"61a7a53bea5b5bc4724646abbce601fd26c364b6"},{"fixed":"d2468d56de3d156659a9051c95119e3a6e11c421"},{"introduced":"9bc3cfa07aab98852de432fa24079f4b4b6b7eed"},{"fixed":"7a53f0a72a92de1621d30fc63703a29afe12bfaf"}],"database_specific":{"extracted_events":[{"source":"AFFECTED_FIELD","strategy":"StringRangeExpression","range":[{"introduced":"0"},{"fixed":"1.4.6"}]},{"source":"AFFECTED_FIELD","strategy":"StringRangeExpression","range":[{"introduced":"1.5.0"},{"fixed":"1.5.2"}]},{"range":[{"introduced":"1.6.0"},{"fixed":"1.6.1"}],"source":"AFFECTED_FIELD","strategy":"StringRangeExpression"}]}}],"versions":["bacnet-stack-1.4.5","bacnet-stack-1.5.1","bacnet-stack-1.6.0","bacnet-stack-1.4.4","bacnet-stack-1.5.0","bacnet-stack-1.4.3","bacnet-stack-1.4.0","bacnet-stack-1.3.8","bacnet-stack-1.3.7","bacnet-stack-1.3.6","bacnet-stack-1.3.5","bacnet-stack-1.3.4","bacnet-stack-1.3.3","bacnet-stack-1.3.2","bacnet-stack-1.3.1","bacnet-stack-1.3.0","bacnet-stack-1.2.0","bacnet-stack-1.1.1","bacnet-stack-1.0.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-102537.json"}}],"schema_version":"1.9.2","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:A/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N"}]}