Nguy hiểm: Lỗ hổng CVE nghiêm trọng trong FFmpeg

Nguy hiểm: Lỗ hổng CVE nghiêm trọng trong FFmpeg

Nhiều lỗ hổng CVE nghiêm trọng đã được xác định trong FFmpeg, một framework đa phương tiện mã nguồn mở được sử dụng rộng rãi. Các lỗ hổng CVE nghiêm trọng này ảnh hưởng đến các thành phần phân tích, giải mã, lọc và mã hóa phương tiện. Chúng có thể bị kích hoạt khi một ứng dụng xử lý các tệp tin độc hại.

Một số vấn đề có thể dẫn đến hỏng bộ nhớ heap, điều này có thể khiến ứng dụng bị ảnh hưởng gặp sự cố. Trong một số trường hợp nhất định, những lỗ hổng CVE này có thể bị khai thác để thực thi mã tùy ý (remote code execution).

Các lỗ hổng CVE khác có thể tạo điều kiện cho các cuộc tấn công từ chối dịch vụ (Denial-of-Service – DoS) thông qua việc phân bổ bộ nhớ quá mức. Ngoài ra, chúng còn có thể làm lộ bộ nhớ heap chưa được khởi tạo, gây rò rỉ thông tin nhạy cảm.

Các lỗ hổng CVE đã được khắc phục

Các lỗ hổng CVE đã được xử lý trong các bản commit upstream của FFmpeg. Các tổ chức nên nâng cấp lên một phiên bản bao gồm các bản vá bảo mật hoặc xây dựng lại FFmpeg bằng cách sử dụng các bản cập nhật được tham chiếu.

CVE-2026-66036: Ghi ngoài giới hạn bộ đệm trong vf_hqdn3d

CVE-2026-66036 có điểm CVSS 7.7 và ảnh hưởng đến bộ lọc khử nhiễu video vf_hqdn3d. Kẻ tấn công có thể cung cấp một video mà độ phân giải khung hình tăng lên sau khung hình đầu tiên.

Khi quá trình khởi tạo lại filtergraph bị vô hiệu hóa bằng tùy chọn -reinit_filter 0, FFmpeg sẽ cấp phát các bộ đệm lịch sử dòng dựa trên chiều rộng khung hình ban đầu. Các khung hình lớn hơn xuất hiện sau trong luồng có thể khiến hàm denoise_spatial() ghi ra ngoài các bộ đệm này, làm hỏng bộ nhớ heap. Xem chi tiết tại: VulnCheck Advisory: FFmpeg Heap Out-of-Bounds Write in vf_hqdn3d filter

CVE-2026-66041: Ghi ngoài giới hạn bộ đệm trong vf_quirc

CVE-2026-66041, cũng được xếp hạng 7.7, ảnh hưởng đến bộ lọc vf_quirc trong các phiên bản FFmpeg từ 7.0 đến 8.1. Một tệp phụ đề PGS/SUP được tạo thủ công có thể chứa một bản trình bày sau đó với kích thước lớn hơn bản trình bày ban đầu.

Điều này khiến FFmpeg sao chép dữ liệu quá mức vào một bộ đệm hình ảnh thang độ xám có kích thước không đủ được sử dụng bởi libquirc, dẫn đến tràn bộ đệm. Thông tin thêm: VulnCheck Advisory: FFmpeg Heap Out-of-Bounds Write via vf_quirc filter

CVE-2026-66039: Tràn số nguyên và tràn bộ đệm heap trong bộ giải mã MACE6

CVE-2026-66039 là một vấn đề tràn số nguyên và tràn bộ đệm heap trong bộ giải mã âm thanh MACE6. Một tệp CAF độc hại có thể khai thác các giá trị quá lớn cho bytes_per_packetframes_per_packet.

Lỗi tràn này có thể dẫn đến việc cấp phát bộ nhớ có kích thước không đủ, sau đó là ghi ngoài giới hạn (out-of-bounds write), gây ra hỏng dữ liệu. Tham khảo: VulnCheck Advisory: FFmpeg MACE6 audio decoder heap out-of-bounds write via CAF file

CVE-2026-66040: Hỏng heap qua bộ mã hóa PNG/APNG eXIf

CVE-2026-66040 ảnh hưởng đến các bộ mã hóa PNGAPNG gốc của FFmpeg. Một hình ảnh PNG được tạo thủ công chứa một chunk siêu dữ liệu eXIf độc hại có thể khiến quá trình tuần tự hóa đầu ra vượt quá kích thước cấp phát ước tính.

Điều này dẫn đến hỏng heap có tính chất xác định, có khả năng cho phép thực thi mã. Đây là một lỗ hổng CVE có thể bị khai thác nghiêm trọng. Chi tiết: VulnCheck Advisory: FFmpeg Heap Out-of-Bounds Write via PNG/APNG eXIf encoder

CVE-2026-66037: Tiêu thụ tài nguyên không kiểm soát trong IAMF demuxer

CVE-2026-66037 là một lỗi tiêu thụ tài nguyên không kiểm soát trong IAMF demuxer, với điểm CVSS 7.1. Một tệp 171 byte được tạo đặc biệt có thể kích hoạt cấp phát bộ nhớ lên đến nhiều gigabyte thông qua trường count_label do kẻ tấn công kiểm soát.

Điều này có khả năng gây ra tình trạng hết bộ nhớ (out-of-memory – OOM) trong quá trình dò tìm định dạng. Lỗi này làm tăng rủi ro bảo mật của hệ thống. Xem thêm: VulnCheck Advisory: FFmpeg IAMF demuxer uncontrolled resource consumption via mix_presentation_obu

CVE-2026-66038: Tiết lộ thông tin trong bộ giải mã LCL/ZLIB

CVE-2026-66038, cũng có điểm 7.1, ảnh hưởng đến bộ giải mã video LCL/ZLIB. Một luồng zlib hợp lệ nhưng ngắn có thể để lại các phần của khung đầu ra chưa được khởi tạo.

FFmpeg sau đó có thể sao chép nội dung heap chưa được khởi tạo vào đầu ra có thể quan sát được. Điều này tiềm ẩn nguy cơ tiết lộ dữ liệu bộ cấp phát và làm suy yếu các biện pháp bảo vệ Address Space Layout Randomization (ASLR) trong các dịch vụ chạy dài. Đọc thêm tại: VulnCheck Advisory: FFmpeg LCL/ZLIB video decoder information disclosure via lcldec.c

Khuyến nghị và biện pháp giảm thiểu

Các tổ chức nên cập nhật FFmpeg ngay lập tức lên một phiên bản đã bao gồm các bản sửa lỗi upstream. Các bản sửa lỗi liên quan bao gồm các commit sau:

  • 5d7112c
  • 8670835
  • e7cbfd1
  • aafb5c6
  • b506faf
  • 4da9812

Nếu việc vá lỗi ngay lập tức không khả thi, các quản trị viên nên áp dụng các biện pháp giảm thiểu sau để đối phó với các lỗ hổng CVE:

  • Hạn chế xử lý các tệp phương tiện không đáng tin cậy.
  • Cô lập các khối lượng công việc chuyển mã (transcoding workloads) trong môi trường biệt lập.
  • Thực thi giới hạn bộ nhớ (memory limits) cho các tiến trình FFmpeg.
  • Tránh sử dụng các cấu hình bộ lọc rủi ro, chẳng hạn như -reinit_filter 0, với các đầu vào video không đáng tin cậy.

Việc áp dụng đầy đủ các bản vá bảo mật là bước quan trọng nhất để bảo vệ hệ thống khỏi các mối đe dọa này.