การเปิดตัว OpenSSH 9.6 พร้อมการกำจัดช่องโหว่

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

  • ช่องโหว่ในโปรโตคอล SSH (การโจมตี CVE-2023-48795, “Terrapin”) ซึ่งช่วยให้การโจมตี MITM สามารถย้อนกลับการเชื่อมต่อเพื่อใช้อัลกอริธึมการรับรองความถูกต้องที่มีความปลอดภัยน้อยกว่า และปิดใช้งานการป้องกันการโจมตีช่องทางด้านข้างที่สร้างอินพุตใหม่โดยการวิเคราะห์ความล่าช้า ระหว่างการกดแป้นพิมพ์บนแป้นพิมพ์ วิธีการโจมตีมีอธิบายไว้ในบทความข่าวแยกต่างหาก
  • ช่องโหว่ในยูทิลิตี้ ssh ที่อนุญาตให้ทดแทนคำสั่งเชลล์โดยพลการผ่านการจัดการค่าล็อกอินและโฮสต์ที่มีอักขระพิเศษ ช่องโหว่นี้สามารถถูกโจมตีได้หากผู้โจมตีควบคุมการเข้าสู่ระบบและค่าชื่อโฮสต์ที่ส่งไปยังคำสั่ง ssh, ProxyCommand และ LocalCommand หรือบล็อก "match exec" ที่มีอักขระไวด์การ์ด เช่น %u และ %h ตัวอย่างเช่น การเข้าสู่ระบบและโฮสต์ที่ไม่ถูกต้องสามารถทดแทนได้ในระบบที่ใช้โมดูลย่อยใน Git เนื่องจาก Git ไม่ได้ห้ามไม่ให้ระบุอักขระพิเศษในชื่อโฮสต์และชื่อผู้ใช้ ช่องโหว่ที่คล้ายกันยังปรากฏใน libssh
  • มีข้อบกพร่องใน ssh-agent เมื่อเพิ่มคีย์ส่วนตัว PKCS#11 ข้อจำกัดจะมีผลกับคีย์แรกที่ส่งคืนโดยโทเค็น PKCS#11 เท่านั้น ปัญหานี้ไม่ส่งผลต่อคีย์ส่วนตัวทั่วไป โทเค็น FIDO หรือคีย์ที่ไม่จำกัด

การเปลี่ยนแปลงอื่นๆ:

  • เพิ่มการทดแทน "%j" ใน ssh โดยขยายไปสู่ชื่อโฮสต์ที่ระบุผ่านคำสั่ง ProxyJump
  • ssh ได้เพิ่มการรองรับการตั้งค่า ChannelTimeout บนฝั่งไคลเอ็นต์ ซึ่งสามารถใช้เพื่อยุติช่องที่ไม่ได้ใช้งาน
  • เพิ่มการรองรับการอ่านคีย์ส่วนตัว ED25519 ในรูปแบบ PEM PKCS8 เป็น ssh, sshd, ssh-add และ ssh-keygen (ก่อนหน้านี้รองรับเฉพาะรูปแบบ OpenSSH เท่านั้น)
  • มีการเพิ่มส่วนขยายโปรโตคอลใน ssh และ sshd เพื่อเจรจาอัลกอริธึมลายเซ็นดิจิทัลใหม่สำหรับการตรวจสอบสิทธิ์คีย์สาธารณะหลังจากได้รับชื่อผู้ใช้แล้ว ตัวอย่างเช่น เมื่อใช้ส่วนขยาย คุณสามารถเลือกใช้อัลกอริธึมอื่นที่เกี่ยวข้องกับผู้ใช้โดยระบุ PubkeyAcceptedAlgorithms ในบล็อก "Match user"
  • เพิ่มส่วนขยายโปรโตคอลให้กับ ssh-add และ ssh-agent เพื่อตั้งค่าใบรับรองเมื่อโหลดคีย์ PKCS#11 ทำให้สามารถใช้ใบรับรองที่เกี่ยวข้องกับคีย์ส่วนตัว PKCS#11 ในยูทิลิตี้ OpenSSH ทั้งหมดที่รองรับ ssh-agent ไม่ใช่แค่ ssh
  • ปรับปรุงการตรวจจับแฟล็กคอมไพเลอร์ที่ไม่รองรับหรือไม่เสถียร เช่น "-fzero-call-used-regs" ในภาษา clang
  • หากต้องการจำกัดสิทธิ์ของกระบวนการ sshd เวอร์ชันของ OpenSolaris ที่รองรับอินเทอร์เฟซ getpflags() จะใช้โหมด PRIV_XPOLICY แทน PRIV_LIMIT

ที่มา: opennet.ru

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