Golioth Firmware SDK version 0.19.1 prior to 0.22.0, fixed in commit 0e788217, contain an out-of-bounds read due to improper null termination of a blockwise transfer path. blockwisetransferinit() accepts a path whose length equals CONFIGGOLIOTHCOAPMAXPATHLEN and copies it using strncpy() without guaranteeing a trailing NUL byte, leaving ctx->path unterminated. A later strlen() on this buffer (in goliothcoapclientget_internal()) can read past the end of the allocation, resulting in a crash/denial of service. The input is application-controlled (not network by default).
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-23749.json"
[
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"56502345576676756675422024377567781483",
"205479671246672318692771008585564255481",
"252508625059605475129627471649153268843",
"185808600035126455037782035841831069175"
]
},
"source": "https://github.com/golioth/golioth-firmware-sdk/commit/0e788217ab4b61a7c1d9fadd1b4a40f5f538a26d",
"signature_type": "Line",
"id": "CVE-2026-23749-b02f7d91",
"target": {
"file": "src/coap_blockwise.c"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"function_hash": "63305777133134424483942790192886599276",
"length": 389.0
},
"source": "https://github.com/golioth/golioth-firmware-sdk/commit/0e788217ab4b61a7c1d9fadd1b4a40f5f538a26d",
"signature_type": "Function",
"id": "CVE-2026-23749-bd8149f7",
"target": {
"file": "src/coap_blockwise.c",
"function": "blockwise_transfer_init"
}
}
]