MCUboot's Zephyr serial-recovery upload handler bsupload() in boot/bootserial/src/bootserial.c decodes the host-supplied image field of an…
CVE-2026-16664
MCUboot's Zephyr serial-recovery upload handler bsupload() in boot/bootserial/src/bootserial.c decodes the host-supplied image field of an MCUmgr image-upload request into imgnum (a full 32-bit value) and latches it on the off == 0 packet without any range check. It then passes imgnum straight to flashareaidfrommultiimageslot(imgnum, 0), which on the Zephyr port resolves to flashareaidsforslot() in boot/zephyr/include/sysflash/sysflash.h and indexes the static const int allslots[] table as allslots[imgnum 2]. That table holds only MCUBOOTIMAGENUMBER 2 entries, so any imgnum >= MCUBOOTIMAGENUMBER is an out-of-bounds read. The path is reachable by anyone with access to the serial / SMP recovery console, which is unauthenticated by design, and the bad value is supplied before any image signature is verified. The defect is specific to the default non-direct upload path (MCUBOOTSERIALDIRECTIMAGEUPLOAD disabled) on the Zephyr port with the array-backed slot layout (not CONFIGSINGLEAPPLICATIONSLOT). It is not gated on a multi-image configuration: MCUBOOTIMAGENUMBER defaults to 1, so even a default single-image build is affected for any image >= 1. The MCUBOOTSERIALDIRECTIMAGEUPLOAD path…
Assessment
- CVSS
- 5.1 (v3.1)
- Severity
- Medium
- Known exploited
- Not listed in CISA KEV
- Exploit availability
- Nothing found in Exploit-DB, Metasploit, Nuclei or public PoC repositories
- Published
- 13 November 2026
- Last updated
- 13 November 2026
- Assigner
- zephyr
CVSS vectorCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L
At the source
References
Community proofs of concept
No community proof of concept yet. If you have one for a published vulnerability and the right to share it, add it below — it will appear here once reviewed.
Submit a proof of concept
Only for publicly disclosed vulnerabilities, and only material from testing you were authorised to perform. This platform does not buy, sell, or broker exploits — see earning from vulnerability research for legitimate bounty programs. Submissions are reviewed before they appear. Text only; do not include live credentials, personal data, or anything targeting systems you are not permitted to test.
Query this programmatically
Agents can read this through the MCP endpoint, or over HTTP:
curl https://cve.zerocrew.in/api/cve/CVE-2026-16664