ช่องโหว่ใน GitLab ที่อนุญาตให้มีการขโมยบัญชีและดำเนินการคำสั่งภายใต้ผู้ใช้รายอื่น

มีการเผยแพร่การอัปเดตแก้ไขแพลตฟอร์มสำหรับการจัดการการพัฒนาความร่วมมือ - GitLab 16.7.2, 16.6.4 และ 16.5.6 ซึ่งแก้ไขช่องโหว่ที่สำคัญสองรายการ ช่องโหว่แรก (CVE-2023-7028) ซึ่งได้รับการกำหนดระดับความรุนแรงสูงสุด (10 จาก 10) ช่วยให้คุณสามารถยึดบัญชีของผู้อื่นผ่านการจัดการแบบฟอร์มการกู้คืนรหัสผ่านที่ถูกลืม ช่องโหว่นี้เกิดจากความเป็นไปได้ในการส่งอีเมลพร้อมรหัสรีเซ็ตรหัสผ่านไปยังที่อยู่อีเมลที่ไม่ได้รับการยืนยัน ปัญหาเกิดขึ้นตั้งแต่การเปิดตัว GitLab 16.1.0 ซึ่งแนะนำความสามารถในการส่งรหัสกู้คืนรหัสผ่านไปยังที่อยู่อีเมลสำรองที่ไม่ได้รับการยืนยัน

ในการตรวจสอบข้อเท็จจริงของการประนีประนอมของระบบ ขอแนะนำให้ประเมินใน gitlab-rails/production_json.log บันทึกการมีอยู่ของคำขอ HTTP ไปยังตัวจัดการ /users/password ที่ระบุอาร์เรย์ของอีเมลหลายฉบับใน “params.value.email ” พารามิเตอร์ ขอแนะนำให้ตรวจสอบรายการในบันทึก gitlab-rails/audit_json.log ด้วยค่า PasswordsController#create ใน meta.caller.id และระบุอาร์เรย์ของที่อยู่ต่างๆ ในบล็อก target_details การโจมตีไม่สามารถเสร็จสิ้นได้หากผู้ใช้เปิดใช้งานการรับรองความถูกต้องด้วยสองปัจจัย

ช่องโหว่ที่สอง CVE-2023-5356 มีอยู่ในโค้ดสำหรับใช้งานร่วมกับบริการ Slack และ Mattermost และอนุญาตให้คุณดำเนินการ /-commands ภายใต้ผู้ใช้รายอื่นเนื่องจากไม่มีการตรวจสอบการอนุญาตที่เหมาะสม ปัญหานี้ได้รับการกำหนดระดับความรุนแรงไว้ที่ 9.6 จาก 10 เวอร์ชันใหม่ยังกำจัดช่องโหว่ที่เป็นอันตรายน้อยกว่า (7.6 จาก 10) (CVE-2023-4812) ซึ่งช่วยให้คุณสามารถข้ามการอนุมัติ CODEOWNERS ได้ด้วยการเพิ่มการเปลี่ยนแปลงไปยังเวอร์ชันที่ได้รับการอนุมัติก่อนหน้านี้ คำขอรวม

ข้อมูลโดยละเอียดเกี่ยวกับช่องโหว่ที่ระบุได้รับการวางแผนให้เปิดเผย 30 วันหลังจากการเผยแพร่การแก้ไข ช่องโหว่ดังกล่าวถูกส่งไปยัง GitLab โดยเป็นส่วนหนึ่งของโปรแกรมรางวัลช่องโหว่ของ HackerOne

ที่มา: opennet.ru

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