วิธีสแกนสภาพแวดล้อมของคุณเพื่อหา Curl เวอร์ชันที่มีช่องโหว่

วิธีสแกนสภาพแวดล้อมของคุณเพื่อหา Curl เวอร์ชันที่มีช่องโหว่

วิธีสแกนสภาพแวดล้อมของคุณเพื่อหา Curl PlatoBlockchain Data Intelligence เวอร์ชันที่มีช่องโหว่ ค้นหาแนวตั้ง AI.

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

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

cURL เป็นเครื่องมือเครือข่ายพื้นฐานสำหรับระบบ Unix และ Linux ในบรรทัดคำสั่งและสคริปต์เพื่อถ่ายโอนข้อมูล ความชุกของมันเกิดจากการที่มันถูกใช้เป็นทั้งยูทิลิตี้แบบสแตนด์อโลน (curl) เช่นเดียวกับไลบรารีที่รวมอยู่ในแอปพลิเคชันประเภทต่างๆ (libcurl) ไลบรารี libcurl ซึ่งช่วยให้นักพัฒนาสามารถเข้าถึง curl API จากโค้ดของตนเองได้ สามารถใส่ลงในโค้ดได้โดยตรง ใช้เป็นการพึ่งพา ใช้เป็นส่วนหนึ่งของชุดระบบปฏิบัติการ รวมเป็นส่วนหนึ่งของคอนเทนเนอร์ Docker หรือติดตั้งบน โหนดคลัสเตอร์ Kubernetes

CVE-2023-38545 คืออะไร?

ช่องโหว่ที่มีความรุนแรงสูง ส่งผลต่อ curl และ libcurl เวอร์ชัน 7.69.0 ถึง 8.3.0 และช่องโหว่ที่มีความรุนแรงต่ำส่งผลกระทบต่อ libcurl เวอร์ชัน 7.9.1 ถึง 8.3.0 อย่างไรก็ตาม ช่องโหว่ดังกล่าวไม่สามารถถูกโจมตีได้ภายใต้เงื่อนไขเริ่มต้น ผู้โจมตีที่พยายามกระตุ้นช่องโหว่จะต้องชี้ Curl ไปที่เซิร์ฟเวอร์ที่เป็นอันตรายภายใต้การควบคุมของผู้โจมตี ตรวจสอบให้แน่ใจว่า Curl กำลังใช้พร็อกซี SOCKS5 โดยใช้โหมดตัวแก้ไขพร็อกซี กำหนดค่า Curl ให้ติดตามการเปลี่ยนเส้นทางโดยอัตโนมัติ และตั้งค่าขนาดบัฟเฟอร์ให้เล็กลง ขนาด.

ตามที่ ยาอีร์ มิซราฮีนักวิจัยด้านความปลอดภัยอาวุโสของ JFrog ไลบรารี libcurl มีช่องโหว่ เพียง หากมีการตั้งค่าตัวแปรสภาพแวดล้อมต่อไปนี้: CURLOPT_PROXYTYPE  ตั้งค่าให้พิมพ์ CURLPROXY_SOCKS5_HOSTNAME; หรือ CURLOPT_PROXY or CURLOPT_PRE_PROXY  ตั้งเป็นโครงการ ถุงเท้า5h://. ไลบรารียังมีความเสี่ยงหากมีการตั้งค่าตัวแปรสภาพแวดล้อมพร็อกซีตัวใดตัวหนึ่งให้ใช้ ถุงเท้า5h:// โครงการ เครื่องมือบรรทัดคำสั่งมีช่องโหว่ก็ต่อเมื่อมีการดำเนินการด้วย -socks5-ชื่อโฮสต์ ธงหรือด้วย –พร็อกซี (-x) หรือ –พรีพร็อกซี ตั้งค่าให้ใช้โครงร่าง ถุงเท้า5h://. นอกจากนี้ยังมีความเสี่ยงหากดำเนินการ curl ด้วยตัวแปรสภาพแวดล้อมที่ได้รับผลกระทบ

“ชุดของเงื่อนไขเบื้องต้นที่จำเป็นสำหรับเครื่องจักรที่จะเกิดช่องโหว่ (ดูหัวข้อก่อนหน้า) นั้นมีข้อจำกัดมากกว่าที่เชื่อกันในตอนแรก ดังนั้นเราจึงเชื่อว่าผู้ใช้ Curl ส่วนใหญ่จะไม่ได้รับผลกระทบจากช่องโหว่นี้” Mizrahi เขียนในการวิเคราะห์

สแกนสภาพแวดล้อมเพื่อหาระบบที่มีช่องโหว่

สิ่งแรกที่องค์กรต้องทำคือกำหนดขอบเขตสภาพแวดล้อมเพื่อระบุระบบทั้งหมดโดยใช้ curl และ libcurl เพื่อประเมินว่ามีเงื่อนไขเบื้องต้นเหล่านั้นอยู่หรือไม่ องค์กรต่างๆ ควรจัดทำรายการระบบและประเมินกระบวนการส่งมอบซอฟต์แวร์โดยใช้เครื่องมือวิเคราะห์องค์ประกอบของซอฟต์แวร์สำหรับโค้ด คอนเทนเนอร์การสแกน และยูทิลิตีการจัดการมาตรการรักษาความปลอดภัยของแอปพลิเคชัน อเล็กซ์ อิลกาเยฟ หัวหน้าฝ่ายวิจัยด้านความปลอดภัยของ Cycode กล่าว แม้ว่าช่องโหว่จะไม่ส่งผลกระทบต่อการใช้งาน Curl ทุกครั้ง การระบุระบบที่ได้รับผลกระทบก็จะง่ายกว่าหากทีมเริ่มต้นด้วยรายการตำแหน่งที่เป็นไปได้ที่จะตรวจสอบ

คำสั่งต่อไปนี้ระบุเวอร์ชันของ curl ที่ติดตั้ง:

ลินุกซ์/แมคโอเอส:

ค้นหา / -name curl 2>/dev/null -exec echo "พบ: {}" ; -exec {} --เวอร์ชัน ;

Windows:

รับ-ChildItem -Path C: -Recurse -ErrorAction SilentlyContinue -Filter curl.exe | ForEach-Object { เขียนโฮสต์ "พบ: $($_.FullName)"; & $_.ชื่อเต็ม --รุ่น }

GitHub มี แบบสอบถามที่จะเรียกใช้ใน Defender for Endpoint เพื่อระบุอุปกรณ์ทั้งหมดในสภาพแวดล้อมที่ติดตั้ง Curl หรือใช้ Curl Qualys ได้เผยแพร่กฎเกณฑ์ของตน สำหรับการใช้แพลตฟอร์ม

องค์กรที่ใช้คอนเทนเนอร์ Docker หรือเทคโนโลยีคอนเทนเนอร์อื่นๆ ควรสแกนรูปภาพเพื่อหาเวอร์ชันที่มีช่องโหว่ด้วย คาดว่าจะมีการสร้างใหม่จำนวนมาก โดยเฉพาะอย่างยิ่งในอิมเมจนักเทียบท่าและเอนทิตีที่คล้ายกันซึ่งรวมสำเนา liburl นักเทียบท่าได้ดึงเข้าด้วยกัน รายการคำแนะนำ ในการประเมินภาพทั้งหมด

หากต้องการค้นหาที่เก็บข้อมูลที่มีอยู่:

เปิดใช้งาน repo ลูกเสือนักเทียบท่า --org /scout-demo

วิธีวิเคราะห์อิมเมจคอนเทนเนอร์ในเครื่อง:

นโยบายลูกเสือนักเทียบท่า [ภาพ] --org [ORG]

ปัญหานี้เน้นย้ำถึงความสำคัญของการติดตามซอฟต์แวร์โอเพ่นซอร์สทั้งหมดที่ใช้ในองค์กรอย่างพิถีพิถัน ตามที่ Henrik Plate นักวิจัยด้านความปลอดภัยของ Endor Labs กล่าว

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

หากแอปพลิเคชันมาพร้อมกับรายการวัสดุซอฟต์แวร์ นั่นอาจเป็นจุดเริ่มต้นที่ดีในการค้นหาอินสแตนซ์ของ curl John Gallagher รองประธานของ Viakoo Labs กล่าวเสริม

การที่ข้อบกพร่องไม่สามารถหาประโยชน์ได้ไม่ได้หมายความว่าไม่จำเป็นต้องอัปเดต มีแพทช์ให้เลือก โดยตรงสำหรับ curl และ libcurlและระบบปฏิบัติการหลายระบบ (Debian, Ubuntu, Red Hat ฯลฯ) ก็ได้เผยแพร่เวอร์ชันที่แก้ไขแล้วเช่นกัน คอยติดตามการอัปเดตด้านความปลอดภัยจากแอปพลิเคชันอื่นๆ เนื่องจาก libcurl เป็นไลบรารีที่ใช้โดยระบบปฏิบัติการและแอปพลิเคชันจำนวนมาก

วิธีแก้ปัญหาอย่างหนึ่งจนกว่าจะสามารถติดตั้งการอัปเดตได้คือการบังคับให้ Curl ใช้ชื่อโฮสต์ท้องถิ่นที่ได้รับการแก้ไขเมื่อเชื่อมต่อกับพร็อกซี SOCKS5 ตาม Mizrahi ของ JFrog ไวยากรณ์นี้ใช้รูปแบบถุงเท้า 5 และไม่ใช่ถุงเท้า 5h: curl -xocks5://someproxy.com. ในไลบรารี ให้แทนที่ตัวแปรสภาพแวดล้อม CURLPROXY_SOCKS5_HOSTNAME กับ CURLPROXY_SOCKS5.

ตามที่ Benjamin Marr วิศวกรด้านความปลอดภัยของ ผู้บุกรุกทีมรักษาความปลอดภัยควรตรวจสอบค่าสถานะ curl เพื่อหาสตริงที่มีขนาดใหญ่เกินไป เนื่องจากนั่นจะบ่งบอกว่าระบบถูกบุกรุก ธงอยู่ –socks5-ชื่อโฮสต์,หรือ –พร็อกซี or –พรีพร็อกซี ตั้งค่าให้ใช้โครงร่าง ถุงเท้า5h://.

ประทับเวลา:

เพิ่มเติมจาก การอ่านที่มืด