Bản vá khẩn cấp cho lỗ hổng khét tiếng trong thư viện Java Log4j không phải là bản vá an toàn. Quỹ phần mềm Apache đang phát hành phiên bản mới để khắc phục lỗ hổng này một lần và mãi mãi.
Một lỗ hổng trong thư viện Java cực kỳ phổ biến đang làm rung chuyển bối cảnh CNTT toàn cầu. Người ta ước tính rằng thư viện tồn tại trong hầu hết các môi trường doanh nghiệp.
Log4j chủ yếu được sử dụng để ghi nhật ký. Các sự kiện trong ứng dụng có thể được đăng ký bằng ghi chú. Hãy nghĩ đến bản in chi tiết đăng nhập sau lần thử đăng nhập. Hoặc, trong trường hợp ứng dụng web bằng Java, tên của trình duyệt mà người dùng đang cố gắng kết nối.
Các ví dụ sau là phổ biến. Trong cả hai trường hợp, người dùng bên ngoài đều ảnh hưởng đến nhật ký mà Log4j xuất ra. Có thể lạm dụng ảnh hưởng đó. Nhật ký của bất kỳ phiên bản Log4j nào từ ngày 13 tháng 2013 năm 5 đến ngày 2021 tháng XNUMX năm XNUMX đều có thể hướng dẫn các ứng dụng Java chạy mã từ máy chủ từ xa trên thiết bị cục bộ.
Kể từ năm 2013, Log4j đã xử lý API: JNDI hoặc Giao diện thư mục và đặt tên Java. Việc bổ sung JNDI cho phép ứng dụng Java chạy mã từ máy chủ từ xa trên thiết bị cục bộ. Các lập trình viên hướng dẫn bằng cách thêm một dòng chi tiết về máy chủ từ xa trong một ứng dụng.
Vấn đề là không chỉ lập trình viên mới có thể thêm quy tắc vào ứng dụng. Giả sử Log4j ghi lại tên người dùng của các lần đăng nhập. Khi ai đó nhập dòng nói trên vào trường tên người dùng, Log4j sẽ chạy dòng đó và ứng dụng Java sẽ diễn giải lệnh để chạy mã trên máy chủ được chỉ định. Điều tương tự cũng xảy ra với trường hợp Log4j ghi lại yêu cầu HTTPS. Nếu bạn đổi tên trình duyệt thành dòng, Log4j sẽ chạy dòng đó, gián tiếp hướng dẫn nó chạy mã theo ý muốn.
Bản vá khẩn cấp cũng có thể không an toàn
Vào ngày 9 tháng 4, lỗ hổng này được phát hiện trên quy mô lớn. Quỹ phần mềm Apache, nhà phát triển Log2.15j, đã phát hành bản vá khẩn cấp (2.15) để khắc phục lỗ hổng này. Kể từ đó, ưu tiên hàng đầu của các nhà cung cấp phần mềm là xử lý phiên bản XNUMX và cung cấp bản vá cho các tổ chức.
Tuy nhiên, tổ chức bảo mật LunaSec tuyên bố rằng bản vá không hoàn toàn kín nước. Vẫn có thể điều chỉnh cài đặt và thực thi các lệnh JNDI đã ghi.
Xin lưu ý: cài đặt liên quan phải được điều chỉnh theo cách thủ công để các biến thể chưa sửa đổi của 2.15 thực sự an toàn. Tuy nhiên, Luna Sec khuyến nghị các nhà cung cấp và tổ chức nên cập nhật lên Log4j 2.16. 2.16 đã được xuất bản bởi Apache Software Foundation để đáp lại LunaSec. Phiên bản mới loại bỏ hoàn toàn cài đặt dễ bị tổn thương, khiến không thể tạo điều kiện để lạm dụng.