Directory traversal trong Terraform filesystem functions có thể làm lộ tệp qua aquasec 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-104994 là gì?

Lỗ hổng CVE-2026-104994 là lỗ hổng Path Traversal: '../filedir' ả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 Thấp, với điểm CVSS 2.5. Các nguồn hiện có chưa ghi nhận lỗ hổng này bị khai thác.

Giới thiệu chung

Dữ liệu gốc

Trivy trước 0.71.0 cho phép directory traversal trong các Terraform filesystem functions khi chúng cố truy cập các pathname nằm phía trên scan root. Rủi ro xảy ra khi sử dụng misconf scanning trên input không đáng tin cậy, ví dụ khi xử lý một third-party pull request có chứa Terraform configuration, nếu dữ liệu nhạy cảm có thể được tìm thấy tại các pathname ngoài dự kiến đó và adversary sau đó có thể xem một giá trị dữ liệu nhạy cảm trong scan output.

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

aquasec Trivy:

  • Thành phần bị ảnh hưởng là Terraform configuration parsing và Terraform filesystem functions được sử dụng trong misconfiguration scanning.
  • Bản ghi liệt kê range semver 0 < 0.71.0 là affected.
  • default_status được ghi nhận là unaffected, nhưng affected version entry nêu rõ range ở trên là ngoại lệ bị ảnh hưởng.
  • Changelog của vendor ghi nhận bản sửa trong release 0.71.0.
  • Không có branch song song hoặc boundary bổ sung nào được xác nhận trong bằng chứng đã kiểm tra.

Chi tiết kỹ thuật

aquasec Trivy có lỗi trong Terraform parser khi truyền filesystem object cho các Terraform filesystem functions. Ở hành vi dễ bị ảnh hưởng, mapfs.FS được cấu hình với WithUnderlyingRoot có thể fallback xuống host filesystem, cho phép các pathname chứa ../ đọc tệp nằm phía trên scan root. Các hàm bị liên quan gồm file(), filebase64() và những hàm đọc tệp liên quan khác. Điều kiện khai thác gồm việc kẻ tấn công cung cấp hoặc kiểm soát Terraform configuration được đưa vào quá trình scan, có tệp nhạy cảm tại pathname ngoài dự kiến, và có thể xem scan output. Đặc tính tấn công trong bản ghi mô tả khả năng tiếp cận local, yêu cầu low privileges, attack complexity cao, không cần user interaction và scope không thay đổi. Bản ghi không xác định đầy đủ các pathname theo từng deployment hoặc kênh cụ thể mà scan output được đưa ra.

Khả năng khai thác

Đường khai thác được mô tả là local, không phải một network service có thể bị truy cập trực tiếp từ xa. Attacker cần low privileges, attack complexity cao và không cần user interaction sau khi input không đáng tin cậy được đưa vào quá trình scan. Điều kiện thực tế là misconfiguration scanning phải xử lý Terraform configuration không đáng tin cậy, dữ liệu nhạy cảm phải tồn tại bên ngoài scan root, và adversary phải xem được scan output. Trường public_exploit trong bản ghi được đánh dấu là false. Bản ghi không cung cấp thông tin đã xác nhận về exploitation trong thực tế hoặc ransomware campaign, vì vậy trạng thái lạm dụng hiện tại không được thiết lập.

Tác động kỹ thuật

Khai thác thành công có thể làm lộ giá trị từ các tệp nằm ngoài trust boundary dự kiến của scan. Đây là confidentiality disclosure có điều kiện, không phải cơ chế được bản ghi mô tả để sửa đổi tệp hoặc làm gián đoạn dịch vụ. Attacker phải đưa Terraform input không đáng tin cậy vào quá trình xử lý và xem được scan output, nên không phải mọi hệ thống cài Trivy đều tự động chịu cùng mức rủi ro. Đặc tính trong bản ghi cho thấy scope không thay đổi, với integrity và availability không bị ghi nhận là chịu tác động. Hệ quả tổ chức thực tế phụ thuộc vào loại dữ liệu tồn tại tại các pathname ngoài scan root và việc scan output được lưu trữ hoặc chia sẻ như thế nào.

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

Hậu quả chính là rò rỉ dữ liệu nhạy cảm có điều kiện từ các tệp nằm ngoài ranh giới scan root dự kiến. Kẻ tấn công kiểm soát Terraform input không đáng tin cậy có thể khiến scan output tiết lộ giá trị mà tiến trình Trivy đọc được từ những pathname ngoài dự kiến. Mức độ ảnh hưởng phụ thuộc vào việc các tệp nhạy cảm có tồn tại bên ngoài scan root hay không và adversary có thể xem scan output hay không. Rủi ro tập trung ở các workflow tự động xử lý nội dung từ third-party pull request hoặc nguồn Terraform không đáng tin cậy. Bản ghi không mô tả ảnh hưởng đến integrity hoặc availability.

Cách khắc phục

  1. Nâng cấp aquasec Trivy lên release đã được xác nhận sửa lỗi 0.71.0. Không nên suy luận trạng thái của các branch muộn hơn hoặc branch song song chỉ từ entry này.
  2. Nếu chưa thể nâng cấp, áp dụng workaround được tài liệu hóa của vendor: scan từ repository root để các tệp được tham chiếu vẫn nằm trong scan boundary. Ví dụ:
trivy config --skip-dirs envs/staging ./
  1. Tạm thời xem xét hạn chế việc đưa scan output của các Terraform scan không đáng tin cậy vào nơi third party có thể xem, đặc biệt khi job vẫn chạy bản bị ảnh hưởng. Đây là biện pháp giảm rủi ro tạm thời, không thay thế cho việc nâng cấp.
  2. Sau khi thay đổi, chạy regression test để xác nhận các Terraform filesystem functions không còn truy cập được pathname phía trên scan root, đồng thời vẫn xử lý đúng các tệp nằm trong scan root.

Cách phát hiện

  1. Kiểm kê các bản cài đặt aquasec Trivy trong developer workstation, CI runner, container image và các công cụ tự động hóa, sau đó xác định những bản nằm trong affected range.
  2. Xác định các job chạy misconf hoặc Terraform scanning trên third-party pull request hay nguồn Terraform không đáng tin cậy.
  3. Rà soát Terraform configuration có sử dụng file(), filebase64() hoặc hàm đọc tệp liên quan với pathname có thể đi lên phía trên scan root bằng thành phần thư mục cha.
  4. Kiểm tra scan output được lưu trữ hoặc hiển thị trong hệ thống nào, đồng thời tìm các giá trị nhạy cảm có thể đã bị đọc từ ngoài scan root. Việc không tìm thấy dữ liệu trong output không chứng minh rằng hệ thống an toàn.
  5. Trong regression test, xác nhận tệp nằm trong scan root vẫn được đọc, còn yêu cầu đọc pathname như ../secret.txt bị từ chối và kiểm tra tồn tại của pathname ngoài root trả về false.
  6. Không có IOC cụ thể được cung cấp cho lỗi này. Generic monitoring chỉ nên được xem là biện pháp precaution, không phải dấu hiệu đã được xác nhận.
Nguồn (12)
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.

Khám phá các giải pháp khác liên quan