อัปเดต OpenSSH 9.3 พร้อมการแก้ไขความปลอดภัย

เปิดตัว OpenSSH 9.3 แล้ว ซึ่งเป็นการใช้งานแบบเปิดของไคลเอนต์และเซิร์ฟเวอร์สำหรับการทำงานโดยใช้โปรโตคอล SSH 2.0 และ SFTP เวอร์ชันใหม่แก้ไขปัญหาด้านความปลอดภัย:

  • ตรวจพบข้อผิดพลาดเชิงตรรกะในยูทิลิตี้ ssh-add เนื่องจากเมื่อเพิ่มคีย์สำหรับสมาร์ทการ์ดไปยัง ssh-agent ข้อ จำกัด ที่ระบุโดยใช้ตัวเลือก "ssh-add -h" จะไม่ถูกส่งไปยังตัวแทน เป็นผลให้มีการเพิ่มคีย์ให้กับตัวแทน ซึ่งไม่มีข้อจำกัดใด ๆ เกิดขึ้น อนุญาตการเชื่อมต่อจากบางโฮสต์เท่านั้น
  • มีการระบุช่องโหว่ในยูทิลิตี้ ssh ที่อาจนำไปสู่การอ่านข้อมูลจากพื้นที่สแต็กภายนอกบัฟเฟอร์ที่จัดสรรเมื่อประมวลผลการตอบสนอง DNS ที่มีรูปแบบพิเศษ หากเปิดใช้งานการตั้งค่า VerifyHostKeyDNS ในไฟล์กำหนดค่า ปัญหาอยู่ที่การใช้งานฟังก์ชัน getrrsetbyname() ในตัว ซึ่งใช้ใน OpenSSH เวอร์ชันพกพาที่คอมไพล์โดยไม่ต้องใช้ไลบรารี ldns ภายนอก (-with-ldns) และบนระบบที่มีไลบรารีมาตรฐานที่ไม่รองรับ getrrsetbyname( ) เรียก. ความเป็นไปได้ของการใช้ประโยชน์จากช่องโหว่ นอกเหนือจากการเริ่มต้นการปฏิเสธการให้บริการกับไคลเอ็นต์ ssh นั้นได้รับการประเมินว่าไม่น่าเป็นไปได้

นอกจากนี้ คุณยังสามารถสังเกตช่องโหว่ในไลบรารี libskey ที่รวมอยู่ใน OpenBSD ซึ่งใช้ใน OpenSSH ปัญหานี้เกิดขึ้นมาตั้งแต่ปี 1997 และอาจทำให้เกิดบัฟเฟอร์ล้นสแต็กเมื่อประมวลผลชื่อโฮสต์ที่จัดรูปแบบพิเศษ มีข้อสังเกตว่าแม้ว่าการสำแดงช่องโหว่สามารถเริ่มต้นจากระยะไกลผ่าน OpenSSH ได้ แต่ในทางปฏิบัติ ช่องโหว่นั้นไม่มีประโยชน์ เนื่องจากเพื่อให้ปรากฏออกมาเอง ชื่อของโฮสต์ที่ถูกโจมตี (/etc/hostname) จะต้องมีมากกว่า 126 อักขระ และบัฟเฟอร์สามารถล้นได้เฉพาะอักขระที่มีรหัสศูนย์ ('\0')

การเปลี่ยนแปลงที่ไม่เกี่ยวกับความปลอดภัยได้แก่:

  • เพิ่มการรองรับพารามิเตอร์ "-Ohashalg=sha1|sha256" ให้กับ ssh-keygen และ ssh-keyscan เพื่อเลือกอัลกอริธึมการแสดงนักเก็ต SSHFP
  • sshd ได้เพิ่มตัวเลือก "-G" เพื่อแยกวิเคราะห์และแสดงการกำหนดค่าที่ใช้งานอยู่โดยไม่ต้องพยายามโหลดคีย์ส่วนตัวและไม่ต้องดำเนินการตรวจสอบเพิ่มเติม ซึ่งช่วยให้คุณสามารถตรวจสอบการกำหนดค่าในขั้นตอนก่อนการสร้างคีย์และดำเนินการตรวจสอบโดยผู้ใช้ที่ไม่มีสิทธิพิเศษ
  • sshd ปรับปรุงการแยกบนแพลตฟอร์ม Linux โดยใช้กลไกการกรองการโทรของระบบ seccomp และ seccomp-bpf มีการเพิ่มแฟล็กสำหรับ mmap, madvise และ futex ในรายการการเรียกของระบบที่อนุญาต

ที่มา: opennet.ru

เพิ่มความคิดเห็น