Okta พบบั๊กผู้ใช้ล็อกอินโดยไม่ต้องรู้ password บางกรณีหาก username ยาวเกิน 52 ตัว

by lew
2 November 2024 - 03:49

Okta รายงานช่องโหว่ซอฟต์แวร์ Okta AD/LDAP DelAuth ที่เชื่อม Okta เข้ากับซอฟต์แวร์ Active Directory หรือ LDAP ที่ใช้ล็อกอินภายในองค์กร โดยผู้ใช้ที่ username ยาวเกิน 52 ตัว

ปัญหาที่เกิดขึ้นเพราะระบบแคชของ DelAuth ที่ใช้ฟังก์ชั่น bcrypt ที่รองรับอินพุตสำหรับการแฮชได้เพียง 72 ตัวอักษรเท่านั้น การสร้างแคชคีย์ของ DelAuth นั้นเรียก bcrypt(userID+username+password) เมื่อชื่อผู้ใช้ยาวเกินไปทำให้มีเพียง userID และ username ที่ถูกแฮช ทาง Okta แก้ช่องโหว่นี้ด้วยการเปลี่ยนไปใช้ PBKDF2 ที่ไม่มีข้อจำกัดความยาวอินพุต เพราะข้อมูลถูกแฮชก่อนเสมอ

การโจมตีช่องโหว่นี้ ผู้ใช้ต้องเคยล็อกอินผ่าน DelAuth มาก่อนเพื่อให้เกิดแคช จากนั้นอาจจะล็อกอินสำเร็จ หาก agent ไม่ทำงานหรือระบบมีการล็อกอินจำนวนมาก ทำให้ระบบเลือกใช้ข้อมูลแคชก่อน

ทาง Okta พบปัญหานี้ด้วยตัวเอง และแก้ไขเรียบร้อยแล้ว

ที่มา - Okta

Blognone Jobs Premium