Nixpkgs security tracker

Login with GitHub

Suggestion detail

Dismissed
(max. allowed matches exceeded)
created 11 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
ALSA: firewire: isight: bound the sample count to the packet payload

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 products

Linux
  • <8e48a29813df8dd71503800b7acf69c12c035045
  • <3.0
  • <29b9667982e4df2ed7744f86b1144f8bb58eb698
  • =<6.18.*
  • <31a01b70bb90e3ef3147f308e2ea899e1d2485ca
  • <ebbffacda6733dcbcef601b5b523460f8d8b671e
  • <31da82b9676c6b112e7c72c7529e6812b919742a
  • =<5.15.*
  • =<6.12.*
  • ==3.0
  • =<7.1.*
  • <57e4d9043afc1eaddee8f50d11def6e65415d273
  • =<*
  • <3ed2fa1ed8cc65f910b8bbc0be3cc366b30f8478
  • =<6.1.*
  • =<6.6.*
  • <24423e0a9251d348c3f1fb0bb0e61b879e1e976c
  • =<5.10.*