3 คะแนน โดย ragingwind 2024-04-10 | 3 ความคิดเห็น | แชร์ทาง WhatsApp

มีการเผยแพร่คำแนะนำด้านความปลอดภัยสำหรับไลบรารีมาตรฐานของ Rust โดยเกี่ยวข้องกับช่องโหว่ที่ระบุเป็น CVE-2024-24576 และเกิดจากปัญหาการ escape อาร์กิวเมนต์ไม่เหมาะสมโดยเฉพาะเมื่อเรียกไฟล์แบตช์ที่มีนามสกุล .bat หรือ .cmd บน Windows ผ่าน Command API

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

สาเหตุหลักของปัญหาคือบน Windows นั้น cmd.exe (ซึ่งใช้สำหรับรันไฟล์แบตช์) มีตรรกะการแยกอาร์กิวเมนต์เป็นของตัวเอง ทำให้ไลบรารีมาตรฐานต้องทำการ escape แบบกำหนดเองสำหรับอาร์กิวเมนต์ที่ส่งไปยังไฟล์แบตช์ ตามรายงานพบว่าตรรกะการ escape นี้รัดกุมไม่เพียงพอ จึงเปิดช่องให้ส่งอาร์กิวเมนต์ที่เป็นอันตรายเพื่อรันเชลล์ตามอำเภอใจได้

ได้รับความช่วยเหลือจาก AI

3 ความคิดเห็น

 
jeiea 2024-04-11

พอเป็นปัญหาเรื่องการ escape บน Windows ก็เลยรู้สึกว่าเป็นไปได้เหมือนกันนะ

 
tpdns90321 2024-04-10

ดูคล้ายกับช่องโหว่ของ WinRAR ก่อนหน้านี้นะครับ ใช้วิธีการรันไฟล์แบตช์ของ Windows และข้อจำกัดในการตั้งชื่อไฟล์

 
aer0700 2024-04-10

เหมือนอย่างเคยเลย โลกนี้ไม่มีอะไรง่ายจริง ๆ ฮือฮือ