Khẩn cấp: Lỗ hổng Apache Struts 2 nghiêm trọng gây Tấn công DoS

Một lỗ hổng Apache Struts 2 nghiêm trọng cho phép tấn công từ chối dịch vụ (Denial of Service – DoS) đã được phát hiện, ảnh hưởng đến nhiều phiên bản của framework ứng dụng web phổ biến này. Các tổ chức đang sử dụng các phiên bản bị ảnh hưởng cần ưu tiên vá lỗi ngay lập tức để ngăn chặn gián đoạn dịch vụ tiềm tàng.
Phân tích kỹ thuật lỗ hổng Apache Struts 2: CVE-2025-64775
Lỗ hổng này, được định danh là CVE-2025-64775, khai thác một cơ chế rò rỉ tệp tin trong quá trình xử lý yêu cầu multipart.
Vấn đề tồn tại trong chức năng tải tệp (file upload) của Apache Struts 2 khi tính năng này được bật.
Sự cố rò rỉ tệp tin trong lỗ hổng Apache Struts 2 gây ra tình trạng cạn kiệt không gian đĩa (disk exhaustion).
Kẻ tấn công có thể lợi dụng điều này để lấp đầy dung lượng lưu trữ của máy chủ mà không có cơ chế dọn dẹp hoặc quản lý tài nguyên thích hợp.
Khi không gian đĩa bị cạn kiệt, máy chủ sẽ không thể xử lý các yêu cầu hợp lệ.
Điều này dẫn đến tình trạng từ chối dịch vụ hoàn toàn, khiến hệ thống không khả dụng.
Nhà nghiên cứu bảo mật Nicolas Fournier là người đã phát hiện ra lỗ hổng này.
Thông báo bảo mật chính thức S2-068 từ Apache cung cấp chi tiết kỹ thuật về phát hiện này, nhấn mạnh mức độ nghiêm trọng của lỗ hổng Apache Struts 2.
Các phiên bản Apache Struts 2 bị ảnh hưởng
Nhiều phiên bản của Apache Struts 2 trên bốn dòng phát hành chính đều bị ảnh hưởng bởi CVE nghiêm trọng này. Các tổ chức cần rà soát môi trường của mình để xác định mức độ phơi nhiễm.
Các phiên bản đã kết thúc vòng đời (End-of-Life – EOL)
- Struts 2.0.0 qua 2.3.37: Dòng phiên bản này đã đạt trạng thái kết thúc vòng đời.
- Struts 2.5.0 qua 2.5.33: Dòng phiên bản này cũng đã đạt trạng thái kết thúc vòng đời.
Mặc dù các phiên bản EOL vẫn bị ảnh hưởng, khuyến nghị chung là nên nâng cấp lên các phiên bản được hỗ trợ để đảm bảo an toàn và nhận các bản vá bảo mật trong tương lai.
Các phiên bản đang được duy trì và cần cập nhật ngay lập tức
Các dòng phiên bản này vẫn đang được duy trì và yêu cầu cập nhật khẩn cấp để khắc phục lỗ hổng Apache Struts 2 CVE-2025-64775:
- Struts 6.0.0 qua 6.7.4
- Struts 7.0.0 qua 7.0.3
Khuyến nghị nâng cấp và bản vá bảo mật
Để bảo vệ hệ thống khỏi các cuộc tấn công từ chối dịch vụ thông qua CVE-2025-64775, các tổ chức nên nâng cấp lên các phiên bản sau:
- Nâng cấp tối thiểu lên Struts 6.8.0.
- Hoặc nâng cấp tối thiểu lên Struts 7.1.1.
Các bản vá bảo mật này được thiết kế để tương thích ngược, đảm bảo quá trình chuyển đổi diễn ra suôn sẻ mà không làm gián đoạn các chức năng hiện có của ứng dụng.
Giải pháp tạm thời (Workarounds)
Trong trường hợp không thể nâng cấp ngay lập tức, các tổ chức có thể áp dụng các giải pháp tạm thời sau đây để giảm thiểu rủi ro từ lỗ hổng Apache Struts 2:
- Cấu hình thư mục tạm thời chuyên dụng với dung lượng giới hạn: Điều này giúp kiểm soát lượng không gian đĩa tối đa có thể bị tiêu thụ bởi các yêu cầu multipart.
- Tắt hỗ trợ tải tệp nếu không cần thiết: Nếu chức năng tải tệp không phải là yêu cầu bắt buộc đối với hoạt động của ứng dụng, việc vô hiệu hóa nó sẽ loại bỏ hoàn toàn bề mặt tấn công của lỗ hổng Apache Struts 2 này.
Ví dụ cấu hình cho thư mục tạm thời có giới hạn dung lượng (áp dụng tùy theo môi trường và phiên bản Struts cụ thể):
# Cấu hình trong struts.xml hoặc struts.properties# Đặt đường dẫn thư mục tạm thờistruts.multipart.saveDir = /var/tmp/struts_uploads# Giới hạn dung lượng tệp tải lên tối đa (ví dụ 10MB)struts.multipart.maxSize = 10485760 Việc kiểm tra và đánh giá môi trường ứng dụng là cần thiết để áp dụng các biện pháp bảo vệ phù hợp và ngăn chặn hiệu quả lỗ hổng Apache Struts 2.







