Đã vá nhưng vẫn thủng - Apache Tomcat tiếp tục tồn tại Backdoor nguy hiểm
Gần đây Apache Software Foundation đã thông báo hai lỗ hổng nghiêm trọng ảnh hưởng đến hầu hết các phiên bản của Apache Tomcat giúp thực thi RCE.

Tổng quan
Cuối tháng 10 năm 2025 vừa qua, đội ngũ Apache Software Foundation đã công bố hai lỗ hổng CVE nghiêm trọng ảnh hưởng đến nhiều phiên bản của Apache Tomcat. Trong đó, một lỗ hổng tiềm ẩn nguy cơ cao về remote code execution trên các máy chủ dễ bị tấn công.
Hai lỗ hổng lần lượt được công bố là: CVE-2025-55752 và CVE-2025-55754
CVE-2025-55752: lỗ hổng Directory Traversal dẫn tới khả năng RCE (Remote Code Execution) dưới các cấu hình nhất định.
CVE-2025-55754: lỗ hổng liên quan tới việc xử lý sai các chuỗi ANSI escape trong log/trình console, dẫn tới khả năng thao túng console (console manipulation) – ít nguy hiểm hơn nhưng cũng không thể bỏ qua.
Các lỗ hổng này đều có mức độ rủi ro cao vì Tomcat thường được sử dụng trong môi trường doanh nghiệp với nhiều ứng dụng web quan trọng, việc này có ý nghĩa lớn: nếu bị khai thác, máy chủ có thể bị chiếm quyền điều khiển hoặc sử dụng làm bàn đạp tấn công tiếp.
Phiên bản ảnh hưởng
Các phiên bản bị ảnh hưởng bao gồm:
Từ 9.0.0-M11 tới 9.0.108.
Từ 10.1.0-M1 tới 10.1.44.
Từ 11.0.0-M1 tới 11.0.10.
Các phiên bản 8.5.6 tới 8.5.100 (EOL – đã hết hỗ trợ) cũng được xác định là bị ảnh hưởng.
Mô tả lỗ hổng
CVE-2025-55752
Mã lỗ hổng: CVE-2025-55752.
Điểm CVSS: 7.5/10, cho thấy mức độ nghiêm trọng cao.
Cơ chế tấn công: Lỗ hổng này có khả năng cho phép kẻ tấn công thực thi Path Traversal, tiết lộ thông tin nhạy cảm hoặc làm hỏng dữ liệu.
Hậu quả: Có khả năng bị khai thác từ xa và nguy cơ RCE.
CVE-2025-55754
Mã lỗ hổng: CVE-2025-55754.
Điểm CVSS: 9.6/10, cho thấy mức độ nghiêm trọng cao.
Cơ chế tấn công: lỗ hổng Improper Neutralization of Escape, Meta, or Control Sequences trong Apache Tomcat.
Hậu quả: Có khả năng bị khai thác từ xa và nguy cơ RCE.
Chi tiết lỗ hổng
Đầu tiên ta cần hiểu nguồn gốc sinh ra hai lỗ hổng nghiêm trọng trên, bản vá trước đó cho bug 60013 đã thay đổi thứ tự xử lý chuỗi URL: Tomcat hiện chuẩn hoá (normalize) một chuỗi URL đã được rewrite trước khi giải mã các ký tự mã hóa (percent-encoding). Do đó, kẻ tấn công có thể gửi một URI được mã hoá theo cách khiến phần "bảo vệ" (ví dụ /WEB-INF/) bị “ẩn” khi normalized, dẫn tới bypass các kiểm tra truy cập dựa trên đường dẫn.
Và một yếu tố nữa cần có để thực hiện lỗ hổng là RewriteValve phải được bật. RewriteValve là một Valve của Tomcat cung cấp chức năng URL rewriting tương tự mod_rewrite của Apache HTTPD.
Giờ chúng ta cùng đi đến chi tiết chiến dịch lần này, đầu tiên những kẻ tấn công sẽ cần tìm kiếm mục tiêu bằng việc kiểm tra liệu server có Tomcat và có bật RewriteValve (hoặc có rules rewrite). Bên cạnh đó kẻ tấn công cũng kiểm tra xem server có cho phép các phương thức ghi như PUT hoặc có endpoint upload nào đó. Mục tiêu chính cúa bước này sẽ là tìm cách ghi một file (ví dụ JSP) vào vị trí bị bảo vệ (như /WEB-INF/) hoặc vào webroot sao cho nó có thể thực thi.
Bước tiếp theo kẻ tấn công sẽ thực hiện chuẩn bị Payload, Payload thường là một file có nội dung có thể xác nhận truy cập (ví dụ trả một chuỗi nhận diện). Không mô tả cụ thể nội dung có thể gây hại. Mục tiêu là file có thể được truy xuất/executed nếu được ghi vào vị trí webapp.

Tiếp theo kẻ tấn công sẽ thực hiện dùng một phương thức upload (PUT, POST tới endpoint upload, hay upload qua rewrite) để cố gắng lưu file vào một đường dẫn trong miền webapp.
Và đương nhiên các lỗ hổng đều cần Bypass qua các hệ thống kiểm duyệt, tại đây kẻ tấn công sẽ thực hiện Bypass kiểm tra đường dẫn.

Đầu tiên kẻ tấn công sẽ gửi request truy vấn file đã upload nhưng đính kèm chuỗi/định dạng URI sao cho phần kiểm tra đường dẫn của Tomcat nhìn thấy đường dẫn “an toàn” (ví dụ không chứa /WEB-INF/) sau normalize trước decode, nhưng sau khi server decode thực tế lại là /WEB-INF/<file> — nếu server phục vụ file đó, bypass thành công.
Cuối cùng nếu file là mã server-side (ví dụ JSP) và có thể truy xuất, attacker có thể thực thi mã hoặc dùng file để tấn công tiếp. Khi Payload được truyền vào thì sẽ khả năng thao túng hiển thị console và nội dung clipboard. Điều này tiềm ẩn nguy cơ lừa các quản trị viên hệ thống thực thi các lệnh do kẻ tấn công kiểm soát.
Kết luận
Lỗ hổng CVE-2025-55752 và CVE-2025-55754 cho thấy rằng ngay cả các nền tảng đã rất phổ biến như Tomcat cũng có thể bị ảnh hưởng bởi regression (sửa lỗi trước đó lại tạo ra lỗ hổng mới) và các chi tiết nhỏ nhưng nguy hiểm (như chuỗi ANSI escape) có thể bị kẻ xấu lợi dụng. Việc tổ chức chủ quan cho rằng “Tomcat là nền tảng ổn định” và không kiểm tra cấu hình hoặc không patch kịp thời sẽ mở đường cho các tấn công.
Khuyến nghị
Cập nhật Tomcat ngay lập tức
Nâng cấp lên phiên bản đã vá: 9.0.109+, 10.1.45+, 11.0.11+ (hoặc bản mới hơn do vendor khuyến nghị). Đây là cách chắc chắn nhất để loại bỏ regression gây lỗ hổng.
Nếu chưa thể nâng cấp ngay
Tắt hoặc loại bỏ RewriteValve trên các instance có dùng nó. Mở file
server.xml/context.xml/ file cấu hình nơi bạn đặt<Valve className="org.apache.catalina.valves.rewrite.RewriteValve" .../>và comment hoặc remove.Tắt (hoặc chặn) HTTP PUT nếu bạn không dùng upload qua PUT.






