Cảnh báo lỗ hổng RCE nghiêm trọng trong thư viện libheif ảnh hưởng WordPress
Phát hiện lỗ hổng thực thi mã từ xa (RCE) thông qua tệp tin HEIC độc hại trong thư viện libheif, đe dọa trực tiếp đến các máy chủ WordPress sử dụng ImageMagick.

- Mối đe dọa: Lỗ hổng thực thi mã từ xa (RCE) trong thư viện libheif cho phép kẻ tấn công chiếm quyền điều khiển thông qua tệp ảnh HEIC được chế tạo đặc biệt.
- Cơ chế: Lỗi tràn bộ nhớ (Heap Overflow) xảy ra trong quá trình giải mã tệp tin, dẫn đến việc ghi đè dữ liệu và điều hướng luồng thực thi của chương trình.
- Phạm vi: Ảnh hưởng đến các hệ thống sử dụng libheif phiên bản 1.18.0 đến 1.23.2, đặc biệt nguy hiểm với các máy chủ WordPress có tính năng xử lý ảnh qua ImageMagick.
- Khuyến nghị: Cập nhật ngay libheif lên phiên bản 1.23.3 và áp dụng các biện pháp kiểm soát đầu vào nghiêm ngặt đối với tệp tin tải lên.
1. Bối cảnh & Tổng quan
Các nhà nghiên cứu bảo mật tại Fortbridge vừa công bố một chuỗi tấn công kỹ thuật cho phép thực thi mã từ xa (RCE) trên các máy chủ WordPress thông qua việc tải lên các tệp tin ảnh định dạng HEIC độc hại. Lỗ hổng này không chỉ là một lỗi phần mềm đơn thuần mà còn là minh chứng cho sự nguy hiểm của việc xử lý các định dạng tệp tin hiện đại trên các thư viện mã nguồn mở thiếu sự kiểm soát chặt chẽ.
Vấn đề cốt lõi nằm ở libheif, một thư viện phổ biến được sử dụng để giải mã các tệp tin HEIC, HEIF và AVIF. Khi WordPress chuyển tệp tin ảnh tải lên cho ImageMagick để thực hiện các thao tác như thay đổi kích thước (resize), tệp tin độc hại sẽ được đưa vào bộ giải mã dễ bị tổn thương, gây ra lỗi hỏng bộ nhớ thay vì tạo ra ảnh như thông thường.
2. Phân tích Kỹ thuật & Chuỗi Khai thác
Lỗ hổng chính, được định danh là GHSA-x8r2-mggj-j6wr, ảnh hưởng trực tiếp đến bộ giải mã ảnh không nén của libheif. Kẻ tấn công có thể tạo ra một tệp tin HEIC chứa hai kênh màu với độ rộng byte khác nhau. Khi bộ giải mã xử lý, nó cấp phát không gian bộ nhớ không đủ cho một kênh nhưng lại ghi dữ liệu bằng độ rộng lớn hơn, dẫn đến hiện tượng tràn bộ nhớ (Heap Overflow).
Theo khung MITRE ATT&CK, kỹ thuật này ánh xạ tới T1190 (Exploit Public-Facing Application). Quá trình khai thác diễn ra theo các bước sau:
- Bước 1: Kẻ tấn công tải lên các tệp tin ảnh đặc biệt để rò rỉ dữ liệu bộ nhớ từ các tệp JPEG phái sinh do WordPress tạo ra.
- Bước 2: Dữ liệu rò rỉ giúp xác định cấu trúc bộ nhớ của thư viện đang chạy, từ đó vượt qua các cơ chế bảo vệ như ASLR (Address Space Layout Randomization).
- Bước 3: Tệp tin độc hại cuối cùng được tải lên để ghi đè lên vptr (virtual function table pointer) của đối tượng C++, cho phép kẻ tấn công điều hướng luồng thực thi của chương trình tới mã độc (Payload).
Các cấu hình môi trường đã được xác thực thành công trong phòng thí nghiệm bao gồm:
| Hệ điều hành | WordPress | PHP-FPM | ImageMagick | libheif |
|---|---|---|---|---|
| Ubuntu 26.04 | 7.1.1 | 8.5.4 | 7.1.2.18 | 1.21.2 |
| Debian 13 | 7.0 | 8.4.24 | 7.1.1.43 | 1.19.8 |
3. Dấu hiệu Nhận biết & Bảng Chỉ số IOCs
Các quản trị viên hệ thống cần đặc biệt chú ý đến các dấu hiệu bất thường trên máy chủ. Việc theo dõi các tiến trình PHP-FPM bị crash đột ngột sau khi người dùng tải lên các tệp tin HEIC là một chỉ báo quan trọng. Dưới đây là bảng tổng hợp các thực thể liên quan:
| Loại thực thể | Giá trị / Chỉ số | Mô tả tác động |
|---|---|---|
| Mã CVE/GHSA | GHSA-x8r2-mggj-j6wr | Lỗ hổng RCE chính trong libheif |
| Mã CVE/GHSA | GHSA-2jg2-4ch7-h545 | Lỗ hổng liên quan đã được vá |
| File mẫu | rce-proof.txt | Dấu vết kiểm chứng thực thi mã trên Debian |
4. Hướng dẫn Phát hiện (Detection Rules)
Để phát hiện các nỗ lực khai thác, đội ngũ SOC có thể triển khai các quy tắc giám sát dựa trên log hệ thống và lưu lượng mạng. Dưới đây là ví dụ về cách kiểm tra các tiến trình bị crash thông qua log của PHP-FPM:
# Kiểm tra log PHP-FPM để tìm các tiến trình bị crash bất thường sau khi xử lý ảnh HEIC
grep -E "segfault|child process exited" /var/log/php-fpm/error.log
# Giám sát các tệp tin HEIC có cấu trúc bất thường trong thư mục upload
find /var/www/html/wp-content/uploads/ -name "*.heic" -exec file {} \;5. Biện pháp Khắc phục & Khuyến nghị Phòng thủ
⚠️ Cảnh báo quan trọng: Việc vá lỗi là ưu tiên hàng đầu. Hãy đảm bảo hệ thống của bạn đã cập nhật lên phiên bản libheif 1.23.3 trở lên để vô hiệu hóa hoàn toàn lỗ hổng GHSA-x8r2-mggj-j6wr.
Ngoài việc cập nhật phần mềm, các quản trị viên cần thực hiện các biện pháp hardening sau:
- Vô hiệu hóa định dạng không cần thiết: Nếu trang web không yêu cầu hỗ trợ HEIC hoặc AVIF, hãy chặn hoàn toàn việc tải lên các định dạng này thông qua cấu hình
.htaccesshoặc bộ lọc của WordPress. - Cách ly dịch vụ: Xử lý các tệp tin media từ người dùng trong các container hoặc dịch vụ có đặc quyền thấp (low-privilege services) để hạn chế tác động nếu xảy ra RCE.
- Giới hạn quyền truy cập: Đảm bảo rằng thư mục chứa tệp tin tải lên không có quyền thực thi script (no-exec) để ngăn chặn việc chạy mã độc sau khi tệp tin được ghi vào đĩa.
- Giám sát outbound: Hạn chế quyền truy cập mạng ra bên ngoài của các tiến trình xử lý ảnh để ngăn chặn kẻ tấn công tải thêm mã độc từ máy chủ C2 (Command & Control).
Để biết thêm thông tin chi tiết về các lỗ hổng bảo mật, bạn có thể tham khảo thêm tại GitHub Security Advisories của dự án libheif.
Mạng Lưới An Ninh Mạng & Cộng Đồng
Nhận cảnh báo 0-Day khẩn cấp, phân tích mã độc và tham gia thảo luận kỹ thuật cùng chuyên gia.
Ban biên tập nội dung và phân tích an ninh mạng tại ADSECVN.COM.



