6 điểm bởi GN⁺ 2025-03-01 | Chưa có bình luận nào. | Chia sẻ qua WhatsApp

"Tất nhiên Firebase cũng là một phần nguyên nhân"

  • Khi tải trình cài đặt của trình biên tập AI Cursor, tác giả phát hiện nó cố gắng kết nối tới ToDesktop thông qua tường lửa Lulu
    • ToDesktop là dịch vụ cung cấp đóng gói ứng dụng Electron, SDK, cập nhật, v.v.
  • Sau khi xác nhận ứng dụng đang dùng Firestore, tác giả bắt đầu điều tra cơ bản về Firebase thông qua công cụ dành cho nhà phát triển
    • Firebase: nền tảng backend cho ứng dụng do Google cung cấp, hỗ trợ lưu trữ và xử lý dữ liệu phía client thông qua cơ sở dữ liệu NoSQL Firestore
  • Tận dụng DevTools và sourcemap để xem các collection đang được dùng trong Firestore
  • Phát hiện một collection tên là temporaryApplications, nhưng đó chỉ là danh sách cũ và không có thông tin nhạy cảm nào (không được cập nhật từ sau năm 2022)
  • Xác nhận rằng phần lớn logic chính và tác vụ triển khai được thực hiện thông qua gói npm @todesktop/cli
  • @todesktop/cli cũng có sourcemap, nên tác giả dùng sourcemapper để xác định cấu trúc mã nguồn gốc

Mổ xẻ ToDesktop CLI

  • ToDesktop CLI: đảm nhiệm các chức năng chính như triển khai ứng dụng, tải mã nguồn lên, v.v.
  • Trong quá trình phân tích sourcemap của CLI, tác giả phát hiện một lỗ hổng có thể lạm dụng Firebase Cloud Function getSignedURL để thử tải lên S3 tùy ý, nhưng có vẻ khó tìm được đường dẫn tệp thực sự có ý nghĩa

Chiếm quyền pipeline triển khai thông qua script postinstall

  • Mục tiêu: giành quyền thực thi mã trong container (máy chủ) nơi quá trình build đang chạy
  • Chèn payload reverse shell vào script postinstall trong package.json để nhận kết nối từ container build
  • Đã thành công truy cập vào bên trong container và xem xét cấu trúc môi trường build cùng các tệp quan trọng
  • Xác nhận sự tồn tại của tệp config.json.encrypted, đồng thời tìm ra cách giải mã để trích xuất bí mật thực tế (config.json)
  • Ngoài ra còn phát hiện khóa Firebase Admin (khóa có quyền rất rộng) ở bên trong

Sau khai thác

  • Thông qua lỗ hổng này, có thể tùy ý phát hành bản cập nhật ứng dụng, khiến mã độc được thực thi ngay khi người dùng khởi động lại ứng dụng
  • Tác giả thực sự đã phát hành một bản cập nhật cho ứng dụng thử nghiệm và tái hiện được RCE (thực thi mã từ xa) ở phía client

Phạm vi ảnh hưởng

  • Có thể phát hành cập nhật độc hại cho mọi ứng dụng dùng ToDesktop, nên đây là vấn đề có khả năng ảnh hưởng tới hơn hàng triệu người dùng
  • Các ứng dụng được nêu ví dụ:
  • Đặc biệt, người dùng của các ứng dụng này phần lớn làm trong ngành CNTT và công nghệ, nên nếu bị tấn công thì mức độ thiệt hại có thể lớn

Bản vá

  • Sau khi báo cáo, tác giả lập tức liên hệ với phía ToDesktop để tiến hành xử lý
  • ToDesktop đã nhanh chóng khắc phục vấn đề và cung cấp thêm phần thưởng
  • Kiến trúc được thay đổi để các tác vụ quan trọng như ký và tải lên được thực hiện trong sidecar container có quyền tách biệt với build container
  • Có thể xem báo cáo incident bảo mật chính thức của ToDesktop tại đây
  • Sự cố bảo mật có thể xảy ra với bất kỳ công ty nào, nhưng điều quan trọng là cách ứng phó; ToDesktop đã xử lý nhanh chóng và hợp tác, để lại ấn tượng tích cực

Chưa có bình luận nào.

Chưa có bình luận nào.