ALSA: firewire: isight: bound the sample count to the packet payload
3Vexday Risk Score
Sem sinal de exploração. Nenhum artefato público de exploração conhecido até agora.
ssvc Trackepss 0.2%
probabilidade de exploração
0.2%top 92% das CVEs
exploração observada
nãonenhuma fonte reporta
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.
Produtos afetados
Linux · LinuxReferências
https://git.kernel.org/stable/c/24423e0a9251d348c3f1fb0bb0e61b879e1e976chttps://git.kernel.org/stable/c/29b9667982e4df2ed7744f86b1144f8bb58eb698https://git.kernel.org/stable/c/31a01b70bb90e3ef3147f308e2ea899e1d2485cahttps://git.kernel.org/stable/c/31da82b9676c6b112e7c72c7529e6812b919742ahttps://git.kernel.org/stable/c/3ed2fa1ed8cc65f910b8bbc0be3cc366b30f8478https://git.kernel.org/stable/c/57e4d9043afc1eaddee8f50d11def6e65415d273https://git.kernel.org/stable/c/8e48a29813df8dd71503800b7acf69c12c035045https://git.kernel.org/stable/c/ebbffacda6733dcbcef601b5b523460f8d8b671e