Kỹ sư VietSunshine phát hiện lỗ hổng nghiêm trọng trong Elementor Pro, có thể thực thi mã từ xa (RCE)
Lỗ hổng được định danh CVE-2026-32475, có điểm CVSS 9.0/10, ảnh hưởng đến Elementor Pro phiên bản 4.2.1 trở xuống và đã được khắc phục trong phiên bản 4.2.2.
Đáng chú ý, lỗ hổng được phát hiện và báo cáo bởi Tin Pham (aka TF1T) – kỹ sư bảo mật của VietSunshine – thông qua chương trình Bug Bounty của Patchstack. Đây là một phát hiện có ý nghĩa không chỉ đối với cộng đồng WordPress mà còn cho thấy năng lực nghiên cứu và phát hiện lỗ hổng của các chuyên gia bảo mật Việt Nam.
Lỗ hổng Elementor Pro CVE-2026-32475 nguy hiểm như thế nào?
Elementor Pro là phiên bản mở rộng cao cấp của Elementor, bổ sung nhiều tính năng cho WordPress, trong đó có Forms widget cho phép website xây dựng các biểu mẫu liên hệ, tuyển dụng, hỗ trợ và upload tài liệu.
Theo dữ liệu từ BuiltWith – Websites using Elementor Pro, hiện có hàng triệu website được ghi nhận đang sử dụng Elementor Pro, cho thấy phạm vi ảnh hưởng tiềm năng của một lỗ hổng trong plugin này là rất đáng chú ý.
Theo phân tích kỹ thuật của Patchstack về CVE-2026-32475, vấn đề nằm trong Forms module – File Upload field. Cơ chế xử lý file được chia thành hai bước độc lập:
- Validation: kiểm tra extension và xác định file có được phép upload hay không.
- Processing: xử lý và ghi file hợp lệ xuống máy chủ.
Bản thân cơ chế kiểm tra extension của Elementor Pro đã có blacklist đối với nhiều loại file nguy hiểm như .php, .phtml, .phar... Vì vậy, nếu upload trực tiếp một file PHP, hệ thống thông thường sẽ từ chối.
Vấn đề nằm ở chỗ hai vòng lặp xử lý file lại có cách xử lý file rỗng khác nhau, tạo ra khoảng trống để kẻ tấn công bypass bước kiểm tra.
CVE-2026-32475 hoạt động ra sao?
Lỗi nằm ở sự không đồng nhất giữa Validation và Processing
Trong bước validation, khi gặp một file entry rỗng với UPLOAD_ERR_NO_FILE, code sử dụng return. Điều này khiến toàn bộ quá trình validation kết thúc, thay vì chỉ bỏ qua file rỗng.
return;
}
Trong khi đó, bước processing lại sử dụng continue. Lệnh này chỉ bỏ qua entry hiện tại và tiếp tục xử lý những file phía sau.
continue;
}
Sự khác biệt tưởng như rất nhỏ này tạo ra một tình huống nguy hiểm:
File Upload
├── [0] Empty file
└── [1] PHP file
Ở bước validation, entry [0] khiến hàm thoát sớm nên file PHP [1] không bao giờ được kiểm tra. Nhưng khi tới bước processing, entry [0] chỉ bị bỏ qua và file PHP phía sau vẫn tiếp tục được ghi xuống ổ đĩa.
Nói cách khác, file độc hại không thực sự vượt qua blacklist bằng cách đánh lừa MIME type, Content-Type hay sử dụng double extension. Thay vào đó, kẻ tấn công khiến file đó không bao giờ đi qua bước kiểm tra extension. Đây chính là điểm cốt lõi của lỗ hổng.
Từ upload file đến Remote Code Execution
File sau khi upload được Elementor Pro đặt tên bằng:
Sau khi được xử lý, file được lưu trong thư mục: wp-content/uploads/elementor/forms/
Tên file được tạo dựa trên PHP uniqid() và vẫn giữ extension của file được upload. Theo phân tích của Patchstack, điều này có thể khiến một file .php được ghi vào thư mục public nói trên.
Nếu máy chủ cho phép thực thi PHP trong thư mục upload, attacker có thể truy cập trực tiếp file đã được upload và từ đó dẫn đến Remote Code Execution (RCE).
The Hacker News cũng xác nhận rằng việc khai thác thành công có thể cho phép attacker upload các file tùy ý, bao gồm PHP script, sau đó sử dụng chúng để thực thi mã từ xa trên hệ thống bị ảnh hưởng.
Điều kiện để khai thác lỗ hổng Elementor Pro
Điểm đáng lo ngại của CVE-2026-32475 là attacker không cần tài khoản WordPress hoặc quyền quản trị.
Theo Patchstack, website mục tiêu cần có ít nhất một trang Elementor được public với Form widget chứa trường File Upload. Trường Required của File Upload mặc định có thể ở trạng thái tắt, vì vậy website không nhất thiết phải có cấu hình đặc biệt mới có khả năng bị ảnh hưởng.
Những tình huống sử dụng phổ biến có thể bao gồm:
- Form tuyển dụng cho phép upload CV;
- Form hỗ trợ cho phép gửi screenshot hoặc tài liệu;
- Form yêu cầu upload hóa đơn, chứng từ;
- Form liên hệ có chức năng đính kèm file.
Điều này khiến phạm vi tấn công trở nên đáng chú ý, bởi File Upload là tính năng khá phổ biến trên các website doanh nghiệp.
Phiên bản Elementor Pro nào bị ảnh hưởng?
- CVE-2026-32475 ảnh hưởng đến: Elementor Pro 4.2.1 và các phiên bản thấp hơn.
- Lỗ hổng đã được nhà cung cấp khắc phục trong: Elementor Pro 4.2.2.
Theo timeline được Patchstack công bố, lỗ hổng được báo cáo ngày 16/07/2026, vendor chuẩn bị bản vá vào ngày 17/07, bản vá được Patchstack xác nhận vào ngày 03/08 và Elementor Pro chính thức phát hành phiên bản 4.2.2 vào 19/08/2026.
Tin Pham (TF1T) – Nhà nghiên cứu đứng sau phát hiện CVE-2026-32475
CVE-2026-32475 được phát hiện và báo cáo bởi Tin Pham (TF1T) - kỹ sư bảo mật của VietSunshine - thông qua chương trình Bug Bounty của Patchstack. Đáng chú ý, CVE-2026-32475 hiện đang được xếp hạng #1 tại Wordfence Bounty Hall of Fame – một dấu ấn nổi bật đối với hoạt động nghiên cứu và phát hiện lỗ hổng bảo mật trong hệ sinh thái WordPress.
Wordfence cho biết Hall of Fame là nơi ghi nhận những bounty đáng chú ý được trao trong chương trình Bug Bounty. Trang này cũng mô tả chương trình dành cho các nhà nghiên cứu phát hiện những lỗ hổng có tác động đáng kể tới tính bảo mật của hệ sinh thái WordPress.
Với CVE-2026-32475, phát hiện này càng đáng chú ý khi lỗ hổng thuộc nhóm arbitrary file upload và có khả năng dẫn tới Remote Code Execution – những dạng lỗi có mức độ tác động cao trong bảo mật ứng dụng web.
Khuyến nghị xử lý lỗ hổng
1. Cập nhật Elementor Pro ngay lập tức
Quản trị viên website đang sử dụng Elementor Pro nên kiểm tra phiên bản hiện tại và nâng cấp lên 4.2.2 hoặc mới hơn. Đây là biện pháp quan trọng nhất để loại bỏ lỗ hổng.
Theo Patchstack, bản vá đã điều chỉnh cách hai vòng lặp xử lý file rỗng, đồng thời phiên bản mới còn thực hiện kiểm tra extension ngay trong bước xử lý file trước khi file được ghi xuống máy chủ.
2. Kiểm tra thư mục upload
Đối với những website từng sử dụng phiên bản Elementor Pro bị ảnh hưởng, việc cập nhật plugin là cần thiết nhưng chưa nên dừng lại ở đó.
Quản trị viên nên kiểm tra: wp-content/uploads/elementor/forms/
để tìm các file bất thường, đặc biệt là những file có extension như .php, .phtml hoặc các loại file thực thi không phù hợp với chức năng của form. Patchstack cũng khuyến nghị rà soát thư mục này đối với các website đã chạy phiên bản dễ bị ảnh hưởng.
3. Kiểm tra lại các biểu mẫu có chức năng upload
Do điều kiện khai thác liên quan trực tiếp tới File Upload field, doanh nghiệp nên rà soát các biểu mẫu Elementor Pro đang được public trên website. Đặc biệt cần lưu ý những form tuyển dụng, hỗ trợ khách hàng hoặc các form cho phép người dùng bên ngoài gửi tài liệu.
4. Không cho phép thực thi mã trong thư mục upload
Ngoài việc cập nhật plugin, doanh nghiệp nên xem xét cấu hình máy chủ để ngăn việc thực thi PHP trong các thư mục upload. Đây là một lớp phòng vệ bổ sung nhằm hạn chế tác động nếu một file không mong muốn lọt vào khu vực lưu trữ.
Lỗ hổng Elementor Pro cho thấy điều gì về bảo mật WordPress?
CVE-2026-32475 là một ví dụ điển hình cho thấy những sai khác rất nhỏ trong logic xử lý dữ liệu có thể tạo ra tác động bảo mật rất lớn.
Điểm đáng chú ý không nằm ở việc Elementor Pro không có cơ chế kiểm tra file nguy hiểm. Ngược lại, blacklist extension đã tồn tại. Vấn đề nằm ở sự không đồng nhất giữa quá trình kiểm tra và quá trình xử lý file.
Đây cũng là lý do bảo mật website hiện đại không nên chỉ dựa vào việc cập nhật plugin. Doanh nghiệp cần kết hợp quản lý bản vá, đánh giá lỗ hổng, kiểm tra cấu hình máy chủ và giám sát các dấu hiệu bất thường để giảm thiểu nguy cơ bị khai thác.
Kết luận
Lỗ hổng Elementor Pro CVE-2026-32475 có thể cho phép attacker upload file PHP trái phép và dẫn đến RCE trong điều kiện phù hợp. Doanh nghiệp sử dụng Elementor Pro 4.2.1 trở xuống cần nhanh chóng cập nhật lên 4.2.2 hoặc mới hơn, đồng thời rà soát các file và biểu mẫu upload để chủ động phát hiện dấu hiệu bất thường.





Loading ...