Phần mềm nút Lightning Eclair đã chặn cách lợi dụng thông tin xác thực lưu trong trình duyệt để gửi lệnh đến API của nút. Phiên bản mới từ chối yêu cầu qua trình duyệt, nhưng vẫn cần xác thực API và giới hạn truy cập mạng.
ACINQ, đơn vị phát triển Eclair, phát hành phiên bản v0.14.4 ngày 15 tháng 10. Nếu yêu cầu có tiêu đề Origin, phiên bản này sẽ trả về HTTP 403 trước khi xử lý API, bất kể giá trị của tiêu đề. Tài liệu API chính thức của Eclair giải thích rằng trình duyệt tự đặt tiêu đề này và việc từ chối yêu cầu giúp ngăn giả mạo yêu cầu liên trang (CSRF). Ghi chú phát hành cho biết v0.14.4 tương thích ngược với các phiên bản trước.
Vấn đề nằm ở chỗ trình duyệt có thể đính kèm thông tin xác thực HTTP Basic đã lưu vào yêu cầu khởi phát từ một trang web khác. Khi người dùng mở trang độc hại, trang đó có thể gửi yêu cầu đến API Eclair để truyền lệnh cho nút. Ngay cả khi trang độc hại không đọc được nội dung phản hồi, yêu cầu vẫn có thể đến được nút.
API Eclair cung cấp các chức năng như xem trạng thái nút, mở và đóng kênh Lightning, gửi và nhận thanh toán. Vì vậy, điều kiện dễ bị ảnh hưởng là API đang bật, trình duyệt của người vận hành có thể truy cập API và thông tin xác thực được lưu trong trình duyệt. Chưa có quy mô thiệt hại hay trường hợp khai thác thực tế nào được xác nhận.
Thay đổi này cũng ảnh hưởng đến các giao diện web gọi API trực tiếp từ trình duyệt. Ngay cả giao diện được cung cấp từ cùng nguồn cũng không thể gọi API trực tiếp bằng trình duyệt, vì vậy người vận hành cần đặt một backend riêng giữa trình duyệt và Eclair. Trong khi đó, các yêu cầu thông thường từ curl hoặc eclair-cli không có tiêu đề Origin, nên API vẫn có thể được sử dụng như trước qua dòng lệnh.
Chặn tiêu đề Origin là biện pháp lọc yêu cầu đi qua trình duyệt. Các ứng dụng không phải trình duyệt có thể bỏ qua tiêu đề này, vì vậy không thể tin cậy một yêu cầu chỉ vì nó không có Origin. ACINQ cho biết trong nội dung sửa lỗi rằng biện pháp này không thay thế xác thực.
Tài liệu cấu hình của ACINQ khuyến cáo không để API lộ ra bên ngoài. API mặc định bị vô hiệu hóa và địa chỉ liên kết mặc định là localhost 127.0.0.1. Người vận hành cần giữ các thiết lập này và duy trì xác thực. Để cập nhật lên v0.14.4, có thể dừng Eclair mà không đóng kênh, nâng cấp phiên bản rồi khởi động lại.
Thay đổi này ngăn trình duyệt tái sử dụng thông tin xác thực để gửi lệnh đến nút, nhưng không loại bỏ rủi ro khi API bị phơi ra bên ngoài. Trước đây, TokenPost từng đưa tin Eclair sửa hai vị trí trong mã để ngăn tổn thất phí của kênh Lightning.
Bình luận 0