7 điểm bởi kuroneko 2023-07-20 | 3 bình luận | Chia sẻ qua WhatsApp
  • Qualys đã phát hiện một lỗ hổng trong OpenSSH cho phép thực thi mã từ xa thông qua SSH agent được chuyển tiếp.
  • Tính năng chuyển tiếp SSH agent chủ yếu được dùng trong CI/CD và các trường hợp tương tự, khi muốn thử đăng nhập bằng thông tin xác thực ở máy từ xa mà không lưu trực tiếp thông tin xác thực đó.
  • Lỗ hổng phát sinh ở phần SSH agent cho phép hỗ trợ PKCS11.
    • Để hỗ trợ PKCS11, hệ thống cho phép người dùng từ xa nạp và đóng các thư viện chia sẻ ở những vị trí được tin cậy.
    • Kết quả thử nghiệm với toàn bộ các thư viện chia sẻ được cài đặt mặc định trên Ubuntu Desktop cho thấy các thư viện mặc định thường không được thiết kế để có thể bị đóng, nên khi SSH agent đóng chúng sẽ phát sinh lỗi.
    • Các lỗi này tạo ra một số tín hiệu hệ thống, và bằng cách kết hợp chúng, nhóm nghiên cứu đã thành công trong việc thực thi mã tùy ý từ xa.
  • OpenSSH đã sửa bằng cách đơn giản là vô hiệu hóa hỗ trợ PKCS11 từ xa và quản lý thư viện chia sẻ theo cơ chế whitelist.
    • Trước đây có thể nạp mọi thư viện chia sẻ nằm dưới thư mục lib.
  • Nếu đang sử dụng tính năng chuyển tiếp SSH agent, bạn nên vô hiệu hóa hỗ trợ PKCS11 khi không cần thiết.

3 bình luận

 
galadbran 2023-07-20

Là tắt cài đặt này trên PC cá nhân à? Hay là cài đặt phía máy chủ...

 
kuroneko 2023-07-21

Nếu bạn chưa từng dùng tính năng chuyển tiếp ssh-agent forwarding, có vẻ như bạn sẽ không bị ảnh hưởng gì.

 
kuroneko 2023-07-20

Mình có lướt qua phần mô tả chi tiết của lỗ hổng, nhưng thật sự là không hiểu nổi...
Nào là handler SIGBUS, SIGSEGV gì đó rồi làm phát sinh SIGTRAP, lại còn lưu thứ gì đó vào stack buffer và dẫn cho nó nhảy sang bên đó...

Nghe nói tất cả những thứ đó đều được điều khiển bằng việc load/unload thư viện, nhưng thành thật mà nói thì mình cũng không hiểu họ đang nói gì nữa.
Chỉ kiểu là à, ra là vậy... thế thôi.

Nếu bạn nào quan tâm thì có một tài liệu rất chi tiết, hình như còn kèm cả ví dụ nữa,
khuyên mọi người nên đọc thử một lần.