-
09/04/2020
-
99
-
859 bài viết
Spring Framework dính lỗ hổng nghiêm trọng cho phép tấn công RFD
Spring Framework nền tảng phát triển ứng dụng Java phổ biến toàn cầu, vừa phát hiện một lỗ hổng nghiêm trọng, cho phép kẻ tấn công thực hiện kỹ thuật Reflected File Download (RFD) bằng cách lợi dụng tiêu đề Content-Disposition.
Lỗ hổng có mã định danh là CVE-2020-5398, liên quan đến việc giao tiếp không an toàn qua Content-Disposition, ảnh hưởng đến nhiều phiên bản của Spring Framework, bao gồm:
Lỗi bảo mật phát sinh khi ứng dụng sử dụng lớp org.springframework.http.ContentDisposition để tạo tiêu đề Content-Disposition có chứa định dạng mã ký tự (charset) không phải ASCII, đặc biệt khi thuộc tính filename được lấy từ dữ liệu người dùng mà không qua kiểm tra đầu vào.
Lỗ hổng được báo cáo có trách nhiệm bởi Jakob Linskeseder, chuyên gia bảo mật thuộc nhóm Dynatrace Security Team.
Để khai thác thành công CVE-2020-5398, cần đồng thời thỏa mãn các điều kiện sau:
Spring Framework là một trong những nền tảng Java được sử dụng rộng rãi nhất trong môi trường doanh nghiệp. Lỗ hổng nằm trong cơ chế xử lý file download khiến nhiều ứng dụng web và cả mã nguồn mở lẫn thương mại có nguy cơ bị ảnh hưởng nghiêm trọng.
Spring đã phát hành các bản vá để khắc phục triệt để lỗ hổng này. Người dùng cần:
Lỗ hổng có mã định danh là CVE-2020-5398, liên quan đến việc giao tiếp không an toàn qua Content-Disposition, ảnh hưởng đến nhiều phiên bản của Spring Framework, bao gồm:
- Phiên bản 6.2.0 đến 6.2.7
- Phiên bản 6.1.0 đến 6.1.20
- Phiên bản 6.0.5 đến 6.0.28
Lỗi bảo mật phát sinh khi ứng dụng sử dụng lớp org.springframework.http.ContentDisposition để tạo tiêu đề Content-Disposition có chứa định dạng mã ký tự (charset) không phải ASCII, đặc biệt khi thuộc tính filename được lấy từ dữ liệu người dùng mà không qua kiểm tra đầu vào.
Lỗ hổng được báo cáo có trách nhiệm bởi Jakob Linskeseder, chuyên gia bảo mật thuộc nhóm Dynatrace Security Team.
Để khai thác thành công CVE-2020-5398, cần đồng thời thỏa mãn các điều kiện sau:
- Ứng dụng sử dụng phương thức ContentDisposition.Builder#filename(String, Charset) với charset không phải ASCII
- Giá trị filename được lấy từ dữ liệu do người dùng cung cấp mà không kiểm tra hoặc không được lọc bỏ các ký tự nguy hiểm
- Ứng dụng cho phép kẻ tấn công chèn nội dung độc hại vào nội dung tải về từ HTTP response
Spring Framework là một trong những nền tảng Java được sử dụng rộng rãi nhất trong môi trường doanh nghiệp. Lỗ hổng nằm trong cơ chế xử lý file download khiến nhiều ứng dụng web và cả mã nguồn mở lẫn thương mại có nguy cơ bị ảnh hưởng nghiêm trọng.
Spring đã phát hành các bản vá để khắc phục triệt để lỗ hổng này. Người dùng cần:
- Nâng cấp lên Spring Framework 6.2.8 nếu đang sử dụng nhánh 6.2.x
- Nâng cấp lên 6.1.21 nếu đang sử dụng nhánh 6.1.x
- Nâng cấp lên 6.0.29 nếu sử dụng phiên bản 6.0.x (bản vá phân phối qua kênh thương mại)
- Tránh sử dụng charset không phải ASCII khi tạo filename
- Không lấy trực tiếp giá trị filename từ dữ liệu người dùng
- Ưu tiên sử dụng các phương thức an toàn hơn như filename(String) hoặc filename(String, ASCII)
- Áp dụng kiểm tra và làm sạch đầu vào nghiêm ngặt, đặc biệt với dữ liệu liên quan đến hành vi tải về tệp
Theo Cyber Press
Chỉnh sửa lần cuối: