Lỗ hổng chèn lệnh trong Pebble Templates chưa có bản vá

16/06/2015
83
672 bài viết
Lỗ hổng chèn lệnh trong Pebble Templates chưa có bản vá
Pebble, công cụ tạo template Java, tồn tại lỗ hổng cho phép kẻ tấn công vượt qua các cơ chế an ninh và tiến hành các cuộc tấn công command injection (chèn lệnh) vào máy chủ lưu trữ.

Java.jpg

Pebble Templates là một công cụ rất tiện lợi nhờ hệ thống tạo template dễ sử dụng, khả năng phát triển đa ngôn ngữ và một số tính năng an ninh như auto-escape và xác thực truy cập bằng block-list giúp ngăn chặn các cuộc tấn công thực thi lệnh.

Tuy nhiên, theo phát hiện của một nhà nghiên cứu, khả năng bảo vệ thực thi lệnh của Pebble có thể bị vượt qua bằng các tệp template và code tự tạo.

Cụ thể, cơ chế an ninh của Pebble có thể bị vượt qua khi Pebble được sử dụng kết hợp với Spring, một framework Java phổ biến. Vì nhiều lớp Spring được đăng ký dưới dạng bean (các lớp Java thuần), cho phép tải động trong thời gian chạy, kẻ tấn công có thể tải lên một đối tượng Spring hỗ trợ tải lớp. Sau đó, sử dụng thư viện phân tích cú pháp dữ liệu Jackson để đọc tệp XML, mở ra cửa sổ để chạy mã tùy ý trên máy chủ.

Trong một PoC, nhà nghiên cứu đã sử dụng template Pebble để tải tệp XML từ web và khởi tạo một lớp Java hỗ trợ chạy lệnh hệ thống trên máy chủ.

Các nhà phát triển đã vào cuộc để đưa ra bản vá cho lỗ hổng, tuy nhiên vì đây là một dự án cộng đồng, không rõ khi nào bản vá sẽ được phát hành. Các nhà bảo trì đã cung cấp một số giải pháp thay thế để đảm bảo an ninh cho các dự án trong thời gian chờ đợi.

Cần lưu ý rằng để khai thác lỗ hổng này, kẻ tấn công phải có cách tải lên máy chủ một template Pebble độc hại. Do đó, một biện pháp phòng vệ là tăng cường kiểm tra an ninh đối với nội dung do người dùng cung cấp và hạn chế tải lên template.

Theo Daily Swig
 
Chỉnh sửa lần cuối:
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Thẻ
java pebble
Bên trên