Bảo mật

imgproxy 4.0.16 vá lỗi ICO có thể dẫn tới thực thi mã

Lỗi nghiêm trọng trong bộ đọc ICO của imgproxy 4.0.0–4.0.15 có thể gây sập dịch vụ hoặc thực thi mã khi xử lý ảnh độc hại. Bản 4.0.16 đã sửa.

thuemaychu.vn
Minh họa tệp ảnh ICO độc hại bị chặn trước dịch vụ xử lý ảnh trên máy chủ

Một dịch vụ tạo thumbnail thường được xem là phần phụ của website, nhưng nó lại xử lý tệp do người dùng hoặc URL bên ngoài cung cấp. GitHub Advisory Database rà soát ngày 30/10/2026 một lỗi nghiêm trọng trong imgproxy: ảnh ICO được chế tạo đặc biệt có thể làm tràn vùng nhớ, gây sập tiến trình và trong điều kiện nhất định dẫn tới thực thi mã trên máy chủ.

Lỗi nằm ở đâu và ảnh hưởng phiên bản nào?

Cảnh báo GHSA-hff9-5pqw-6w9f được chấm CVSS 9,8, mức nghiêm trọng. Dự án công bố ban đầu ngày 06/10/2026; sự kiện mới trong cửa sổ theo dõi là GitHub hoàn tất rà soát ngày 30/10/2026. Đây không phải lỗ hổng vừa xuất hiện ngày 30/10, mà là bản ghi được chuẩn hóa và cập nhật trong cơ sở dữ liệu.

Các phiên bản imgproxy từ 4.0.0 đến 4.0.15 chịu ảnh hưởng; 4.0.16 đã sửa. Lỗi số nguyên trong bộ đọc định dạng ICO có thể dẫn đến heap overflow, tức dữ liệu ghi vượt vùng nhớ được cấp phát trên vùng nhớ động. Hậu quả tối thiểu là từ chối dịch vụ; khả năng thực thi mã được nguồn đánh giá là có thể xảy ra, nhưng không đồng nghĩa đã có khai thác thực tế trên mọi hệ thống.

Phạm vi theo GitHub Advisory Database.
MụcThông tin
Mã cảnh báoGHSA-hff9-5pqw-6w9f
Mức độCritical, CVSS 9.8 theo GitHub
Bản ảnh hưởng4.0.0–4.0.15
Bản sửa4.0.16
Đầu vào nguy hiểmTệp ICO được chế tạo đặc biệt
Khai thác thực tếChưa được nguồn xác nhận

Dịch vụ nào có rủi ro cao hơn?

Rủi ro tăng khi imgproxy nhận URL ảnh từ người dùng, tạo ảnh xem trước cho liên kết, xử lý avatar hoặc cho phép tải tệp lên. Dù giao diện chỉ chấp nhận PNG và JPEG, backend vẫn cần xác minh nội dung thật thay vì tin phần mở rộng hoặc Content-Type. Một tệp ICO có thể được đặt tên như định dạng khác hoặc được trả về từ URL chuyển hướng.

Nếu container chạy với quyền cao, gắn thư mục ghi rộng hoặc có khóa truy cập kho đối tượng, hậu quả sau khi thực thi mã sẽ lớn hơn. Ngược lại, chạy không đặc quyền, hệ thống tệp chỉ đọc và giới hạn mạng ra ngoài giúp thu hẹp thiệt hại, nhưng không thay thế bản vá.

Checklist nâng cấp cho đội web

  1. Xác định phiên bản bằng nhãn image container, SBOM hoặc lệnh phiên bản; không chỉ dựa vào tên tag latest.
  2. Nâng imgproxy lên 4.0.16 hoặc mới hơn trong môi trường thử nghiệm và chạy lại bộ ảnh mẫu, gồm ICO hợp lệ.
  3. Tạo image container mới từ nguồn tin cậy, ký hoặc ghi nhận digest để tránh triển khai nhầm bản cũ.
  4. Thay dần instance, theo dõi lỗi giải mã, mức dùng bộ nhớ và số lần container khởi động lại.
  5. Rà log từ 06/10/2026 để tìm tệp ICO bất thường, tiến trình sập hoặc mức bộ nhớ tăng đột ngột; đây là chỉ dấu cần điều tra, chưa phải bằng chứng chắc chắn.
  6. Luân chuyển khóa truy cập nếu phát hiện container bị xâm nhập hoặc đọc được bí mật.

Giảm thiểu trong thời gian chờ thay phiên bản

Tạm chặn ICO ở lớp tải lên và ở dịch vụ lấy ảnh từ xa, nhưng phải kiểm tra chữ ký tệp sau khi tải. Giới hạn kích thước, thời gian tải và số pixel giúp giảm một số kiểu lạm dụng, song lỗi này nằm trong bộ giải mã nên bộ lọc định dạng chỉ là lớp phụ. Có thể cô lập imgproxy trong container không đặc quyền, bỏ capability không cần thiết, dùng hệ thống tệp chỉ đọc và chỉ cho phép mạng tới kho ảnh đã xác định.

Nếu ứng dụng không cần ảnh từ Internet, hãy dùng danh sách miền cho phép thay vì cho imgproxy gọi mọi URL. Biện pháp này đồng thời giảm nguy cơ SSRF, tức lợi dụng máy chủ gọi tới địa chỉ nội bộ. Đội vận hành nên kiểm tra hàng đợi và cơ chế thử lại để một tệp lỗi không liên tục kéo sập toàn bộ nhóm xử lý.

Nguồn tra cứu

Chỉ cho phép đuôi PNG và JPEG có đủ an toàn không?

Không. Đuôi tệp và Content-Type có thể bị làm giả. Cần nâng imgproxy lên 4.0.16, kiểm tra nội dung thật và cô lập tiến trình xử lý ảnh.

CVSS 9.8 có nghĩa hệ thống chắc chắn đã bị chiếm quyền không?

Không. Điểm số phản ánh mức tác động và điều kiện theo mô hình đánh giá. Nguồn không xác nhận mọi hệ thống đã bị khai thác; cần rà log và bằng chứng trên từng máy.

Có thể chỉ khởi động lại container thay vì nâng cấp không?

Không. Khởi động lại chỉ phục hồi tạm thời sau khi tiến trình sập; tệp độc hại có thể kích hoạt lại lỗi. Cần triển khai 4.0.16 hoặc mới hơn.

Hành động cho đội vận hành web

Hãy chuẩn bị phiên bản imgproxy, digest image, nguồn ảnh đầu vào, quyền container và log từ ngày 06/10. Nếu cần đánh giá lại máy chủ chạy dịch vụ ảnh, gửi các thông tin đó qua trang Cloud VPS để trao đổi cấu hình và phương án cô lập; mục tiêu trước mắt là vá và giảm quyền, không phải tăng tài nguyên để che dấu tiến trình bị lỗi.

Cần máy chủ cho workload này?

NOC thuemaychu.vn hỗ trợ chọn CPU, GPU và băng thông. PoC trong 24 giờ.

Bài viết liên quan

Xem tất cả bài viết
GọiFBZaloSalesZaloOA