Phát hành OpenSSH 8.9 với việc loại bỏ lỗ hổng trong sshd

Sau sáu tháng phát triển, việc phát hành OpenSSH 8.9, một triển khai máy khách và máy chủ mở để hoạt động trên các giao thức SSH 2.0 và SFTP, đã được trình làng. Phiên bản mới của sshd sửa một lỗ hổng có khả năng cho phép truy cập không được xác thực. Sự cố xảy ra do tràn số nguyên trong mã xác thực nhưng chỉ có thể bị khai thác kết hợp với các lỗi logic khác trong mã.

Ở dạng hiện tại, lỗ hổng này không thể bị khai thác khi chế độ phân tách đặc quyền được bật vì biểu hiện của nó bị chặn bởi các kiểm tra riêng biệt được thực hiện trong mã theo dõi phân tách đặc quyền. Chế độ phân tách đặc quyền đã được bật theo mặc định kể từ năm 2002 kể từ OpenSSH 3.2.2 và là bắt buộc kể từ khi phát hành OpenSSH 7.5 được xuất bản vào năm 2017. Ngoài ra, trong các phiên bản di động của OpenSSH bắt đầu từ bản phát hành 6.5 (2014), lỗ hổng này bị chặn bằng cách biên dịch với các cờ bảo vệ tràn số nguyên.

Các thay đổi khác:

  • Phiên bản di động của OpenSSH trong sshd đã loại bỏ hỗ trợ riêng cho việc băm mật khẩu bằng thuật toán MD5 (cho phép liên kết với các thư viện bên ngoài như libxcrypt để trả về).
  • ssh, sshd, ssh-add và ssh-agent triển khai một hệ thống con để hạn chế việc chuyển tiếp và sử dụng các khóa được thêm vào ssh-agent. Hệ thống con cho phép bạn đặt các quy tắc xác định cách thức và vị trí các khóa có thể được sử dụng trong ssh-agent. Ví dụ: để thêm khóa chỉ có thể dùng để xác thực bất kỳ người dùng nào kết nối với máy chủ scylla.example.org, người dùng perseus với máy chủ cetus.example.org và người dùng medea với máy chủ charybdis.example.org với chuyển hướng thông qua máy chủ trung gian scylla.example.org, bạn có thể sử dụng lệnh sau: $ ssh-add -h "[email được bảo vệ]" \ -h "scylla.example.org" \ -h "scylla.example.org>[email được bảo vệ]\ ~/.ssh/id_ed25519
  • Trong ssh và sshd, theo mặc định, một thuật toán kết hợp đã được thêm vào danh sách KexAlgorithms, thuật toán này xác định thứ tự các phương thức trao đổi khóa được chọn.[email được bảo vệ]"(ECDH/x25519 + NTRU Prime), có khả năng chống lựa chọn trên máy tính lượng tử. Trong OpenSSH 8.9, phương thức đàm phán này đã được thêm vào giữa phương thức ECDH và DH, nhưng nó được lên kế hoạch bật theo mặc định trong bản phát hành tiếp theo.
  • ssh-keygen, ssh và ssh-agent đã cải thiện khả năng xử lý các khóa mã thông báo FIDO dùng để xác minh thiết bị, bao gồm cả các khóa để xác thực sinh trắc học.
  • Đã thêm lệnh "ssh-keygen -Y match-principals" vào ssh-keygen để kiểm tra tên người dùng trong tệp allownamelist.
  • ssh-add và ssh-agent cung cấp khả năng thêm khóa FIDO được bảo vệ bằng mã PIN vào ssh-agent (yêu cầu mã PIN được hiển thị tại thời điểm xác thực).
  • ssh-keygen cho phép lựa chọn thuật toán băm (sha512 hoặc sha256) trong quá trình tạo chữ ký.
  • Trong ssh và sshd, để cải thiện hiệu suất, dữ liệu mạng được đọc trực tiếp vào bộ đệm của các gói đến, bỏ qua bộ đệm trung gian trên ngăn xếp. Việc đặt trực tiếp dữ liệu nhận được vào bộ đệm kênh được thực hiện theo cách tương tự.
  • Trong ssh, lệnh PubkeyAuthentication đã mở rộng danh sách các tham số được hỗ trợ (yes|no|unbound|host-bound) để cung cấp khả năng chọn phần mở rộng giao thức để sử dụng.

Trong bản phát hành trong tương lai, chúng tôi dự định thay đổi mặc định của tiện ích scp để sử dụng SFTP thay vì giao thức SCP/RCP cũ. SFTP sử dụng các phương pháp xử lý tên dễ dự đoán hơn và không sử dụng xử lý shell các mẫu toàn cầu trong tên tệp ở phía máy chủ khác, điều này tạo ra các vấn đề bảo mật. Đặc biệt, khi sử dụng SCP và RCP, máy chủ sẽ quyết định tệp 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ề, nếu không có sự kiểm tra thích hợp ở phía máy khách, sẽ cho phép máy chủ để chuyển các tên tệp khác khác với tên được yêu cầu. Giao thức SFTP không gặp phải những vấn đề này nhưng không hỗ trợ mở rộng các đường dẫn đặc biệt như “~/”. Để giải quyết sự khác biệt này, bản phát hành OpenSSH trước đó đã giới thiệu phần mở rộng giao thức SFTP mới cho các đường dẫn ~/ và ~user/ trong quá trình triển khai máy chủ SFTP.

Nguồn: opennet.ru

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