ความฉลาดทางข้อมูลเชิงกำเนิด

PoC ใช้ประโยชน์จากความเสี่ยงที่เพิ่มขึ้นรอบ ๆ New Jenkins Vuln ที่สำคัญ

วันที่:

เซิร์ฟเวอร์ Jenkins ที่ถูกเปิดเผยทางอินเทอร์เน็ตจำนวน 45,000 เครื่องยังคงไม่ได้รับการแพตช์เพื่อรับมือกับช่องโหว่ในการอ่านไฟล์ที่สำคัญซึ่งเพิ่งเปิดเผยเมื่อเร็ว ๆ นี้ ซึ่งขณะนี้โค้ดพิสูจน์การใช้ประโยชน์เปิดเผยต่อสาธารณะแล้ว

CVE-2024-23897 ส่งผลกระทบต่ออินเทอร์เฟซบรรทัดคำสั่ง (CLI) ของ Jenkins ในตัว และอาจนำไปสู่การเรียกใช้โค้ดจากระยะไกลบนระบบที่ได้รับผลกระทบ ทีมโครงสร้างพื้นฐานของ Jenkins เปิดเผยช่องโหว่และเผยแพร่ซอฟต์แวร์เวอร์ชันอัปเดตเมื่อวันที่ 24 มกราคม

การใช้ประโยชน์แบบพิสูจน์แนวคิด

ตั้งแต่นั้นมา การใช้ประโยชน์จากการพิสูจน์แนวคิด (PoC) รหัสพร้อมใช้งานสำหรับข้อบกพร่องแล้วและมีรายงานผู้โจมตีบางส่วน พยายามแสวงหาประโยชน์อย่างแข็งขัน มัน. เมื่อวันที่ 29 มกราคม องค์กร ShadowServer ที่ไม่แสวงหากำไร ซึ่งทำหน้าที่ตรวจสอบอินเทอร์เน็ตเพื่อหากิจกรรมที่เป็นอันตราย รายงานการสังเกตประมาณ 45,000 อินสแตนซ์ที่เปิดเผยทางอินเทอร์เน็ตของ Jenkins ที่เสี่ยงต่อ CVE-2024-23897 อินสแตนซ์ที่มีช่องโหว่เกือบ 12,000 รายการตั้งอยู่ในสหรัฐอเมริกา ประเทศจีนมีระบบที่มีช่องโหว่เกือบมากตามข้อมูลของ ShadowServer

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

นักพัฒนาใช้ Jenkins CLI เพื่อเข้าถึงและจัดการ Jenkins จากสคริปต์หรือสภาพแวดล้อมเชลล์ CVE-2024-23897 มีอยู่ในคุณลักษณะตัวแยกวิเคราะห์คำสั่ง CLI ที่เปิดใช้งานตามค่าเริ่มต้นใน Jenkins เวอร์ชัน 2.441 และเก่ากว่า และ Jenkins LTS 2.426.2 และเก่ากว่า

“สิ่งนี้ช่วยให้ผู้โจมตีสามารถอ่านไฟล์ที่กำหนดเองบนระบบไฟล์คอนโทรลเลอร์ Jenkins โดยใช้การเข้ารหัสอักขระเริ่มต้นของกระบวนการคอนโทรลเลอร์ Jenkins” ทีมงาน Jenkins กล่าวใน คำแนะนำวันที่ 24 ม.ค. ข้อบกพร่องดังกล่าวทำให้ผู้โจมตีสามารถอ่านไฟล์ทั้งหมดได้โดยได้รับอนุญาตจาก Overall/Read ซึ่งเป็นสิ่งที่ผู้ใช้ Jenkins ส่วนใหญ่ต้องการ ผู้โจมตีที่ไม่ได้รับอนุญาตนั้นจะยังสามารถอ่านไฟล์สองสามบรรทัดแรกได้ ทีมเจนกินส์กล่าวในคำแนะนำ

เวกเตอร์หลายตัวสำหรับ RCE

ช่องโหว่นี้ยังทำให้ไฟล์ไบนารี่ที่มีความเสี่ยงซึ่งมีคีย์การเข้ารหัสที่ใช้สำหรับฟีเจอร์ต่างๆ ของ Jenkins เช่น การจัดเก็บข้อมูลรับรอง การลงนามสิ่งประดิษฐ์ การเข้ารหัสและการถอดรหัส และการสื่อสารที่ปลอดภัย ในสถานการณ์ที่ผู้โจมตีอาจใช้ประโยชน์จากช่องโหว่เพื่อรับคีย์การเข้ารหัสจากไฟล์ไบนารี อาจมีการโจมตีหลายครั้ง คำแนะนำของ Jenkins เตือน ซึ่งรวมถึงการโจมตีการเรียกใช้โค้ดจากระยะไกล (RCE) เมื่อเปิดใช้งานฟังก์ชัน Resource Root URL RCE ผ่านคุกกี้ “จดจำฉัน” RCE ผ่านการโจมตีด้วยสคริปต์ข้ามไซต์ และการโจมตีโค้ดระยะไกลที่เลี่ยงการป้องกันการปลอมแปลงคำขอข้ามไซต์ คำแนะนำดังกล่าว

เมื่อผู้โจมตีสามารถเข้าถึงคีย์การเข้ารหัสในไฟล์ไบนารี่ผ่าน CVE-2024-23897 พวกเขายังสามารถถอดรหัสความลับที่เก็บไว้ใน Jenkins ลบข้อมูล หรือดาวน์โหลด Java heap dump ได้ ทีม Jenkins กล่าว

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

Yaniv Nizry นักวิจัยด้านความปลอดภัยของ Sonar ผู้ค้นพบช่องโหว่ดังกล่าว ยืนยันว่านักวิจัยคนอื่นๆ สามารถสร้างข้อบกพร่องขึ้นมาใหม่ได้และมี PoC ที่ใช้งานได้

“เนื่องจากเป็นไปได้ที่จะใช้ประโยชน์จากช่องโหว่ที่ไม่ได้รับการรับรองความถูกต้อง ในระดับหนึ่ง จึงเป็นเรื่องง่ายมากที่จะค้นพบระบบที่มีช่องโหว่” Nizry กล่าว “เกี่ยวกับการใช้ประโยชน์ หากผู้โจมตีสนใจที่จะยกระดับการอ่านไฟล์ตามอำเภอใจไปสู่การเรียกใช้โค้ด ก็จำเป็นต้องมีความเข้าใจที่ลึกซึ้งยิ่งขึ้นเกี่ยวกับ Jenkins และอินสแตนซ์ที่เฉพาะเจาะจง ความซับซ้อนของการบานปลายขึ้นอยู่กับบริบท”

Jenkins ใหม่เวอร์ชัน 2.442 และ LTS เวอร์ชัน 2.426.3 กล่าวถึงช่องโหว่นี้ องค์กรที่ไม่สามารถอัปเกรดได้ในทันทีควรปิดการใช้งานการเข้าถึง CLI เพื่อป้องกันการแสวงหาผลประโยชน์ คำแนะนำดังกล่าว “ขอแนะนำอย่างยิ่งให้ผู้ดูแลระบบไม่สามารถอัปเดตเป็น Jenkins 2.442, LTS 2.426.3 ได้ในทันที การใช้วิธีแก้ปัญหานี้ไม่จำเป็นต้องรีสตาร์ท Jenkins”

แพทช์ตอนนี้

Sarah Jones นักวิเคราะห์การวิจัยข่าวกรองภัยคุกคามทางไซเบอร์ที่ Critical Start กล่าวว่าองค์กรที่ใช้ Jenkins จะต้องไม่เพิกเฉยต่อช่องโหว่ดังกล่าว “ความเสี่ยงต่างๆ ได้แก่ การโจรกรรมข้อมูล การบุกรุกระบบ ไปป์ไลน์ที่หยุดชะงัก และอาจนำไปสู่การเผยแพร่ซอฟต์แวร์ที่ถูกบุกรุก” โจนส์กล่าว

เหตุผลหนึ่งที่ทำให้น่ากังวลก็คือความจริงที่ว่าเครื่องมือ DevOps เช่น Jenkins มักจะมีข้อมูลที่สำคัญและละเอียดอ่อนซึ่งนักพัฒนาอาจนำมาจากสภาพแวดล้อมการใช้งานจริงเมื่อสร้างหรือพัฒนาแอปพลิเคชันใหม่ กรณีดังกล่าวเกิดขึ้นเมื่อปีที่แล้วเมื่อนักวิจัยด้านความปลอดภัยพบเอกสารที่มี 1.5 ล้านคนที่อยู่ในรายชื่อห้ามบินของ TSA นั่งโดยไม่มีการป้องกันบนเซิร์ฟเวอร์ Jenkins ซึ่งเป็นของ CommuteAir ในรัฐโอไฮโอ

“การแพตช์ทันทีเป็นสิ่งสำคัญ การอัปเกรดเป็น Jenkins เวอร์ชัน 2.442 หรือใหม่กว่า (ไม่ใช่ LTS) หรือ 2.427 หรือใหม่กว่า (LTS) จะอยู่ที่ CVE-2024-23897” โจนส์กล่าว ตามแนวทางปฏิบัติทั่วไป เธอแนะนำให้องค์กรพัฒนาใช้โมเดลที่มีสิทธิ์น้อยที่สุดเพื่อจำกัดการเข้าถึง และยังทำการสแกนช่องโหว่และติดตามกิจกรรมที่น่าสงสัยอย่างต่อเนื่อง โจนส์กล่าวเสริมว่า “นอกจากนี้ การส่งเสริมความตระหนักด้านความปลอดภัยในหมู่นักพัฒนาและผู้ดูแลระบบยังช่วยเสริมความแข็งแกร่งให้กับมาตรการรักษาความปลอดภัยโดยรวมอีกด้วย”

จุด_img

ข่าวกรองล่าสุด

จุด_img