Phát hiện lỗ hổng bỏ qua xác thực trong nền tảng dịch vụ Auth0
Một lỗ hổng bỏ qua xác thực nghiêm trọng đã được tìm thấy trong nền tảng dịch vụ Auth0. Lỗ hổng này cho phép kẻ tấn công truy cập bất kỳ cổng hoặc ứng dụng nào đang sử dụng dịch vụ Auth0 để xác thực.
Auth0 cung cấp các giải pháp xác thực dựa trên token cho một số nền tảng bao gồm khả năng tích hợp xác thực truyền thông xã hội vào một ứng dụng.
Lỗ hổng bỏ qua xác thực trong nền tảng dịch vụ Auth0
Với hơn 2000 khách hàng là doanh nghiệp và phải quản lý 42 triệu đăng nhập mỗi ngày và hàng tỷ lượt đăng nhập mỗi tháng, Auth0 là một trong những nền tảng xác thực lớn nhất thế giới.
Trong khi thực hiện pentest cho một ứng dụng vào tháng 9 năm 2017, các nhà nghiên cứu từ công ty bảo mật Cinta Infinita đã phát hiện ra một lỗ hổng (CVE-2018-6873) ngay trong API Legacy Lock của Auth0, nó xuất hiện do việc xác nhận không hợp lệ của tham số đối tượng JSON Web Tokens (JWT).
Các nhà nghiên cứu đã thành công vượt qua xác thực đăng nhập bằng cách sử dụng một cuộc tấn công giả mạo yêu cầu cross-site đơn giản (CSRF / XSRF) để chống lại các ứng dụng chạy qua xác thực Auth0.
Lỗ hổng CSRF của Auth0 (CVE-2018-6874) cho phép kẻ tấn công sử dụng lại một JWT hợp lệ cho một tài khoản riêng để truy cập vào tài khoản của nạn nhân mục tiêu.
Để làm được điều này, tất cả những gì kẻ tấn công cần là ID người dùng hoặc địa chỉ email của nạn nhân. Đó đều là những thứ có thể dễ dàng thu được bằng các thủ thuật kỹ thuật xã hội đơn giản.
Video miêu tả cuộc tấn công
Theo các nhà nghiên cứu, cuộc tấn công có thể được tái thức hiện với nhiều tổ chức, “miễn là chúng ta biết các lĩnh vực và giá trị mong đợi của JWT. Không có các kỹ thuật xã hội trong hầu hết các trường hợp mà chúng tôi tìm thấy. Việc xác thực cho các ứng dụng dùng địa chỉ email hoặc một số nguyên tăng để nhận diện người dùng đã bị bỏ qua.”
Công ty an ninh mạng báo cáo lỗ hổng cho nhóm bảo mật của Auth0 vào tháng 10 năm 2017. Auth0 đã hành động rất nhanh và khắc phục điểm yếu trong vòng chưa đầy 4 tiếng đồng hồ.
Tuy nhiên, kể từ khi lỗ hổng bỏ qua xác thực trong SDK và các thư viện hỗ trợ của Auth0 đã được thực hiện ở phía khách hàng, Auth0 mất gần sáu tháng để liên hệ với từng khách hàng của mình và giúp họ khắc phục lỗ hổng này trước khi công khai tiết lộ vấn đề.
Nhóm nghiên cứu của Auth0 cho biết: “Không giống như việc fix cho các trường hợp đặc biệt được phát hiện bởi Cinta Infinita, vấn đề này chỉ có thể giải quyết khi khách hàng đã nâng cấp các thư viện và SDK.”
Công ty đã giảm thiểu sự tác động của những lỗ hổng bỏ qua xác thực bằng cách viết lại các thư viện bị ảnh hưởng và phát hành phiên bản SDK mới (auth0.js 9 và Lock 11).
Cinta Infinita cũng phải đợi sáu tháng trước khi công khai công bố lỗ hổng này để cho phép nhóm Auth0 có đủ thời gian để cập nhật tất cả các thiết bị SaaS riêng của họ.