DF-2321
Unbounded idx extension loops in CISTPL_CFTABLE_ENTRY read past the declared tuple body
Summary
CISTPL_CFTABLE_ENTRY parser advances body index idx through several extension/subfield loops without comparing idx against tuple->length inside the loop. Power-parameter extension loop (:995-1003) and misc extension loop (:1243-1246) iterate solely on attacker-supplied byte contents. If bytes carry 0x80 extension bit idx walks past declared tuple body. pccard_tuple_read_* macros do no inherent bounds checking. If attribute memory past tuple body is all 0xFF (erased state) every read returns 0xFF 0x80 bit stays set idx advances until out-of-window access. Either kernel hang/spin (bridge wraps) or panic (leaves mapping).
No comments yet.