Vừa qua, Apache đã phát hành các bản vá để sửa lỗi trong phần mềm mã nguồn mở Apache Superset. Lỗ hổng này bắt nguồn từ cấu hình mặc định không an toàn, có thể dẫn đến thực thi mã từ xa.
Lỗ hổng được theo dõi là CVE-2023-27524 (điểm CVSS: 8,9), ảnh hưởng đến các phiên bản từ 2.0.1 trở xuống và liên quan đến việc sử dụng SECRET_KEY mặc định có thể bị kẻ tấn công lạm dụng để xác thực và truy cập các tài nguyên trái phép trên internet.
Naveen Sunkavally ( Horizon3.ai), mô tả vấn đề này là “một cấu hình mặc định nguy hiểm trong Apache Superset cho phép kẻ tấn công chưa xác định thực thi mã từ xa, thu thập thông tin đăng nhập và xâm phạm dữ liệu”.
Lưu ý rằng lỗ hổng không ảnh hưởng đến các trường hợp Superset đã thay đổi giá trị mặc định cho cấu hình SECRET_KEY.
Horizon3.ai phát hiện ra rằng SECRET_KEY được mặc định là giá trị “x02x01thisismyscretkeyx01x02eyyh” tại thời điểm cài đặt, cho biết 918 trong số 1.288 máy chủ có thể truy cập công khai đang sử dụng cấu hình mặc định vào tháng 10/2021.
Kẻ tấn công có thể đăng nhập vào các máy chủ này với tư cách quản trị viên bằng cách giả mạo cookie và giành quyền kiểm soát hệ thống. Từ đó, hacker có thể đánh cắp dữ liệu, di chuyển ngang trong hệ thống, mã hóa dữ liệu…
Vào ngày 11 tháng 1 năm 2022, các chuyên gia đã cố gắng khắc phục sự cố bằng cách xoay giá trị SECRET_KEY thành “CHANGE_ME_TO_A_COMPLEX_RANDOM_SECRET” trong mã Python cùng với hướng dẫn người dùng để ghi đè nó.
Horizon3.ai cho biết họ tiếp tục tìm thấy hai cấu hình SECRET_KEY bổ sung được gán các giá trị mặc định “USE_YOUR_OWN_SECURE_RANDOM_KEY” và “thisISaSECRET_1234”.
Theo khảo sát vào tháng 2/2023 với bốn khóa này đã phát hiện ra 3.176 trường hợp, trong đó 2.124 trường hợp đang sử dụng một trong các key mặc định. Một số đơn vị bị ảnh hưởng bao gồm các tập đoàn lớn, các công ty nhỏ, các cơ quan chính phủ và các trường đại học.
Một bản cập nhật mới (phiên bản 2.1) đã được phát hành vào ngày 5 tháng 4 năm 2023, để vá lỗ hổng này bằng cách ngăn máy chủ khởi động hoàn toàn nếu nó được định cấu hình với SECRET_KEY mặc định nhưng cách khắc phục này không phải là hoàn hảo vì vẫn có thể chạy Superset với SECRET_KEY mặc định nếu nó được cài đặt thông qua tệp docker-compose hoặc mẫu helm.