CVE-2026-64483

Summary

In the Linux kernel, the following vulnerability has been resolved:

ALSA: firewire: isight: bound the sample count to the packet payload

isight_packet() takes the frame count from the device iso packet and checks it only against the device claimed iso length.

count = be32_to_cpu(payload->sample_count);
if (likely(count <= (length - 16) / 4))
	isight_samples(isight, payload->samples, count);

length is the iso header data_length. It can be up to 0xffff. So the gate allows a count up to about 16379. isight_samples() then copies count frames out of payload->samples into the PCM DMA buffer.

payload->samples holds only 2 * MAX_FRAMES_PER_PACKET values. The device multiplexes two samples per frame. A count past MAX_FRAMES_PER_PACKET reads past the payload. A count past the buffer size writes past runtime->dma_area. The smallest PCM buffer is larger than MAX_FRAMES_PER_PACKET. Bounding the count to MAX_FRAMES_PER_PACKET keeps both the read and the write in range.

A malicious or faulty Apple iSight on the FireWire bus reaches this during a normal capture.

Add the MAX_FRAMES_PER_PACKET bound to the gate.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux3a691b28a0ca3cf4d9010c6158318159e0275d2c < 24423e0a9251d348c3f1fb0bb0e61b879e1e976caffected
LinuxLinux3a691b28a0ca3cf4d9010c6158318159e0275d2c < ebbffacda6733dcbcef601b5b523460f8d8b671eaffected
LinuxLinux3a691b28a0ca3cf4d9010c6158318159e0275d2c < 57e4d9043afc1eaddee8f50d11def6e65415d273affected
LinuxLinux3a691b28a0ca3cf4d9010c6158318159e0275d2c < 3ed2fa1ed8cc65f910b8bbc0be3cc366b30f8478affected
LinuxLinux3a691b28a0ca3cf4d9010c6158318159e0275d2c < 31da82b9676c6b112e7c72c7529e6812b919742aaffected
LinuxLinux3a691b28a0ca3cf4d9010c6158318159e0275d2c < 8e48a29813df8dd71503800b7acf69c12c035045affected
LinuxLinux3a691b28a0ca3cf4d9010c6158318159e0275d2c < 31a01b70bb90e3ef3147f308e2ea899e1d2485caaffected
LinuxLinux3a691b28a0ca3cf4d9010c6158318159e0275d2c < 29b9667982e4df2ed7744f86b1144f8bb58eb698affected
LinuxLinux3.0affected
LinuxLinux0 < 3.0unaffected
LinuxLinux5.10.261 <= 5.10.*unaffected
LinuxLinux5.15.212 <= 5.15.*unaffected
LinuxLinux6.1.178 <= 6.1.*unaffected
LinuxLinux6.6.145 <= 6.6.*unaffected
LinuxLinux6.12.96 <= 6.12.*unaffected
LinuxLinux6.18.39 <= 6.18.*unaffected
LinuxLinux7.1.4 <= 7.1.*unaffected
LinuxLinux7.2-rc1 <= *unaffected

Weaknesses

References