ข้อผิดพลาดของ Cloudflare CDNJS อาจนำไปสู่การโจมตีในรูปแบบ Supply-Chain Attack

เมื่อเดือนที่แล้ว Cloudflare บริษัทผู้ให้บริการระบบเครือข่าย network และรักษาความปลอดภัยเว็บไซต์ ได้แก้ไขช่องโหว่ที่สำคัญในไลบรารี CDNJS ซึ่งมีการใช้งานอยู่ที่ 12.7% ของเว็บไซต์ทั้งหมดบนอินเทอร์เน็ต

CDNJS เป็นเครือข่ายการส่งเนื้อหา (Content Delivery Network) แบบโอเพ่นซอร์สที่ให้บริการฟรี ซึ่งให้บริการไลบรารี JavaScript และ CSS ประมาณ 4,041 รายการ ทำให้เป็น CDN ไลบรารี JavaScript ที่ได้รับความนิยมสูงสุดเป็นอันดับสองรองจาก Google Hosted Libraries

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

ช่องโหว่ดังกล่าวถูกค้นพบและรายงานโดยนักวิจัยด้านความปลอดภัย RyotaK เมื่อวันที่ 6 เมษายน พ.ศ. 2564 ซึ่งยังไม่พบหลักฐานว่ามีการใช้ช่องโหว่นี้ในการโจมตีจริง

ช่องโหว่นี้ทำงานโดยการส่งแพ็คเกจไปยัง CDNJS ของ Cloudflare โดยใช้ GitHub และ npm ใช้เพื่อทริกเกอร์ช่องโหว่ path traversal และท้ายที่สุดคือทำให้เซิร์ฟเวอร์สามารถเรียกใช้โค้ดจากระยะไกลได้ น่าสังเกตว่าโครงสร้างพื้นฐานของ CDNJS มีการอัปเดตไลบรารีเป็นอัตโนมัติโดยเรียกใช้สคริปต์บนเซิร์ฟเวอร์เป็นระยะ เพื่อดาวน์โหลดไฟล์ที่เกี่ยวข้องจากที่เก็บ Git ซึ่งมีการจัดการโดยผู้ใช้หรือรีจิสตรีแพ็กเกจ npm

RyotaK พบว่า "สามารถเรียกใช้โค้ดได้ หลังจากดำเนินการ path traversal จากไฟล์ .tgz ไปยัง npm และเขียนทับสคริปต์ที่ทำงานเป็นประจำบนเซิร์ฟเวอร์" และ “ช่องโหว่นี้สามารถโจมตีได้โดยไม่ต้องใช้ทักษะพิเศษใดๆ แต่ก็สามารถส่งผลกระทบต่อเว็บไซต์จำนวนมากได้ ทำให้เป็นไปได้ว่าจะเกิดการโจมตีช่องโหว่นี้ในลักษณะ Supply-chain ได้"

เป้าหมายของการโจมตีคือการส่งแพ็คเกจที่สร้างขึ้นเป็นพิเศษไปยังที่เก็บ จากนั้นจะเลือกเซิร์ฟเวอร์อัปเดตไลบรารี CDNJS เพื่อเผยแพร่แพ็คเกจ กระบวนการคือการคัดลอกเนื้อหาของแพ็คเกจที่เป็นอันตรายไปยังโฮสต์ไฟล์สคริปต์ปกติที่เรียกใช้งานเป็นประจำบนเซิร์ฟเวอร์ ส่งผลให้มีการเรียกใช้โค้ดอันตรายได้

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

ที่มา : thehackernews