แสดงบทความที่มีป้ายกำกับ Jenkins แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ Jenkins แสดงบทความทั้งหมด

23/08/2567

CISA แจ้งเตือนช่องโหว่ RCE ใน Jenkins ที่กำลังถูกใช้ในการโจมตีด้วย Ransomware


CISA ได้เพิ่มช่องโหว่ remote code execution ระดับ Critical ของ Jenkins ที่กำลังถูกใช้ในการโจมตีเข้า Known Exploited Vulnerabilities Catalog พร้อมแจ้งเตือนว่าช่องโหว่นี้กำลังถูกนำไปใช้ในการโจมตีอยู่ในปัจจุบัน
Jenkins เป็น open-source automation server ที่ถูกใช้อย่างแพร่หลาย ซึ่งช่วยให้ Developper Team สามารถทำให้กระบวนการสร้าง, ทดสอบ และปรับใช้ซอฟต์แวร์เป็นไปโดยอัตโนมัติผ่าน continuous integration (CI) และ continuous delivery (CD)
CVE-2024-23897 เป็นช่องโหว่ที่เกิดจากตัวแยกวิเคราะห์คำสั่ง args4j ที่ผู้ไม่ประสงค์ดีไม่จำเป็นต้องผ่านการยืนยันตัวตน สามารถใช้ประโยชน์เพื่ออ่านไฟล์ได้ตามที่ต้องการบน Jenkins controller file system ผ่านทาง built-in command line (CLI)
Jenkins อธิบายว่า "ตัวแยกวิเคราะห์คำสั่งนี้มีฟีเจอร์ที่แทนที่ตัวอักษร @ ตามด้วย Path ของไฟล์ใน argument ด้วยเนื้อหาของไฟล์นั้น (expandAtFiles) โดยฟีเจอร์นี้เปิดใช้งานโดยค่า Defulte และ Jenkins รุ่น 2.441 และก่อนหน้า, LTS 2.426.2 และก่อนหน้าไม่สามารถปิดการใช้งานฟีเจอร์นี้ได้"
มีการเผยแพร่ตัวอย่างโค้ดการโจมตี (PoC) หลายรายการทางออนไลน์ไม่กี่วันหลังจากที่ Developper Team ของ Jenkins เผยแพร่การอัปเดตด้านความปลอดภัยเมื่อวันที่ 24 มกราคม 2024 โดยรายงานว่ามีบางตัวอย่างสามารถตรวจพบความพยายามในการโจมตีได้เพียงหนึ่งวันถัดมา

Shadowserver กำลังติดตามการใช้งาน Jenkins กว่า 28,000 ตัวอย่าง ที่มีช่องโหว่ CVE-2024-23897 โดยส่วนใหญ่มาจากประเทศจีน (7,700) และสหรัฐอเมริกา (7,368) ซึ่งแสดงให้เห็นถึงจำนวนระบบที่ยังสามารถถูกโจมตีได้จำนวนลดลง จากในตอนแรกที่พบว่ามีเซิร์ฟเวอร์ที่ยังไม่ได้รับการแก้ไขช่องโหว่มากกว่า 45,000 รายการ ที่พบในเดือนมกราคม


จากรายงานของ Trend Micro พบว่าช่องโหว่ CVE-2024-23897 เริ่มถูกใช้ในการโจมตีอย่างแพร่หลายมากขึ้นในเดือนมีนาคม ขณะที่ CloudSEK ระบุเมื่อต้นเดือนสิงหาคม ว่าผู้ไม่ประสงค์ดีที่รู้จักในชื่อ IntelBroker ได้ใช้ช่องโหว่นี้เพื่อเจาะระบบของผู้ให้บริการ IT BORN Group
ล่าสุด Juniper Networks รายงานเมื่อสัปดาห์ที่แล้วว่า กลุ่ม RansomEXX ได้ใช้ช่องโหว่นี้เพื่อเจาะระบบของ Brontoo Technology Solutions ซึ่งเป็นผู้ให้บริการด้านเทคโนโลยีแก่ธนาคารในอินเดียในช่วงปลายเดือนกรกฎาคม การโจมตีด้วย Ransomware ครั้งนี้ทำให้เกิดการหยุดชะงักอย่างกว้างขวางต่อระบบการชำระเงินค้าปลีกทั่วประเทศ
ภายหลังจากมีรายงานดังกล่าว CISA ได้เพิ่มช่องโหว่ด้านความปลอดภัยดังกล่าวลงในรายการ Known Exploited Vulnerabilities Catalog โดยเตือนว่าผู้ไม่ประสงค์ดีกำลังใช้ช่องโหว่ดังกล่าวในการโจมตีเป็นวงกว้าง
ตามคำสั่งการดำเนินงานที่บังคับใช้ (BOD 22-01) ที่ออกในเดือนพฤศจิกายน 2021 หน่วยงานฝ่ายบริหารพลเรือนของรัฐบาลกลาง (FCEB) มีเวลาสามสัปดาห์จนถึงวันที่ 9 กันยายน 2024 เพื่อแก้ไขช่องโหว่ Jenkins Server บนเครือข่ายของพวกเขา เพื่อป้องกันการโจมตีที่ใช้ช่องโหว่ CVE-2024-23897
แม้ว่า BOD 22-01 จะใช้กับหน่วยงานของรัฐบาลกลางเท่านั้น แต่ CISA ก็ได้แนะนำให้ทุกองค์กรให้ความสำคัญกับการแก้ไขช่องโหว่นี้ เพื่อป้องกันการถูกโจมตีด้วย Ransomware ที่อาจกำลังมุ่งเป้าไปที่ระบบของพวกเขา

31/01/2567

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


    ผู้พัฒนาซอฟต์แวร์โอเพ่นซอร์ส Continuous Integration/Continuous Delivery and Deployment - CI/CD อย่าง Jenkins ได้แก้ไขช่องโหว่ด้านความปลอดภัย 9 รายการ ซึ่งรวมถึงช่องโหว่ระดับ critical ที่นำไปสู่การโจมตีแบบ Remote Code Execution (RCE)
ช่องโหว่นี้มีหมายเลข
  • CVE-2024-23897 โดยเป็นช่องโหว่ arbitrary file read ผ่าน Command Line Interface (CLI) ที่มีอยู่ในระบบ
    ผู้พัฒนา Jenkins แจ้งในคำแนะนำในวันพุธที่ผ่านมาว่า "Jenkins ใช้ไลบรารี args4j เพื่อวิเคราะห์ arguments และตัวเลือกคำสั่งบนคอนโทรลเลอร์ Jenkins เมื่อประมวลผลคำสั่ง CLI"
ตัววิเคราะห์คำสั่งนี้มีฟีเจอร์แทนที่ตัวอักษร '@' ตามด้วย file path ใน arguments ที่มีเนื้อหาของไฟล์ (expandAtFiles) ฟีเจอร์นี้ถูกเปิดใช้งานเป็นค่าเริ่มต้นใน Jenkins เวอร์ชัน 2.441 และเวอร์ชันก่อนหน้า, LTS 2.426.2 และเวอร์ชันก่อนหน้า ซึ่งไม่ได้มีการปิดใช้งานคุณสมบัตินี้
    โดยผู้ไม่หวังดีสามารถใช้ช่องโหว่นี้เพื่อ read arbitrary files บนระบบไฟล์ของคอนโทรลเลอร์ของ Jenkins โดยใช้การเข้ารหัสอักขระเริ่มต้นของกระบวนการคอนโทรลเลอร์ Jenkins
ในขณะที่ผู้โจมตีมีสิทธิ์ "Overall/Read" สามารถอ่านไฟล์ทั้งหมดได้ แต่ผู้โจมตีจะไม่สามารถอ่านข้อมูลสามบรรทัดแรกของไฟล์ได้ ทั้งนี้ขึ้นอยู่กับคำสั่ง CLI ที่ใช้
    นอกจากนี้ ช่องโหว่นี้ยังสามารถถูกนำมาใช้เพื่ออ่านไฟล์ที่เป็นไบนารีที่มีคีย์การเข้ารหัสได้ ถึงแม้ว่าจะมีข้อจำกัดก็ตาม หากสามารถดึง binary secrets ได้ โดย Jenkins ระบุว่าอาจทำให้มีโอกาสเกิดการโจมตีในรูปแบบต่าง ๆ ได้ เช่น
  • Remote code execution via Resource Root URLs
  • Remote code execution via "Remember me" cookie
  • Remote code execution via stored cross-site scripting (XSS) attacks through build logs
  • Remote code execution via CSRF protection bypass
  • Decrypt secrets stored in Jenkins
  • Delete any item in Jenkins
  • Download a Java heap dump

    Jenkins ระบุว่า "แม้ว่าไฟล์ที่มีข้อมูลที่เป็นไบนารีจะสามารถอ่านได้ แต่ฟีเจอร์ที่ได้รับผลกระทบจะพยายามอ่านไฟล์เหล่านั้นเป็นสตริง โดยใช้การเข้ารหัสตัวอักขระเริ่มต้นของกระบวนการควบคุม"
    "การใช้ช่องโหว่นี่มีแนวโน้มที่จะส่งผลให้บางไบต์ไม่สามารถอ่านค่าได้ และถูกแทนที่ด้วยค่าตำแหน่งที่ว่างไว้สำหรับการใส่ข้อมูล ไบต์ที่สามารถอ่านได้ หรือไม่สามารถอ่านได้ขึ้นอยู่กับการเข้ารหัสตัวอักขระ"
    นักวิจัยด้านความปลอดภัย 'Yaniv Nizry' ได้รับเครดิตในการค้นพบ และรายงานช่องโหว่ ซึ่งได้รับการแก้ไขไปแล้วใน Jenkins เวอร์ชัน 2.442 และ LTS 2.426.3 โดยการปิดใช้งานฟีเจอร์ command parser เพื่อเป็นวิธีแก้ปัญหาชั่วคราวจนกว่าจะสามารถอัปเดตแพตช์ได้ แนะนำให้ปิดการเข้าถึง CLI (Command Line Interface) ไปก่อน
    การอัปเดตนี้เกิดขึ้นเกือบหนึ่งปีหลังจากที่ Jenkins ได้ทำการแก้ไขช่องโหว่ด้านความปลอดภัยระดับ Critical สองรายการที่ถูกเรียกว่า CorePlague (CVE-2023-27898 และ CVE-2023-27905) ซึ่งอาจนำไปสู่การเรียกใช้โค้ดที่เป็นอันตรายบนระบบเป้าหมาย