สรุปสั้น

ช่องโหว่ 0-day บน Windows ที่เพิ่งถูกเปิดเผยและกระทบ Steam Client Service สามารถเปิดทางให้ผู้ใช้ระดับปกติในเครื่อง (standard local user) ได้สิทธิ์ NT AUTHORITY\SYSTEM โดยไม่ต้องใช้ข้อมูลรับรองของผู้ดูแลระบบ ไม่มีหน้าต่าง User Account Control (UAC) ไม่ต้องยืนยันตัวตนกับ Steam และไม่ต้องเปิดเกมใด ๆ นักวิจัยที่ใช้ชื่อ KillaBoi เผยแพร่ proof of concept ชื่อ BrokenPipe เมื่อวันที่ 14 กันยายน โดยอธิบายการยกระดับสิทธิ์ในเครื่อง (local privilege escalation) ผ่าน steamservice.exe ซึ่งเป็นบริการ Windows ที่มีสิทธิ์สูงของ Steam

ช่องโหว่นี้ไม่ใช่บั๊กหน่วยความจำเสียหายหรือการปลอมลายเซ็น แต่เกิดจากการที่บริการของ Steam ยอมรับ root ของการติดตั้งที่ผู้เรียกควบคุมได้ ควบคู่ไปกับไฟล์สคริปต์ติดตั้ง VDF ที่ Valve เซ็นรับรองของจริง แต่เส้นทางดังกล่าวกลับไม่ได้รับการปกป้องด้วยลายเซ็น โพรเซสที่ไม่มีสิทธิ์จึงสามารถกำหนดได้ว่ากระบวนการติดตั้งที่เชื่อถือได้จะไปหาตัว launcher ที่ตำแหน่งใด ทำให้ไฟล์ manifest ที่เซ็นรับรองถูกต้องกลายเป็นพาหะสำหรับการรันโค้ดด้วยสิทธิ์สูง โดยการทดสอบทำสำเร็จกับ Steam เวอร์ชัน 10.96.30.42 บน Windows 10 และ Windows 11 แบบ 64 บิตรุ่นล่าสุด

รายละเอียดข่าว

เว็บไซต์ Cyber Security News รายงานเมื่อวันที่ 18 กันยายน 2569 ว่า นักวิจัย KillaBoi เผยแพร่ proof of concept ชื่อ BrokenPipe เมื่อวันที่ 14 กันยายน ซึ่งสาธิตการยกระดับสิทธิ์ในเครื่องผ่าน steamservice.exe ตัวช่องโหว่อาศัยช่องว่างของการครอบคลุมด้วยลายเซ็น (signature-coverage gap) โดยไม่ได้แก้ไข ปลอม หรือเลี่ยงลายเซ็นของ Valve แต่อย่างใด

BrokenPipe เริ่มจากสร้างการเชื่อมต่อระหว่างโพรเซส (IPC) ไปยัง Steam Client Service แล้วเรียก IClientInstallUtils::AddInstallScriptToWhiteList ด้วยไฟล์ VDF ของแท้คู่กับ root การติดตั้งที่ผู้โจมตีเลือกเอง ทำให้ launcher ที่ถูกย้ายตำแหน่งกลายเป็นสิ่งที่เชื่อถือได้ จากนั้นการเรียก IClientInstallUtils::RunInstallScript ตามมาจะทำให้โพรเซสบริการระดับ SYSTEM ประมวลผลไฟล์ VDF และรัน launcher นั้นด้วยสิทธิ์ของมัน proof of concept แบบไฟล์เดียวเขียนด้วย PowerShell ฝังไฟล์ VDF ที่เซ็นแล้วไว้ในรูปแบบ Base64 และเขียนไคลเอนต์ IPC แบบ shared-memory ของบริการไว้เป็นโค้ด C# แบบ inline โดยค่าเริ่มต้นจะคัดลอก Windows Command Prompt ไปยังเส้นทาง launcher.exe ที่ถูกย้ายตำแหน่ง แล้วขอให้บริการของ Steam รันมัน ในการสาธิต คำสั่ง whoami คืนค่า NT AUTHORITY\SYSTEM ขณะที่ whoami /user รายงาน S-1-5-18 ซึ่งเป็น SID ที่ Microsoft กำหนดให้ LocalSystem

รายละเอียดช่องโหว่

เงื่อนไขการใช้ช่องโหว่คือ Steam ต้องถูกติดตั้งไว้ บริการของมันต้องพร้อมใช้งาน และผู้โจมตีต้องสามารถรันโค้ดในฐานะผู้ใช้ระดับปกติในเครื่องได้อยู่แล้ว ดังนั้น BrokenPipe จึงไม่ใช่การเจาะระบบจากระยะไกลด้วยตัวเอง แต่สามารถกลายเป็นความสามารถขั้นที่สอง (second-stage) ที่ทรงพลังหลังจากการฟิชชิง การรันมัลแวร์ หรือการใช้ช่องโหว่อื่นเพื่อเข้าถึงเครื่องมาก่อน จุดที่ทำให้ช่องโหว่นี้อันตรายเป็นพิเศษคือ มันไม่ต้องอาศัยหน้าต่าง UAC หรือการยืนยันตัวตนใด ๆ และทำงานได้เงียบสนิท ผู้โจมตีที่มีจุดยืนระดับผู้ใช้ธรรมดาในเครื่องจึงสามารถกระโดดขึ้นเป็นสิทธิ์สูงสุดของระบบได้ทันที

นักวิจัยระบุว่า Valve ทราบปัญหานี้มาตั้งแต่เดือนมีนาคม 2569 โดยอ้างอิงรายงานว่าเรื่องที่ส่งผ่าน HackerOne ถูกทำเครื่องหมายว่าซ้ำ (duplicate) และ Valve ไม่ตอบกลับคำขอความเห็น ณ เวลาที่เผยแพร่ ยังไม่พบประกาศด้านความปลอดภัยอย่างเป็นทางการจาก Valve การกำหนดหมายเลข CVE หรือการอัปเดตแก้ไขที่ยืนยันว่าจัดการ BrokenPipe แล้ว ดังนั้นสถานะ zero-day จึงยังอยู่บนพื้นฐานการเปิดเผยของนักวิจัยและการที่ยังไม่มีแพตช์จากผู้ผลิตอย่างชัดเจน

ผลกระทบ

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

คำแนะนำ

จนกว่า Valve จะออกคำแนะนำ องค์กรควรถือว่า Steam บนเครื่อง Windows ที่ใช้ร่วมกันหรือเครื่องขององค์กรเป็นจุดเสี่ยงต่อการยกระดับสิทธิ์ ผู้ดูแลควรจัดทำบัญชีเครื่องที่ติดตั้ง Steam และถอนการติดตั้งออกจากเครื่องที่ไม่จำเป็นต้องใช้ ควรเฝ้าดูโพรเซสลูกที่ผิดปกติของ steamservice.exe และตั้งการแจ้งเตือนเมื่อมีไฟล์รันได้ทำงานในฐานะ SYSTEM จากไดเรกทอรีที่ผู้ใช้เขียนได้ การอัปเดต Steam ให้เป็นเวอร์ชันล่าสุดยังคงสำคัญ แต่ผู้ดูแลไม่ควรสันนิษฐานว่าการอัปเดตแก้ปัญหา BrokenPipe แล้วจนกว่า Valve จะยืนยันการแก้ไขอย่างเป็นทางการ

แหล่งอ้างอิง