
Các nhà nghiên cứu tại Rapid7 đã phát hiện một lỗ hổng SQL injection nghiêm trọng (CVE-2025-1094) trong công cụ tương tác psql của PostgreSQL. Lỗ hổng này được tìm thấy trong quá trình điều tra việc khai thác một lỗ hổng khác trong sản phẩm của BeyondTrust, cho phép kẻ tấn công thực thi mã tùy ý trên hệ thống bị ảnh hưởng.
Nguyên nhân của lỗ hổng xuất phát từ cách PostgreSQL xử lý dữ liệu đầu vào không tin cậy, ngay cả khi đã sử dụng cơ chế thoát ký tự để tránh SQL Injection. Khi dữ liệu này được đưa vào một câu lệnh SQL và thực thi qua psql, nó vẫn có thể bị lợi dụng trong một số trường hợp đặc biệt, đặc biệt khi kết hợp với cách psql xử lý chuỗi UTF-8 không hợp lệ.
Khai thác được CVE-2025-1094 có thể dẫn đến thực thi mã tùy ý (ACE) bằng cách lợi dụng meta-command ! trong psql, cho phép thực thi lệnh shell trên hệ điều hành. Điều này tạo điều kiện để kẻ tấn công kiểm soát hoàn toàn hệ thống.
Trong quá trình nghiên cứu lỗ hổng RCE CVE-2024-12356 trên BeyondTrust, các chuyên gia Rapid7 nhận thấy rằng CVE-2025-1094 là mắt xích quan trọng để đạt được tấn công RCE. Mặc dù BeyondTrust đã phát hành bản vá cho CVE-2024-12356 vào tháng 12/2024, lỗ hổng PostgreSQL này vẫn chưa được khắc phục cho đến khi được Rapid7 công bố.
Tất cả các phiên bản PostgreSQL trước 17.3, 16.7, 15.11, 14.16 và 13.19 đều bị ảnh hưởng. Người dùng được khuyến cáo cập nhật ngay lên phiên bản mới nhất để giảm thiểu rủi ro. Đồng thời, Rapid7 cũng đã công bố phân tích kỹ thuật chi tiết về CVE-2025-1094 và CVE-2024-12356 trên AttackerKB, kèm theo module khai thác Metasploit nhằm hỗ trợ kiểm thử bảo mật.