Ứng dụng khách PuTTY SSH được sử dụng rộng rãi dễ bị tấn công khôi phục khóa

Những người bảo trì PuTTY Secure Shell (SSH) và máy khách Telnet đang cảnh báo người dùng về một lỗ hổng nghiêm trọng ảnh hưởng đến các phiên bản từ 0,68 đến 0,80 có thể bị khai thác để khôi phục hoàn toàn khóa riêng NIST P-521 (ecdsa-sha2-nistp521).

Lỗ hổng đã được gán cho định danh CVE CVE-2024-31497, với phát hiện được ghi nhận bởi các nhà nghiên cứu Fabian Bäumer và Marcus Brinkmann từ Đại học Ruhr Bochum.

"Ảnh hưởng của lỗ hổng là xâm phạm khóa riêng", dự án PuTTY cho biết trong một lời khuyên.

Tuy nhiên, để có được chữ ký, kẻ tấn công sẽ phải thỏa hiệp máy chủ mà khóa được sử dụng để xác thực.

Trong một thông báo được đăng trên danh sách gửi thư của Open Source Software Security (oss-sec), Bäumer mô tả lỗ hổng này bắt nguồn từ việc tạo ra các noncess mật mã ECDSA thiên vị, có thể cho phép khôi phục khóa riêng.

"9 bit đầu tiên của mỗi nonce ECDSA bằng không", Bäumer giải thích. "Điều này cho phép khôi phục khóa bí mật hoàn toàn trong khoảng 60 chữ ký bằng cách sử dụng các kỹ thuật hiện đại."

"Những chữ ký này có thể được thu thập bởi một máy chủ độc hại (các cuộc tấn công man-in-the-middle là không thể do khách hàng không truyền chữ ký của họ một cách rõ ràng) hoặc từ bất kỳ nguồn nào khác, ví dụ như git đã ký cam kết thông qua các tác nhân chuyển tiếp."

Bên cạnh việc ảnh hưởng đến PuTTY, nó cũng ảnh hưởng đến các sản phẩm khác kết hợp phiên bản phần mềm dễ bị tấn công -

  • Tập tinZilla (3.24.1 - 3.66.5)
  • WinSCP (5.9.5 - 6.3.2)
  • TortoiseGit (2.4.0.2 - 2.15.0)
  • TortoiseSVN (1.10.0 - 1.14.6)

Sau khi tiết lộ có trách nhiệm, vấn đề đã được giải quyết trong PuTTY 0.81, FileZilla 3.67.0, WinSCP 6.3.3 và TortoiseGit 2.15.0.1. Người dùng TortoiseSVN được khuyến nghị sử dụng Plink từ phiên bản PuTTY 0.81 mới nhất khi truy cập kho lưu trữ SVN thông qua SSH cho đến khi có bản vá.

Cụ thể, nó đã được giải quyết bằng cách chuyển sang kỹ thuật RFC 6979 cho tất cả các loại khóa DSA và ECDSA, từ bỏ phương pháp trước đó của nó để lấy nonce bằng cách sử dụng phương pháp xác định, trong khi tránh sự cần thiết của một nguồn ngẫu nhiên chất lượng cao, dễ bị sai lệch nonces khi sử dụng P-521.

Các khóa ECDSA NIST-P521 được sử dụng với bất kỳ thành phần dễ bị tổn thương nào phải được coi là bị xâm phạm và do đó bị thu hồi bằng cách xóa chúng khỏi các tệp ~ / .ssh / authorized_keys và các tệp tương đương của chúng trong các máy chủ SSH khác.

Mới hơn Cũ hơn