Home

Description

Two potential heap out-of-bounds write locations existed in DecodeObjectId() in wolfcrypt/src/asn.c. First, a bounds check only validates one available slot before writing two OID arc values (out[0] and out[1]), enabling a 2-byte out-of-bounds write when outSz equals 1. Second, multiple callers pass sizeof(decOid) (64 bytes on 64-bit platforms) instead of the element count MAX_OID_SZ (32), causing the function to accept crafted OIDs with 33 or more arcs that write past the end of the allocated buffer.

PUBLISHED Reserved 2026-03-30 | Published 2026-04-09 | Updated 2026-04-14 | Assigner wolfSSL




LOW: 2.3CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N

Problem types

CWE-122: Heap-based Buffer Overflow

CWE-787: Out-of-bounds Write

Product status

Default status
unaffected

Any version
affected

Credits

ytsun, Independent Security Researcher finder

References

github.com/wolfSSL/wolfssl (wolfSSL GitHub Repository)

cve.org (CVE-2026-5187)

nvd.nist.gov (CVE-2026-5187)

Download JSON