Eclipse ThreadX: Cortex-A7 module data validation checks only the first address of a caller-supplied range
What fixes it
No source in this snapshot names a fixed version. The vendor advisories under References are the place to check.
Description
The Cortex-A7 MMU Modules port validates a caller-supplied buffer by translating one address — the first byte. The common Module Manager hands its range check the module instance, the start address and the complete byte size; the Cortex-A7 implementation discarded the instance and the size and asked the MMU a single question about the start.
A memory-protected module therefore passed any range whose first byte was user-readable, however far the rest of it reached. Privileged dispatch code then read or wrote the whole range. Because every protected-module dispatcher that consumes a buffer or an extra-parameter array goes through this one macro, the defect is not in any individual service: it is in the primitive all of them rely on.
Text from CVE List
Affected versions 2
- Eclipse ThreadXaffected: 6.1 through 6.5.1.202602aCVE List
- Eclipse ThreadXunaffected: 6.5.2.202603CVE List