PHP-FPM đang có lỗ hổng bảo mật nghiêm trọng, hacker có thể khai thác để leo thang đặc quyền root.
Lỗ hổng bảo mật cho phép người dùng có đặc quyền thấp (chẳng hạn như www-data) nâng cao đặc quyền của mình lên quyền root bằng cách sử dụng một lỗ hổng bảo mật trong PHP-FPM, lỗ hổng này đã xuất hiện và tồn tại được 10 năm.
php.net đã vá lỗ hổng này 7 ngày trước
PHP-FPM được sử dụng rộng rãi cùng với máy chủ HTTP như Apache, Nginx nhằm xử lý các file lập trình bằng mã nguồn PHP. Nếu bạn đang sử dụng PHP-FPM, máy chủ của bạn có thể bị tấn công chiếm quyền root.
Phiên bản PHP bị ảnh hưởng
Theo thông tin từ php.net, các phiên bản ảnh hưởng bao gồm PHP 7.2.x, 7.3.x đến PHP 7.4.24 và từ 8.0.x đến 8.0.11.
Trang chủ chính thức của PHP đã phát hành phiên bản vá lỗi PHP 7.4.25 và 8.0.12 vào ngày 21/10/2021. Các lỗi này được các nhà nghiên cứu bảo mật báo cáo hồi tháng 05/2021 (lúc này lỗi đã được ẩn đi). Sau khi vá lỗi xong cách đây 7 ngày, họ đã công khai lỗi với mã định danh CVE-2021-21703.
Lưu ý rằng một số nguồn tin trên Twitter cho thấy hầu như tất cả các phiên bản PHP đều bị ảnh hưởng. Tuy nhiên từ PHP 7.2 trở đi, việc khai thác là dễ dàng hơn.
Mô tả về lỗi này
Một tiến trình trên máy chủ được thực thi bởi một người dùng (user) thông thường. Ví dụ như www-data. Tiến trình này được quản lý bởi một tiến trình cha có quyền cao nhất là quyền root thông qua bộ nhớ dùng chung. Kẻ tấn công có thể tận dụng lỗi để hiệu chỉnh bộ nhớ dùng chung, làm cho tiến trình với quyền root thực thi mã lệnh mà hacker mong muốn, sau đó chiếm quyền điều khiển máy chủ.
Video demo khai thác (bấm full screen để xem rõ hơn)
Cách khắc phục
Nếu bạn đang sử dụng PHP-FPM, hãy nâng cấp phiên bản PHP mới nhất PHP 7.4.25 hoặc PHP 8.0.12. Lỗ hổng bảo mật này được xem là lỗ hổng nguy hiểm nhất năm 2021 đến thời điểm hiện tại.