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. blockwise_transfer_init() accepts a path whose length equals CONFIG_GOLIOTH_COAP_MAX_PATH_LEN and copies it using strncpy() without guaranteeing a trailing NUL byte, leaving ctx->path unterminated. A later strlen() on this buffer (in golioth_coap_client_get_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).
Security readout for executives and security teams
Plain-English summary
This is a low-severity crash bug in Golioth Firmware SDK blockwise transfer handling. A maximum-length application-supplied path may lack proper string termination, causing later code to read past the buffer and potentially crash the device or process.
Executive priority
Treat as routine remediation unless the affected SDK is in safety-critical devices or untrusted users can influence blockwise paths. Prioritize inventory and inclusion in the next firmware maintenance release.
Technical view
In Golioth Firmware SDK 0.19.1 before 0.22.0, blockwise_transfer_init() can copy a CONFIG_GOLIOTH_COAP_MAX_PATH_LEN path with strncpy() without a NUL terminator. A later strlen() in golioth_coap_client_get_internal() may read out of bounds, causing denial of service. The issue maps to CWE-170.
Likely exposure
Exposure is likely limited to firmware using affected Golioth SDK versions and application logic that supplies maximum-length blockwise transfer paths. The source bundle states the input is application-controlled and not network-reachable by default.
Exploitation context
The CVE is not listed as KEV, and the provided sources do not establish active exploitation. CVSS marks local attack vector and high complexity, with availability impact only. Risk increases if product code lets untrusted data shape the path value.
Researcher notes
Evidence supports an unterminated string boundary bug with crash potential, not confidentiality or integrity impact. The public bundle does not prove default remote reachability, weaponized exploitation, or broader affected products beyond Golioth Firmware SDK versions before 0.22.0.
Mitigation direction
Upgrade Golioth Firmware SDK to v0.22.0 or later.
Backport commit 0e788217 if a full SDK upgrade is impractical.
Review firmware release manifests for affected Golioth SDK versions.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-170: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-170 · source CWE mapping
Improper Null Termination
Improper Null Termination represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.