ช่องโหว่การเรียกใช้โค้ดจากระยะไกล StrongSwan IPsec

strongSwan 5.9.10 พร้อมใช้งานแล้ว ซึ่งเป็นแพ็คเกจฟรีสำหรับการสร้างการเชื่อมต่อ VPN โดยใช้โปรโตคอล IPSec ที่ใช้ใน Linux, Android, FreeBSD และ macOS เวอร์ชันใหม่กำจัดช่องโหว่ที่เป็นอันตราย (CVE-2023-26463) ที่สามารถใช้เพื่อเลี่ยงผ่านการรับรองความถูกต้อง แต่อาจนำไปสู่การเรียกใช้โค้ดของผู้โจมตีบนเซิร์ฟเวอร์หรือฝั่งไคลเอ็นต์ด้วย ปัญหาเกิดขึ้นเมื่อตรวจสอบใบรับรองที่ออกแบบมาเป็นพิเศษในวิธีการรับรองความถูกต้อง EAP (Extensible Authentication Protocol) ที่ใช้ TLS

ช่องโหว่นี้เกิดจากการที่ตัวจัดการ TLS ยอมรับคีย์สาธารณะจากใบรับรองของเพียร์อย่างไม่ถูกต้อง โดยพิจารณาว่าคีย์เหล่านั้นเชื่อถือได้ แม้ว่าใบรับรองจะไม่สามารถตรวจสอบได้สำเร็จก็ตาม โดยเฉพาะอย่างยิ่ง เมื่อเรียกใช้ฟังก์ชัน tls_find_public_key() ระบบจะใช้การเลือกตามประเภทคีย์สาธารณะเพื่อพิจารณาว่าใบรับรองใดน่าเชื่อถือ ปัญหาคือตัวแปรที่ใช้ในการกำหนดประเภทคีย์สำหรับการดำเนินการค้นหาได้รับการตั้งค่าไว้อยู่แล้ว แม้ว่าใบรับรองจะไม่น่าเชื่อถือก็ตาม

นอกจากนี้ ด้วยการจัดการคีย์ คุณสามารถลดตัวนับการอ้างอิงได้ (หากใบรับรองไม่น่าเชื่อถือ การอ้างอิงไปยังออบเจ็กต์จะถูกปล่อยออกมาหลังจากกำหนดประเภทของคีย์) และเพิ่มหน่วยความจำสำหรับออบเจ็กต์ที่ยังใช้งานอยู่ด้วยคีย์ ข้อบกพร่องนี้ไม่ได้ยกเว้นการสร้างช่องโหว่เพื่อรั่วไหลข้อมูลจากหน่วยความจำและเรียกใช้โค้ดที่กำหนดเอง

การโจมตีบนเซิร์ฟเวอร์ดำเนินการผ่านไคลเอ็นต์ที่ส่งใบรับรองที่ลงนามด้วยตนเองเพื่อตรวจสอบสิทธิ์ไคลเอ็นต์โดยใช้วิธี EAP-TLS, EAP-TTLS, EAP-PEAP และ EAP-TNC การโจมตีไคลเอนต์สามารถดำเนินการผ่านเซิร์ฟเวอร์ที่ส่งคืนใบรับรองที่ออกแบบมาเป็นพิเศษ ช่องโหว่นี้ปรากฏใน strongSwan รุ่น 5.9.8 และ 5.9.9 สามารถติดตามการเผยแพร่การอัปเดตแพ็คเกจในการแจกแจงได้ที่หน้า: Debian, Ubuntu, Gentoo, RHEL, SUSE, Arch, FreeBSD, NetBSD

ที่มา: opennet.ru

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