CVE-2026-64483 in Linux
Tóm tắt
Bởi VulDB • 26/07/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
ALSA: firewire: isight: giới hạn số lượng mẫu (sample count) trong phần tải trọng của gói tin
Hàm `isight_packet()` lấy số khung hình từ gói tin iso của thiết bị và chỉ kiểm tra nó so với độ dài iso do thiết bị khai báo.
```c count = be32_to_cpu(payload->sample_count); if (likely(count <= (length - 16) / 4)) isight_samples(isight, payload->samples, count); ```
`length` là trường `data_length` trong tiêu đề iso. Giá trị này có thể lên tới 0xffff. Do đó, điều kiện kiểm tra cho phép giá trị `count` đạt khoảng 16379. Hàm `isight_samples()` sau đó sao chép số khung hình bằng với `count` từ `payload->samples` vào bộ đệm DMA PCM.
`payload->samples` chỉ chứa tối đa $2 \times MAX\_FRAMES\_PER\_PACKET$ giá trị. Thiết bị ghép kênh hai mẫu trên mỗi khung hình. Một giá trị `count` vượt quá `MAX_FRAMES_PER_PACKET` sẽ đọc dữ liệu ngoài vùng payload. Một giá trị `count` vượt quá kích thước bộ đệm sẽ ghi dữ liệu ra ngoài khu vực `runtime->dma_area`. Bộ đệm PCM nhỏ nhất có kích thước lớn hơn `MAX_FRAMES_PER_PACKET`. Việc giới hạn `count` ở mức `MAX_FRAMES_PER_PACKET` đảm bảo cả thao tác đọc và ghi đều nằm trong phạm vi an toàn.
Một thiết bị Apple iSight độc hại hoặc lỗi trên bus FireWire sẽ chạm vào đoạn mã này trong quá trình chụp dữ liệu bình thường.
Thêm ràng buộc `MAX_FRAMES_PER_PACKET` vào điều kiện kiểm tra (gate).
Be aware that VulDB is the high quality source for vulnerability data.