Trong Bộ công cụ quản lý các vùng chứa Docker Linux bị cô lập tính dễ bị tổn thương (), trong một số trường hợp nhất định, cho phép bạn truy cập vào môi trường máy chủ từ vùng chứa nếu bạn có khả năng khởi chạy hình ảnh của mình trên hệ thống hoặc có quyền truy cập vào vùng chứa đang chạy. Sự cố xuất hiện trong tất cả các phiên bản Docker và vẫn chưa được khắc phục (đã đề xuất nhưng chưa được chấp nhận, , thực hiện việc tạm dừng container trong khi thực hiện các hoạt động với FS).
Lỗ hổng này cho phép các tệp được trích xuất từ vùng chứa sang một phần tùy ý trong hệ thống tệp của hệ thống máy chủ khi thực thi lệnh “docker cp”. Việc trích xuất tệp được thực hiện với quyền root, cho phép đọc hoặc ghi bất kỳ tệp nào trong môi trường máy chủ, đủ để giành quyền kiểm soát hệ thống máy chủ (ví dụ: bạn có thể ghi đè /etc/shadow).
Cuộc tấn công chỉ có thể được thực hiện khi quản trị viên thực thi lệnh “docker cp” để sao chép tệp vào hoặc từ vùng chứa. Do đó, kẻ tấn công cần bằng cách nào đó thuyết phục quản trị viên Docker về sự cần thiết phải thực hiện thao tác này và dự đoán đường dẫn được sử dụng khi sao chép. Mặt khác, một cuộc tấn công có thể được thực hiện, chẳng hạn như khi các dịch vụ đám mây cung cấp các công cụ để sao chép các tệp cấu hình vào vùng chứa, được xây dựng bằng lệnh “docker cp”.
Sự cố xảy ra do có sai sót trong việc áp dụng chức năng , tính toán đường dẫn tuyệt đối trong hệ thống tệp chính dựa trên đường dẫn tương đối, có tính đến vị trí của vùng chứa. Trong khi thực hiện lệnh "docker cp", một lỗi ngắn hạn , trong đó đường dẫn đã được xác minh nhưng thao tác vẫn chưa được thực hiện. Vì việc sao chép được thực hiện trong ngữ cảnh của hệ thống tệp chính của hệ thống máy chủ, nên trong một khoảng thời gian nhất định, bạn có thể quản lý để thay thế liên kết bằng một đường dẫn khác và bắt đầu sao chép dữ liệu đến một vị trí tùy ý trong hệ thống tệp bên ngoài thùng đựng hàng.
Vì khoảng thời gian để tình trạng cuộc đua xảy ra rất hạn chế trong Khi thực hiện các thao tác sao chép từ một vùng chứa, có thể đạt được một cuộc tấn công thành công trong chưa đầy 1% trường hợp khi thay thế theo chu kỳ một liên kết tượng trưng trong đường dẫn được sử dụng trong thao tác sao chép (cuộc tấn công thành công được thực hiện sau khoảng 10 giây thử để liên tục sao chép tập tin trong một vòng lặp bằng lệnh “docker cp”).
Bằng cách thực hiện thao tác sao chép vào vùng chứa, bạn có thể đạt được một cuộc tấn công ghi đè tệp lặp lại trên hệ thống máy chủ chỉ trong một vài lần lặp. Khả năng bị tấn công là do khi sao chép vào vùng chứa, khái niệm “chrootarchive” được sử dụng, theo đó quy trình archive.go trích xuất kho lưu trữ không phải vào chroot của gốc container mà vào chroot của thư mục mẹ của đường dẫn đích, do kẻ tấn công kiểm soát và không dừng việc thực thi vùng chứa (chroot được sử dụng làm dấu hiệu để khai thác điều kiện chủng tộc).
Nguồn: opennet.ru
