# Đã vá nhưng vẫn thủng - Apache Tomcat tiếp tục tồn tại Backdoor nguy hiểm

## **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**

1. **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.
        
2. **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.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1762227131835/45e04b1d-1a35-45c1-9b69-8ec6dc5083e9.png align="center")

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.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1762227674180/91c4cc45-3d88-4b10-9327-c2b9c97bc437.png align="center")

Đầ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ị**

1. **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.
        
    * [Apache Tomcat® - Apache Tomcat 11 vulnerabilities](https://tomcat.apache.org/security-11.html?utm_source=chatgpt.com)
        
2. **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.
        

## **Tham khảo**

1. [Apache Tomcat Security Vulnerab](https://tomcat.apache.org/security-11.html?utm_source=chatgpt.com)[ilities Expose Servers to Remote Code Execution Attacks](https://cybersecuritynews.com/apache-tomcat-security-vulnerabilities/)
    
2. [Apache Tomcat CVE-2025-55752, 55754 Security Flaws](https://thecyberexpress.com/apache-tomcat-cve-2025-55752/)
    
3. [GitHub - TAM-K592/CVE-2025-55752: CVE-2025-55752, Apache Tomcat that allows directory traversal via URL rewrite, and under certain conditions, leads to remote code execution (RCE) if HTTP PUT is enabled.](https://github.com/TAM-K592/CVE-2025-55752)
