CVE-2026-10644: Out-of-bounds write in Microchip SERCOM-G1 (PIC32CM-JH) async UART RX with 1-byte buffer
The Microchip SERCOM-G1 UART driver (drivers/serial/uartmchpsercomg1.c), used by the PIC32CM-JH SoC family, contains an out-of-bounds write in its asynchronous (DMA) receive path. When uartrxenable() is invoked with a one-byte receive buffer (len == 1) and CONFIGUARTMCHPASYNC is enabled, the RX-complete ISR starts a single-beat DMA transfer while a received byte is already pending in the SERCOM DATA register. On this SoC the peripheral-triggered DMA start sequencing then writes one byte past the end of the caller-supplied buffer (CWE-787).
The overflowed byte's value is the UART RX data supplied by the connected serial peer (adjacent attacker), while its size and location are fixed at one byte immediately after the buffer.
Exploitation requires the async UART config (not enabled by default on the in-tree PIC32CM-JH boards) and a consumer that enables RX with a one-byte buffer; impact is limited single-byte memory corruption adjacent to the RX buffer (possible crash / denial of service).
The defect shipped in v4.4.0. The fix reads the first byte with the CPU and, for one-byte buffers, performs no DMA at all; for larger buffers it sizes the DMA for the remaining len-1 bytes.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Microchip SERCOM-G1 UART driver (drivers/serial/uart_mchp_sercom_g1.c) / PIC32CM-JH SoC familyto a version that resolves this vulnerability.Fixed in v4.4.0
Event History
Frequently Asked Questions
What is the severity of CVE-2026-10644?
The severity of CVE-2026-10644 is rated as medium with a score of 4.2.
How do I fix CVE-2026-10644?
To fix CVE-2026-10644, ensure that the receive buffer length is greater than one byte when using the uart_rx_enable() function.
What software is affected by CVE-2026-10644?
CVE-2026-10644 affects the Microchip SERCOM-G1 UART driver used by the PIC32CM-JH SoC family.
What type of vulnerability is CVE-2026-10644?
CVE-2026-10644 is an out-of-bounds write vulnerability in the asynchronous UART RX with a 1-byte buffer.
What are the implications of CVE-2026-10644?
The implications of CVE-2026-10644 include potential data corruption and system instability due to improper handling of UART data.