Giải nén Helm archive không giới hạn có thể làm cạn bộ nhớ trong Aqua Security Trivy

Lưu ý: Dữ liệu này chỉ có tính chất tham khảo, phục vụ nghiên cứu an ninh mạng.CyStack khuyến nghị người dùng không sử dụng các thông tin này nhằm các mục đích bất hợp pháp

Lỗ hổng CVE-2026-54448 là gì?

Lỗ hổng CVE-2026-54448 là lỗ hổng thuộc các loại Allocation of Resources Without Limits or Throttling và Memory Allocation with Excessive Size Value, ảnh hưởng tới trivy (phiên bản bị ảnh hưởng: < 0.71.0). Lỗ hổng này được xếp hạng ở mức Trung bình, với điểm CVSS 6.9. Lỗ hổng này đã có mã hoặc bằng chứng khai thác công khai, nhưng điều đó chưa xác nhận việc khai thác trong thực tế.

Giới thiệu chung

Dữ liệu gốc

Trivy là một công cụ quét bảo mật. Trước phiên bản 0.71.0, khi Trivy quét một tệp lưu trữ biểu đồ Helm (.tgz), bộ giải nén tar tùy biến của nó đọc từng mục bằng io.ReadAll(tr) mà không có giới hạn kích thước. Kẻ tấn công có thể đặt một tệp.tgz độc hại vào đường dẫn được quét có thể tạo một tệp nén nhỏ nhưng giải nén thành hàng gigabyte, khiến tiến trình Trivy bị OOM killer của hệ điều hành kết thúc. Lỗ hổng này được khắc phục trong phiên bản 0.71.0.

Sản phẩm và phạm vi ảnh hưởng

  • Aqua Security Trivy: các bản phát hành < 0.71.0 bị ảnh hưởng khi quét Helm chart archive .tgz bằng custom tar unpacker không giới hạn kích thước.
  • Các mục tiêu scan liên quan gồm trivy config <dir>; trivy filesystem --scanners misconf <dir> khi bật misconfiguration scanning; và trivy image --scanners misconf <image> khi image chứa .tgz độc hại.
  • Bản sửa được xác nhận là 0.71.0. Record không cung cấp thêm ranh giới riêng cho các nhánh phát hành song song.

Chi tiết kỹ thuật

Khi quét một Helm chart archive, custom tar unpacker của Trivy truyền reader của từng entry vào io.ReadAll(tr) mà không áp dụng giới hạn kích thước. Vì .tgz là archive nén, một tệp nhỏ do kẻ tấn công kiểm soát có thể được giải nén thành hàng gigabyte trong bộ nhớ. Điều kiện khai thác là archive phải được đặt tại vị trí mà Trivy sẽ quét và được xử lý như một Helm chart. Advisory nêu rõ các luồng bị ảnh hưởng gồm trivy config <dir>, trivy filesystem --scanners misconf <dir> khi bật misconfiguration scanning, và trivy image --scanners misconf <image> khi image chứa archive độc hại. Bản sửa thay cơ chế giải nén tùy biến bằng loader archive của helm.sh/helm/v4, với giới hạn cho từng entry và tổng nội dung, đồng thời kiểm tra cấu trúc archive. Ngưỡng bộ nhớ chính xác dẫn đến việc tiến trình bị kết thúc phụ thuộc vào giới hạn của host hoặc runtime và không được record xác định.

Khả năng khai thác

Đây là lỗi bắt nguồn từ nội dung tệp, không phải một network service độc lập. Kẻ tấn công cần có khả năng đặt hoặc kiểm soát một tệp .tgz trong repository, thư mục, image hoặc build context được Trivy quét; sau đó người dùng hoặc automation phải thực sự chạy scan để kích hoạt lỗi. Các workflow CI nhận pull request hoặc image có nội dung không tin cậy là những kịch bản thực tế được advisory nêu ra. Record được cung cấp đánh dấu public exploit là có, nhưng không nêu exploit artifact, proof of concept, chiến dịch, nạn nhân hoặc hoạt động khai thác thực tế cụ thể. Trạng thái known exploited không được cung cấp.

Tác động kỹ thuật

  • Một archive được chế tạo đặc biệt có thể khiến Trivy cấp phát bộ nhớ tăng không kiểm soát cho đến khi host hoặc runtime cạn tài nguyên.
  • Hậu quả kỹ thuật trực tiếp là tiến trình Trivy bị kết thúc, làm mất khả năng hoàn tất scan và có thể làm gián đoạn các công việc khác trên cùng host hoặc runner.
  • Advisory không mô tả đọc trái phép dữ liệu, sửa đổi dữ liệu, thực thi mã hoặc nâng quyền; tác động được xác định là suy giảm availability.
  • Phạm vi ảnh hưởng thực tế phụ thuộc vào giới hạn tài nguyên và mức độ cô lập của host hoặc CI runner.

Tác động đến tổ chức

Việc xử lý archive độc hại có thể làm OS OOM killer kết thúc tiến trình Trivy, khiến security scan thất bại. Trong CI, pipeline có thể bị chặn, và các lần gửi lại nội dung độc hại có thể kích hoạt lại tình trạng này. Các tiến trình khác dùng chung host hoặc CI runner cũng có thể bị ảnh hưởng do cạn bộ nhớ. Advisory cũng lưu ý khả năng phát sinh chi phí tài nguyên bổ sung trên cloud CI runner. Không có ảnh hưởng đến dữ liệu bí mật hoặc tính toàn vẹn của hệ thống được nêu trong evidence hiện có.

Cách khắc phục

  1. Nâng cấp Aqua Security Trivy lên 0.71.0, là bản phát hành đã được xác nhận sửa lỗi.
  2. Nếu chưa thể nâng cấp ngay, đặt giới hạn bộ nhớ cho tiến trình Trivy bằng cgroup hoặc container để giới hạn phạm vi ảnh hưởng.
  3. Dùng --skip-dirs để loại trừ các thư mục có Helm archive không tin cậy khỏi quá trình quét.
  4. Tránh quét repository hoặc image có chứa .tgz không tin cậy cho đến khi hoàn tất nâng cấp.

Cách phát hiện

  1. Kiểm kê các binary, container image và CI runner đang chạy Trivy, sau đó đối chiếu với release đã được xác nhận là đã sửa lỗi.
  2. Rà soát lệnh và cấu hình scan để tìm trivy config <dir>, trivy filesystem --scanners misconf <dir> và trivy image --scanners misconf <image>.
  3. Kiểm tra repository, thư mục scan và build context của image để xác định các .tgz có thể do contributor hoặc nguồn không tin cậy đưa vào.
  4. Rà soát sự kiện OOM của OS hoặc container và các lần Trivy bị kết thúc đột ngột trong các scan có xử lý Helm archive. Đây là biện pháp giám sát phòng ngừa, không phải IOC riêng biệt của lỗ hổng.
  5. Việc không thấy OOM hoặc scan thất bại không chứng minh hệ thống an toàn; cần xác nhận phiên bản và đường đi của dữ liệu scan.
Nguồn (14)
Tìm hiểu thêm

Kiểm tra chuyên sâu cùng giải pháp quản lý rủi ro Web toàn diện

Giải pháp CyStack VulnScan liên tục phát hiện tài sản, xác minh lỗ hổng và giúp đội ngũ bảo mật ưu tiên khắc phục cho toàn bộ doanh nghiệp.