Một chuỗi lỗ hổng nghiêm trọng trên Splunk Enterprise đã được công bố, cho phép kẻ tấn công chưa xác thực thực hiện remote code execution (RCE) thông qua một dịch vụ PostgreSQL sidecar cấu hình sai. Lỗ hổng này, được theo dõi với mã định danh CVE-2026-20253, có điểm CVSS là 9.8 và ảnh hưởng đến các phiên bản Splunk Enterprise 10 trở lên.
Chi tiết lỗ hổng CVE-2026-20253
Vấn đề cốt lõi bắt nguồn từ Dịch vụ PostgreSQL Sidecar, một thành phần nội bộ được giới thiệu trong các phiên bản Splunk gần đây. Mặc dù dịch vụ này không phải lúc nào cũng được kích hoạt trong các triển khai on-premise, nó lại hoạt động mặc định trên Splunk Enterprise trên AWS. Điều này làm cho các triển khai trên đám mây đặc biệt dễ bị tấn công ngay từ đầu.
Khai thác thông qua giao diện web Splunk
Theo các nhà nghiên cứu từ WatchTowr Labs, dịch vụ bị lỗ hổng lắng nghe trên localhost nhưng có thể truy cập được từ bên ngoài thông qua giao diện web chính của Splunk. Kẻ tấn công có thể gửi các yêu cầu HTTP được chế tạo đến các điểm cuối API nội bộ, chẳng hạn như /v1/postgres/recovery/backup và /restore, thông qua dịch vụ web Splunk chạy trên cổng 8000.
Vấn đề chính nằm ở việc thiếu kiểm soát xác thực. API chấp nhận bất kỳ thông tin xác thực nào, bao gồm cả giá trị trống, và chuyển tiếp chúng đến các tiện ích PostgreSQL backend như pg_dump và pg_restore. Vì các công cụ này được thực thi mà không có kiểm tra xác thực phù hợp, kẻ tấn công có thể kích hoạt các thao tác cơ sở dữ liệu mà không cần quyền truy cập hợp lệ.
Tác động và phương thức khai thác
Ban đầu, lỗ hổng này có vẻ bị giới hạn trong việc tạo và cắt bớt tệp tùy ý. Bằng cách thao túng tham số backupFile, kẻ tấn công có thể ghi tệp vào các vị trí tùy ý trên hệ thống bằng kỹ thuật directory traversal.
Tuy nhiên, các nhà nghiên cứu đã phát hiện ra một tác động nghiêm trọng hơn bằng cách kết hợp nhiều hành vi. Bằng cách chèn một chuỗi kết nối PostgreSQL vào tham số database, kẻ tấn công có thể ghi đè các cài đặt kết nối mặc định và buộc Splunk kết nối với một cơ sở dữ liệu do kẻ tấn công kiểm soát. Điều này cho phép ghi nội dung cơ sở dữ liệu độc hại vào hệ thống tệp của Splunk.
Lợi dụng thông tin xác thực và thực thi mã tùy ý
WatchTowr Labs phát hiện ra rằng tính năng khôi phục của Splunk có thể sử dụng thông tin xác thực được lưu trữ trong tệp .pgpass cục bộ. Điều này cho phép kẻ tấn công lạm dụng thông tin xác thực cơ sở dữ liệu bị lộ trong quá trình khôi phục. Bằng cách tận dụng tệp này, kẻ tấn công có thể xác thực với phiên bản PostgreSQL nội bộ và thực thi SQL tùy ý trong quá trình khôi phục.
Các nhà nghiên cứu đã chứng minh rằng các payload SQL được chế tạo đặc biệt có thể ghi các tệp do kẻ tấn công kiểm soát vào đĩa bằng cách sử dụng các hàm xuất đối tượng lớn của PostgreSQL. Khả năng này cho phép truy cập ghi tệp tùy ý đầy đủ dưới quyền người dùng Splunk.
Khai thác lỗ hổng lên RCE
Với quyền truy cập ghi tệp, việc đạt được RCE trở nên đơn giản. Trong bằng chứng khái niệm (PoC), kẻ tấn công đã ghi đè một tập lệnh Python hợp lệ của Splunk, tập lệnh này được thực thi trong quá trình hoạt động bình thường. Điều này cho phép chúng thực thi các lệnh hệ thống và xác nhận việc thực thi mã trên hệ thống mục tiêu.
Mã khai thác (Exploit) minh họa:
# Bước 1: Tạo tệp độc hại chứa payload SQL
# Ví dụ: ghi đè tập lệnh Python thực thi lệnh shell
# Bước 2: Sử dụng CVE-2026-20253 để ghi đè tập lệnh Splunk
# (Chi tiết lệnh phức tạp, yêu cầu POST request với dữ liệu JSON)
# Ví dụ về cấu trúc dữ liệu POST:
{
"endpoint": "/v1/postgres/recovery/backup",
"payload": {
"backupFile": "../../../../opt/splunk/bin/scripts/my_malicious_script.py",
"format": "plain",
"credentials": {
"host": "localhost",
"port": 5432,
"user": "splunk_user",
"password": ""
}
}
}
# Bước 3: Kích hoạt tập lệnh Splunk bị ghi đè để thực thi mã.
Phân tích sâu hơn về cơ chế tấn công
Lỗ hổng này nhấn mạnh cách các dịch vụ nội bộ được phơi bày thông qua các cơ chế proxy có thể phá vỡ các giả định bảo mật, đặc biệt là khi xác thực không được thực thi một cách nhất quán. Ngay cả các dịch vụ được ràng buộc với localhost cũng có thể trở nên có thể truy cập từ xa thông qua định tuyến ở lớp ứng dụng.
Khuyến nghị bảo mật và phòng chống
Splunk đã phát hành một cảnh báo bảo mật và khuyến khích người dùng cập nhật các phiên bản bị ảnh hưởng ngay lập tức. Các tổ chức sử dụng Splunk Enterprise trên AWS nên ưu tiên áp dụng bản vá bảo mật, vì thành phần bị lỗ hổng được kích hoạt mặc định.
Nghiên cứu từ WatchTowr Labs khuyến nghị giám sát việc truy cập vào các điểm cuối API nội bộ, hạn chế việc phơi bày không cần thiết và xem xét tính toàn vẹn của tệp đối với các thành phần Splunk quan trọng. Các công cụ phát hiện được phát triển bởi các nhà nghiên cứu có thể giúp xác định các hệ thống bị lỗ hổng bằng cách kiểm tra hành vi kiểm soát truy cập.
Lỗ hổng này cho thấy cách các lỗi tưởng chừng như hạn chế, chẳng hạn như ghi tệp tùy ý, có thể phát triển thành việc chiếm quyền kiểm soát hệ thống hoàn toàn khi kết hợp với các điểm yếu trong thiết kế và lộ thông tin xác thực. Việc chủ động cập nhật bản vá và thực hiện các biện pháp giám sát chặt chẽ là cần thiết để bảo vệ hệ thống khỏi các mối đe dọa tương tự.
Để biết thêm thông tin chi tiết và các cảnh báo CVE mới nhất, độc giả có thể tham khảo thông tin từ các nguồn uy tín như CISA.










