CVE Catalog

CVE-2026-95111

MediumCVSS 4.8
Published: Updated: Translated: NVD NIST

Summary

In a memory-protected ThreadX module, a queue request reaches the Module Manager's dispatch layer, which passes a word count instead of a byte extent to the range check. This causes a privileged read of up to 3 * message_size bytes past the module's allowed memory, with the data written into the queue's message area.

Risk Assessment

A memory-protected module may read data outside its permitted memory region and retrieve it from the queue, breaking memory isolation and confidentiality.

Recommendation

Upgrade ThreadX to a version containing the unit-conversion fix in _txe_queue_front_send and limit trust in memory-protected modules.

Other vulnerabilities in ThreadX

See all
Original NVD description (English source)

A memory-protected ThreadX module's queue request reaches the Module Manager's dispatch layer, which decides how much of the module's buffer the privileged queue copy may touch and hands that extent to the module port's range check. A queue's `tx_queue_message_size` is a count of `ULONG`s and the copy moves that many words, so the extent is `message_size * sizeof(ULONG)` bytes. The front-send dispatcher passed the word count itself. `tx_queue_send` and `tx_queue_receive`, either side of it in the same header, have always multiplied. A source buffer ending `message_size` bytes into memory the module may read was therefore accepted, and `_txe_queue_front_send` then read `message_size * sizeof(ULONG)` bytes from it in privileged mode — `3 * message_size` bytes past the end of what the module is allowed to read. The words are written into the queue's message area, so a module that can receive from that queue reads them back.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS