Bản phát hành OpenSSH 8.3 với bản sửa lỗi lỗ hổng scp

Sau ba tháng phát triển trình bày giải phóng OpenSSH 8.3, một triển khai máy khách và máy chủ mở để làm việc thông qua giao thức SSH 2.0 và SFTP.

Bản phát hành mới bổ sung thêm khả năng bảo vệ chống lại các cuộc tấn công scp cho phép máy chủ chuyển các tên tệp khác ngoài những tên được yêu cầu (ngược lại với lỗ hổng trong quá khứ, cuộc tấn công không thể thay đổi thư mục hoặc mặt nạ toàn cầu do người dùng chọn). Hãy nhớ lại rằng trong SCP, máy chủ quyết định tập tin và thư mục nào sẽ gửi cho máy khách và máy khách chỉ kiểm tra tính chính xác của tên đối tượng được trả về. Bản chất của vấn đề đã xác định là nếu lệnh gọi hệ thống utimes không thành công thì nội dung của tệp sẽ được hiểu là siêu dữ liệu của tệp.

Tính năng này, khi kết nối với máy chủ do kẻ tấn công kiểm soát, có thể được sử dụng để lưu tên tệp khác và nội dung khác trong FS của người dùng khi sao chép bằng scp trong các cấu hình dẫn đến lỗi khi gọi utimes (ví dụ: khi utimes bị cấm bởi chính sách SELinux hoặc bộ lọc cuộc gọi hệ thống). Khả năng xảy ra các cuộc tấn công thực sự được ước tính là rất nhỏ, vì trong cấu hình thông thường, lệnh gọi utimes không thất bại. Ngoài ra, cuộc tấn công không được chú ý - khi gọi scp, lỗi truyền dữ liệu sẽ hiển thị.

Những thay đổi chung:

  • Trong sftp, quá trình xử lý đối số “-1” đã bị dừng, tương tự như ssh và scp, trước đây đã được chấp nhận nhưng bị bỏ qua;
  • Trong sshd, khi sử dụng IgnoreRhosts, hiện có ba lựa chọn: "có" - bỏ qua rhosts/shosts, "no" - tôn trọng rhosts/shosts, và "chỉ shosts" - cho phép ".shosts" nhưng tắt ".rhosts";
  • Ssh hiện hỗ trợ thay thế %TOKEN trong cài đặt LocalFoward và RemoteForward được sử dụng để chuyển hướng ổ cắm Unix;
  • Cho phép tải khóa chung từ tệp không được mã hóa bằng khóa riêng nếu không có tệp riêng có khóa chung;
  • Nếu libcrypto có sẵn trong hệ thống, ssh và sshd hiện sử dụng triển khai thuật toán chacha20 từ thư viện này, thay vì triển khai di động tích hợp sẵn, vốn bị chậm về hiệu suất;
  • Đã triển khai khả năng kết xuất nội dung của danh sách nhị phân các chứng chỉ bị thu hồi khi thực hiện lệnh “ssh-keygen -lQf /path”;
  • Phiên bản di động triển khai các định nghĩa về hệ thống trong đó các tín hiệu có tùy chọn SA_RESTART làm gián đoạn hoạt động của lựa chọn;
  • Giải quyết các vấn đề khi lắp ráp trên hệ thống HP/UX và AIX;
  • Đã khắc phục sự cố khi xây dựng hộp cát seccomp trên một số cấu hình Linux;
  • Cải thiện khả năng phát hiện thư viện libfido2 và giải quyết các vấn đề về bản dựng bằng tùy chọn "--with-security-key-buildin".

Các nhà phát triển OpenSSH cũng một lần nữa cảnh báo về sự phân rã sắp xảy ra của các thuật toán sử dụng hàm băm SHA-1 do tăng hiệu quả của các cuộc tấn công va chạm với tiền tố nhất định (chi phí chọn va chạm ước tính khoảng 45 nghìn đô la). Trong một trong những bản phát hành sắp tới, họ có kế hoạch vô hiệu hóa theo mặc định khả năng sử dụng thuật toán chữ ký số khóa công khai “ssh-rsa”, được đề cập trong RFC gốc cho giao thức SSH và vẫn phổ biến trong thực tế (để kiểm tra việc sử dụng của ssh-rsa trong hệ thống của mình, bạn có thể thử kết nối qua ssh với tùy chọn “-oHostKeyAlgorithms=-ssh-rsa”).

Để quá trình chuyển đổi sang các thuật toán mới trong OpenSSH diễn ra suôn sẻ, trong bản phát hành trong tương lai, cài đặt UpdateHostKeys sẽ được bật theo mặc định, cài đặt này sẽ tự động di chuyển máy khách sang các thuật toán đáng tin cậy hơn. Các thuật toán được đề xuất để di chuyển bao gồm rsa-sha2-256/512 dựa trên RFC8332 RSA SHA-2 (được hỗ trợ kể từ OpenSSH 7.2 và được sử dụng theo mặc định), ssh-ed25519 (được hỗ trợ kể từ OpenSSH 6.5) và dựa trên ecdsa-sha2-nistp256/384/521 trên RFC5656 ECDSA (được hỗ trợ kể từ OpenSSH 5.7).

Kể từ bản phát hành gần đây nhất, "ssh-rsa" và "diffie-hellman-group14-sha1" đã bị xóa khỏi danh sách CASsignatureAlgorithms xác định các thuật toán được phép ký điện tử chứng chỉ mới, vì việc sử dụng SHA-1 trong chứng chỉ sẽ gây ra rủi ro bổ sung do đó kẻ tấn công có không giới hạn thời gian để tìm kiếm xung đột cho chứng chỉ hiện có, trong khi thời gian tấn công vào khóa máy chủ bị giới hạn bởi thời gian chờ kết nối (LoginGraceTime).

Nguồn: opennet.ru

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