Apache Tomcat: Lỗ hổng RCE mới đã có POC


Vừa qua, một lỗ hổng RCE mới trên Apache Tomcat đã được phát hiện, đồng thời POC khai thác của lỗ hổng này đã được công khai rộng rãi trên không gian mạng.
Thông tin chi tiết:
Định danh lỗ hổng: CVE-2025-24813
Điểm CVSS(3.1): 9.8
Mức độ nghiêm trọng: Critical (Theo NIST)
Phiên bản bị ảnh hưởng: Các phiên bản của Apache Tomcat từ
11.0.0-M1
đến11.0.2
, từ10.1.0-M1
đến10.1.34
và từ9.0.0.M1
đến9.0.98
Bản vá bảo mật: Các phiên bản 11.0.3, 10.1.35 và 9.0.99
Mô tả: CVE-2025-24813 liên quan tới khai thác đường dẫn tương đương (Path Equivalence) của đường dẫn trong file (ví dụ:
file.Name
) chứa dấu chấm (.) có thể bị lợi dụng cho các kỹ thuật tấn công như thực thi mã từ xa, gây rò rỉ thông tin nhạy cảm hoặc tiêm các đoạn mã độc hại vào các file đã tải lên trên hệ thống.
Kỹ thuật khai thác
Dựa theo bài viết của Cyber Advising, CVE-2025-24813 liên quan tới đường dẫn tương đương (path equivalence) trong servlet mặc định của Tomcat, dẫn tới xử lý sai việc tải lên tệp thông qua các request như HTTP PUT.
Tuy nhiên, điều kiện để khai thác cũng yêu cầu một số cấu hình nhất định trên Tomcat như:
Cho phép ghi trong tham số của servlet mặc định (default servlet). (Tham số
readonly
bị đặt thànhfalse
)Partial PUT requests (sử dụng tiêu đề Content-Range) được cấp phép (được bật theo mặc định).
Tomcat được cấu hình để lưu session dưới dạng file (đây không phải là cấu hình mặc định).
Ứng dụng có sử dụng thư viện dễ bị tấn công thông qua deserialization (giải nén đối tượng từ dữ liệu không đáng tin cậy).
Kẻ tấn công biết quy tắc đặt tên và vị trí lưu trữ của các file nhạy cảm.
Kẻ tấn công gửi một yêu cầu PUT với payload được tạo sẵn dưới dạng Java serialized, nhắm vào thư mục lưu trữ phiên (session) của máy chủ. Ví dụ:
PUT /webapps/ROOT/WEB-INF/sessions/SESSIONID.ser HTTP/1.1
Host: vulnerable-tomcat
Content-Range: bytes 0-99/100
Content-Type: application/octet-stream
<payload được tuần tự hóa độc hại>
Kẻ tấn công sau đó gửi một yêu cầu GET với cookie trỏ đến tệp phiên đã được tải lên:
GET / HTTP/1.1
Host: vulnerable-tomcat
Cookie: JSESSIONID=SESSIONID
Khi Tomcat giải tuần tự hóa (deserialize) tệp phiên độc hại này, mã độc sẽ được thực thi với quyền của tiến trình Tomcat hiện tại.
Khuyến nghị & Khắc phục
Tuy yêu cầu các điều kiện cấu hình nhất định trên Tomcat, việc CVE-2025-24813 được công bố POC rộng rãi trên không gian mạng có thể tạo cơ hội cho những kẻ tấn công lợi dụng và tuỳ biến quá trình khai thác với mỗi mục tiêu các nhau.
Các chuyên gia bảo mật trên toàn thế giới và đội ngũ FPT Threat Intelligence khuyến nghị người dùng nên thực hiện các biện pháp sau nhằm giảm thiểu khả năng đối diện với nguy cơ mất an toàn thông tin từ lỗ hổng này:
Cập nhật bản vá bảo mật: Lập tức cập nhật các bản vá bảo mật mới nhất của nhà phát hành Apache Tomcat, bao gồm các phiên bản: 11.0.3, 10.1.35 và 9.0.99.
Thay đổi tham số default servlet: Thiết lập tham số servlet mặc định (default servlet) thành
readonly true
nhằm ngăn chặn quyền ghi qua PUT.Vô hiệu hoá Partial PUT requests: vô hiệu hoá thành phần này nếu không sử dụng tới.
Hạn chế lưu trữ phiên dưới dạng tệp: Kiểm tra cơ chế lưu phiên (session persistence), loại bỏ các thư mục có thể ghi khỏi bộ lưu trữ phiên (session storage).
Loại bỏ các thư viện deserialization: loại bỏ các thư viện không cần thiết khỏi classpath.
Tham khảo
Subscribe to my newsletter
Read articles from Nam Anh Mai D. directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
