GitHub đã chặn các khóa SSH được tạo bằng thư viện cặp khóa

GitHub đã chặn các khóa SSH đối với người dùng ứng dụng khách Git sử dụng thư viện JavaScript cặp khóa để tạo khóa. Ví dụ: các khóa của ứng dụng khách Git GitKraken đã bị chặn. Lỗ hổng này dẫn đến việc tạo ra các khóa RSA có thể dự đoán được do lỗi làm giảm đáng kể chất lượng entropy khi tạo chuỗi ngẫu nhiên cho các khóa. Sự cố đã được khắc phục trong các bản phát hành cặp khóa 1.0.4 và GitKraken 8.0.1.

Nguyên nhân của lỗ hổng này là do việc sử dụng lệnh gọi “b.putByte(String.fromCharCode(next & 0xFF))” trong quá trình hình thành khóa, mặc dù thực tế là phương thức fromCharCode đã được gọi lại trong phương thức putByte. Gọi fromCharCode hai lần (“String.fromCharCode( String.fromCharCode(next & 0xFF)”) dẫn đến hầu hết bộ đệm entropy chứa đầy các số 97, tức là. khóa được tạo dựa trên dữ liệu “ngẫu nhiên”, XNUMX% bao gồm số không.

Nguồn: opennet.ru

Thêm một lời nhận xét