Các client Ethereum vá lỗ hổng có thể khiến phần thưởng ETH bị chuyển hướng
Một sai sót mật mã tại một công ty chứng chỉ số Ấn Độ đã lọt vào Ethereum và có thể cho phép kẻ tấn công âm thầm chuyển phần thưởng khối của một số trình xác thực về địa chỉ của chúng.
Teku, phần mềm nhiều trình xác thực dùng để vận hành mạng Ethereum theo cơ chế proof-of-stake, phát hành phiên bản 26.10.3 vào thứ Ba. Besu, phần mềm xử lý giao dịch Ethereum, phát hành phiên bản 26.10.2 vào thứ Hai. Cả hai bản cập nhật ngừng tin cậy các chứng chỉ số gắn với eMudhra, một tổ chức cấp chứng chỉ số của Ấn Độ, trong Docker image — dạng đóng gói sẵn mà nhiều đơn vị vận hành sử dụng.
Trình xác thực là các máy tính stake ETH để bảo vệ Ethereum và nhận phí khi đề xuất khối. Một số trình xác thực kết nối với dịch vụ khác qua internet và dựa vào chứng chỉ số để bảo đảm đang trao đổi với đúng dịch vụ. Ngày 17/10, các nhà nghiên cứu phát hiện khóa riêng đứng sau tám tổ chức cấp chứng chỉ trung gian của eMudhra được tạo với độ ngẫu nhiên quá thấp. Điều đó nghĩa là có thể suy ra khóa từ chính các chứng chỉ số, vốn là thông tin công khai. Bất kỳ ai có các khóa này đều có thể phát hành chứng chỉ số mà phần mềm chưa vá vẫn chấp nhận là thật.
Các trình duyệt đã chặn các chứng chỉ số này; eMudhra thu hồi chúng một ngày sau đó và cho biết sẽ rút khỏi mảng kinh doanh chứng chỉ số.
Java, ngôn ngữ mà Teku và Besu chạy trên đó, mặc định không kiểm tra chứng chỉ số đã bị thu hồi hay chưa. Vì vậy, các Docker image của Teku tiếp tục tin cậy các chứng chỉ số xấu ngay cả sau khi trình duyệt đã loại bỏ chúng. Kẻ tấn công chen giữa trình xác thực và dịch vụ mà nó kết nối có thể giả danh dịch vụ đó.
Trong khuyến cáo bảo mật, Teku cho biết một trình xác thực bị lừa theo cách này có thể đề xuất một khối trả phí cho địa chỉ của kẻ tấn công. Một dịch vụ ký bên ngoài giả mạo — dịch vụ riêng giữ khóa của trình xác thực — có thể cung cấp chữ ký dùng để thay đổi nơi nhận phần thưởng; Teku xếp đây là kịch bản rủi ro nhất. “Một node Teku mặc định trên mạng chính không bị ảnh hưởng và không cần hành động,” nhóm viết, thêm rằng “chưa có báo cáo nào về việc bị khai thác.”
Consensys Diligence, đối tác bảo mật của Teku, là bên phát hiện vấn đề đầu tiên.
Các đơn vị vận hành Teku hoặc Besu trực tiếp trên máy, không dùng Docker, phải tự cập nhật Java, vì cập nhật phần mềm Ethereum không đụng tới danh sách chứng chỉ số tin cậy của Java. Docker image mới cũng không sửa được Java cài trên máy chủ. Những ai vẫn dùng Java 26 sẽ gặp khó hơn: Teku cho biết phiên bản này đã hết vòng đời và sẽ không có bản vá, nên các đơn vị vận hành cần chuyển sang Java 25.