CVE-2026-98481: nfc: port100: reject frames whose declared length exceeds the received data
In the Linux kernel, the following vulnerability has been resolved:
nfc: port100: reject frames whose declared length exceeds the received data
port100recvresponse() passes the URB transfer buffer to port100rxframeisvalid(), which checksums le16tocpu(frame->datalen) bytes of frame->data. datalen is a 16-bit field supplied by the device and is never checked against the number of bytes actually received (urb->actuallength), so a device reporting a datalen larger than the received frame makes port100datachecksum() read out of bounds past the transfer buffer.
Reject a response whose declared frame size does not fit the received length before validating it.
Found by 0sec (https://0sec.ai) using automated source analysis; the missing bound is evident from source. Compile-tested.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Compensating control
In the Linux kernel nfc: port100 receive path, reject a response frame when its declared datalen exceeds the number of bytes actually received before validating the frame or calculating its checksum.