Apptainer cho phép vượt allowlist đường dẫn trong setuid mode

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-48785 là gì?

Lỗ hổng CVE-2026-48785 là lỗ hổng Improper Limitation of a Pathname to a Restricted Directory ảnh hưởng tới apptainer (phiên bản bị ảnh hưởng: < 1.5.1). Lỗ hổng này được xếp hạng ở mức Trung bình, với điểm CVSS 4.8. 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

Apptainer là một nền tảng container mã nguồn mở. Trước phiên bản 1.5.1, Image.AuthorizedPath áp dụng phép so khớp tiền tố chuỗi đơn giản cho chỉ thị limit container paths trong apptainer.conf, nên một đường dẫn được cho phép như /data/safe cũng cấp quyền cho một đường dẫn sibling như /data/safe-but-unsafe. Do đó, khi Apptainer hoạt động ở chế độ setuid, một người dùng cục bộ có thể chạy container từ một thư mục nằm ngoài allowlist mà quản trị viên dự định. Các installation không sử dụng chế độ setuid hoặc không cấu hình limit container paths không bị ảnh hưởng, và unrestricted user namespaces vốn đã cho phép người dùng chạy các container do họ lựa chọn. Vấn đề này được khắc phục trong phiên bản 1.5.1.

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

  • Apptainer: các version < 1.5.1 bị ảnh hưởng khi installation dùng setuid mode và cấu hình limit container paths chứa path là tiền tố chuỗi của một path khác không intended được cho phép.
  • Installation không dùng setuid mode hoặc không cấu hình limit container paths không bị ảnh hưởng theo advisory của vendor.
  • Khi user namespaces được cho phép không hạn chế, limit container paths không ngăn user chạy container tùy ý, nên cơ chế này không cung cấp allowlist hiệu quả trong mô hình đó.
  • Bản ghi và tài liệu vendor xác nhận bản sửa trong 1.5.1. Không có boundary riêng cho các nhánh song song khác được xác lập trong bằng chứng hiện có.

Chi tiết kỹ thuật

Thành phần bị ảnh hưởng là Image.AuthorizedPath, thành phần này đánh giá các giá trị của chỉ thị limit container paths trong apptainer.conf. Trước bản sửa lỗi, hàm sử dụng so khớp tiền tố chuỗi đơn giản thay vì kiểm tra ranh giới đường dẫn hoặc đường dẫn tương đối. Vì vậy, đường dẫn được cho phép như /data/safe cũng khớp với thư mục cùng cấp /data/safe-but-unsafe.

Một người dùng cục bộ trên installation chạy ở chế độ setuid có thể chọn image container trong thư mục cùng cấp như vậy và được Apptainer chấp nhận là đường dẫn hợp lệ. Bản ghi chuẩn hóa phân loại vấn đề này là CWE-22, trong khi advisory của vendor không cung cấp ánh xạ CWE. Hậu quả cụ thể đối với dữ liệu hoặc quyền trên host phụ thuộc vào cấu hình container và các mount được cho phép, nên chưa được xác định từ bằng chứng hiện có.

Khả năng khai thác

Đây là vấn đề có thể khai thác từ local, không phải lỗi có reachability qua mạng. Người tấn công cần có tài khoản local với quyền thấp và phải tương tác với Apptainer để chạy hoặc chọn một container, nên user interaction là bắt buộc; độ phức tạp được đánh giá là thấp.

Bản ghi được cung cấp không xác định public exploit và trường trạng thái khai thác đã biết là chưa rõ. Các tài liệu vendor được kiểm tra mô tả lỗi và bản sửa, nhưng không thiết lập bằng chứng về việc khai thác thực tế.

Tác động kỹ thuật

Kết quả kỹ thuật trực tiếp là bypass giới hạn thư mục nguồn do quản trị viên cấu hình, cho phép user local chạy container từ một sibling path bị loại trừ về mặt chính sách. Hệ quả có thể gồm việc thực thi workload không được phê duyệt và truy cập hoặc thay đổi dữ liệu mà container được phép nhìn thấy, tùy thuộc vào runtime policy và các mount.

Lỗi yêu cầu quyền local và user interaction, đồng thời không thiết lập một đường khai thác từ xa. Bằng chứng hiện có không xác nhận container escape, host privilege escalation, hoặc thay đổi phạm vi bảo mật sang thành phần khác. Tác động thực tế vì vậy bị giới hạn bởi setuid deployment, cấu hình path và quyền mà container được cấp.

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

Lỗi làm suy yếu ranh giới mà quản trị viên dùng để giới hạn nguồn container được phép chạy. Tổ chức có thể phải đối mặt với việc thực thi workload hoặc image không được phê duyệt từ các thư mục mà chính sách dự kiến loại trừ.

Tùy thuộc vào image, bind mount và dữ liệu được cung cấp cho container, việc chạy workload ngoài allowlist có thể dẫn đến truy cập, thay đổi hoặc tiêu thụ tài nguyên trong phạm vi mà container được cấp. Bằng chứng hiện có không xác nhận một vụ xâm nhập cụ thể, host compromise hoặc privilege escalation.

Cách khắc phục

  1. Nâng cấp Apptainer lên release đã được xác nhận sửa lỗi là 1.5.1.
  2. Trước khi nâng cấp, rà soát mọi entry của limit container paths và xác định các thư mục khác có cùng string prefix. Không nên coi các entry này là ranh giới path đáng tin cậy cho đến khi installation được cập nhật.
  3. Xác nhận riêng installation nào thực sự cần setuid mode và limit container paths. Nếu vận hành cho phép không dùng một trong hai, việc thay đổi này có thể loại installation khỏi điều kiện bị ảnh hưởng, nhưng cần đánh giá tác động đối với mô hình bảo mật và khả năng chạy container.
  4. Sau khi cập nhật, kiểm tra lại cấu hình và xác minh rằng một path sibling có tên bắt đầu bằng path được cho phép không còn được chấp nhận như nằm trong allowlist.

Cách phát hiện

  1. Kiểm kê các installation Apptainer và đối chiếu version đang chạy với release đã được vendor sửa lỗi.
  2. Xác định installation nào bật setuid mode, vì đây là điều kiện cần để lỗi này ảnh hưởng đến enforcement của allowlist.
  3. Kiểm tra apptainer.conf để tìm chỉ thị limit container paths và ghi nhận toàn bộ các path được cấu hình.
  4. Tìm các thư mục khác có cùng tiền tố chuỗi với từng path được cho phép, chẳng hạn /data/safe và /data/safe-but-unsafe. Đây là kiểm tra cấu hình, không phải một IOC đã được xác nhận.
  5. Có thể rà soát log hoặc audit record về việc user local chạy container từ các thư mục sibling ngoài ý định. Việc không thấy log phù hợp không chứng minh installation an toàn, vì bằng chứng hiện có không xác định log event hoặc indicator cụ thể.
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.