# Fortinet FortiWeb tiếp tục đối mặt với lỗ hổng tấn công từ xa mà không cần xác thực - CVE‑2025‑25257

## **Tổng quan**

Gần đây một lỗ hổng cực kỳ nghiêm trọng đã được Fortinet cảnh báo với mã định danh: **CVE‑2025‑25257** và đã có PoC được công khai trên mạng gây ra rất nhiều rủi ro cho các sản phẩm Fortinet. Lỗ hổng này cho phép tin tặc thực thi mã từ xa mà không cần xác thực (pre‑auth RCE).

Một khi có quyền ghi file hệ thống thì tin tặc sẽ có thể:

* Triển khai backdoor vĩnh viễn
    
* Thay đổi cấu hình WAF
    
* Phá hoại hoặc chuyển hướng lưu lượng của ứng dụng được bảo vệ
    

![CVE-2025-25257 PoC FortiWeb, SQL Injection](https://securityonline.info/wp-content/uploads/2025/07/shell-1024x724.png align="center")

## **Mô tả lỗ hổng**

* Mã lỗ hổng: **CVE‑2025‑25257**
    
* Điểm CVSS: **9.6/10, cho thấy mức độ cực kỳ nghiêm trọng**
    
* Phạm vi ảnh hưởng: **Lỗ hổng này ảnh hưởng đến hầu hết các phiên bản 7.x.x**
    
    * **FortiWeb 7.0.0 đến 7.0.10**
        
    * **FortiWeb 7.2.0 đến 7.2.10**
        
    * **FortiWeb 7.4.0 đến 7.4.7**
        
    * **FortiWeb 7.6.0 đến 7.6.3**
        
* Cơ chế tấn công: Kẻ tấn công có thể thực hiện **Remote Code Execution** mà **không cần xác thực** (pre-auth), thông qua API `/api/fabric/device/status` và điều này là cực kỳ nguy hiểm nếu thiết bị public Internet.
    
* Hậu quả: **Khi thực thi thành công lỗ hổng có thể cho phép kẻ tấn công kiểm soát hoàn toàn WAF.**
    

## **Chi tiết lỗ hổng**

Như đã đề cập bên trên thì lỗ hổng này liên quan tới SQL Injection không cần xác thực (CWE‑89) trên endpoint Fabric Connector. Chính vì thế đầu tiên kẻ tấn công sẽ thực hiện khởi tạo class `SQLInjection` và tiến hành gửi các payload SQL trong **header Bearer**

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1752599056985/31a5080b-ac8e-44b8-a7f5-a1c8fcd2040b.png align="center")

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1752599423608/44085aec-7dc9-447e-99b1-016dcfeb8c0c.png align="center")

Trong trường hợp nếu các Payload trên trả về 200 hoặc server trả về HTTP 401 (lỗi xác thực nhưng không báo lỗi cú pháp SQL) thì tức là có thể tiếp tục khai thác các bước sau đó để leo thang.

Sau khi đã kiểm tra có thể thực hiện được các Payload Sql Injection, kẻ tấn công tiếp tục khai thác RCE – đây là một phần `RCE` kế thừa từ `SQLInjection`. Tại đây kẻ tấn công sẽ thực hiện tạo bảng `fabric_user.a` để chứa các dữ liệu **webshell** và ghi từng thành phần shell vào bảng

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1752674505369/b9f0f407-172d-43a4-8448-c9d2f832893f.png align="center")

Sau đó kẻ tấn công sẽ ghi tất cả và xuất thành một file thực thi shell `x.cgi`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1752676091924/c3d1b665-0340-4e7d-a3ce-b1c0044d4ed5.png align="center")

Sau đó một đoạn mã script Python sẽ được chạy bởi FortiWeb khi CGI trigger. Đây là một **“gadget” để làm chmod +x + xoá dấu vết** khi thực thi nhằm khó phát hiện bởi các nhà điều tra, đoạn mã đó sẽ được đặt trong thư mục FortiWeb sẽ auto chạy nó.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1752679956857/3094e3d4-fd19-4d79-9138-38fe4417069b.png align="center")

Cuối cùng kẻ tấn công sẽ thực hiện gửi lệnh tới shell bằng HTTP qua header `User-Agent`. Chính vì MySQL chạy dưới quyền root cho nên dẫn đến exploit có thể ghi file ở bất cứ đâu. Và đương nhiên nếu web shell hoặc script được chạy dưới root, kẻ tấn công sẽ chiếm quyền hệ thống hoàn toàn.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1752680050395/96e3ffa6-fc28-4b8f-ad12-3cd47e7c2ef9.png align="center")

## **Kết luận**

**CVE‑2025‑25257** là một lỗ hổng rất nghiêm trọng trong đó kẻ tấn công sẽ thực hiện **remote code execution trước khi xác thực**, cho phép kiểm soát hoàn toàn hệ thống WAF. Nguy hiểm hơn là hiện tại POC đã có trên mạng chính vì thế mà nguy cơ cá nhân hoặc các tổ chức bị khai thác tích cực đang ở mức cao.

Các admin **phải ưu tiên vá hệ thống ngay lập tức** và triển khai các biện pháp giảm thiểu nếu chưa thể vá kịp. Việc bảo vệ WAF không chỉ bảo vệ ứng dụng mà còn bảo vệ cả mạng cơ sở hạ tầng của bạn.

## **Khuyến nghị**

1. Cập nhật phần mềm (Patching) – BẮT BUỘC
    

* **Cập nhật FortiWeb ngay** lên một trong các phiên bản đã vá:
    
    * `7.0.11`
        
    * `7.2.11`
        
    * `7.4.8`
        
    * `7.6.4`
        
* Link cập nhật phần mềm: [Updating the firmware | FortiWeb 7.6.4 | Fortinet Document Library](https://docs.fortinet.com/document/fortiweb/7.6.4/administration-guide/172532/updating-the-firmware?utm_source=chatgpt.com)
    

2. **Biện pháp tạm thời nếu chưa thể vá ngay**
    

* **Vô hiệu hóa giao diện HTTP/HTTPS quản trị** để chặn truy cập “pre-auth” đến endpoint `/api/fabric/device/status`.
    
* Sử dụng tường lửa để **chặn IP công cộng** truy cập API Fabric.
    

## **Tham khảo**

1. [Fortinet Releases Patch for Critical SQL Injection](https://docs.fortinet.com/document/fortiweb/7.6.4/administration-guide/172532/updating-the-firmware?utm_source=chatgpt.com) [Flaw in FortiWeb (CVE-2025-25257)](https://thehackernews.com/2025/07/fortinet-releases-patch-for-critical.html)
    
2. [FortiWeb Pre-Auth RCE (CVE-2025-25257)](https://pwner.gg/blog/2025-07-10-fortiweb-fabric-rce)
    
3. [Fortinet Releases Patch for Critical SQL Injection Flaw in FortiWeb (CVE-2025-25257)](https://thehackernews.com/2025/07/fortinet-releases-patch-for-critical.html)
