CVE-2026-97692

Source
https://cve.org/CVERecord?id=CVE-2026-97692
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-97692.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-97692
Aliases
  • GHSA-gr74-333w-7wg8
Published
2026-11-13T18:42:41Z
Modified
2026-11-14T10:45:16Z
Severity
  • 7.7 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:H CVSS Calculator
Summary
BACnet Stack: pre-auth out-of-bounds read that escalates to an out-of-bounds write into global memory
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, the BACnet/SC message decoder walks the header-option list by following each option's MORE bit. Nothing rejects a list whose last option still has the MORE bit set, and the decode walk has no upper bound on how many options it processes. A single crafted BVLC-SC frame makes the walk advance one option past the end of the message and read message[message_len], one byte out of bounds. When the bytes after the message carry more MORE-set option markers, the walk keeps going: it runs past the fixed 4-entry option array and writes decoded option fields out of bounds. On the server that decode array is the static global bsc_dm, so the out-of-bounds write lands in adjacent BSS. Both faults are reachable before authentication, from the first frame a peer sends on a BACnet/SC connection, and the bytes that follow the message are the same peer's prior-frame data. This issue has been patched in versions 1.4.6, 1.5.2, 1.6.1, and 1.7.0.

Database specific
{
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
        "CWE-787"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/97xxx/CVE-2026-97692.json"
}
References

Affected packages

Git / github.com/bacnet-stack/bacnet-stack

Affected ranges

Type
GIT
Repo
https://github.com/bacnet-stack/bacnet-stack
Events
Database specific
Show details
{
    "extracted_events": [
        {
            "range": [
                {
                    "introduced": "0"
                },
                {
                    "fixed": "1.4.6"
                }
            ],
            "source": "AFFECTED_FIELD",
            "strategy": "StringRangeExpression"
        },
        {
            "range": [
                {
                    "introduced": "1.5.0"
                },
                {
                    "fixed": "1.5.2"
                }
            ],
            "source": "AFFECTED_FIELD",
            "strategy": "StringRangeExpression"
        },
        {
            "range": [
                {
                    "introduced": "1.6.0"
                },
                {
                    "fixed": "1.6.1"
                }
            ],
            "source": "AFFECTED_FIELD",
            "strategy": "StringRangeExpression"
        }
    ]
}

Affected versions

bacnet-stack-1.*
bacnet-stack-1.0.0
bacnet-stack-1.1.1
bacnet-stack-1.2.0
bacnet-stack-1.3.0
bacnet-stack-1.3.1
bacnet-stack-1.3.2
bacnet-stack-1.3.3
bacnet-stack-1.3.4
bacnet-stack-1.3.5
bacnet-stack-1.3.6
bacnet-stack-1.3.7
bacnet-stack-1.3.8
bacnet-stack-1.4.0
bacnet-stack-1.4.3
bacnet-stack-1.4.4
bacnet-stack-1.4.5
bacnet-stack-1.5.0
bacnet-stack-1.5.1
bacnet-stack-1.6.0

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-97692.json"