สรุปสั้น
ทีมวิจัย Vedere Labs ของบริษัท Forescout เปิดเผยผลการทดลองใช้โมเดล Claude ของบริษัท Anthropic ย้ายโค้ดโจมตีแบบรันโค้ดจากระยะไกลที่ไม่ต้องยืนยันตัวตน (pre-auth RCE) จากตัวควบคุมลอจิกแบบโปรแกรมได้ (PLC) ของบริษัท WAGO รุ่นหนึ่ง ไปยังอีกรุ่นหนึ่ง แล้วสั่งรันเชลล์โค้ดสถาปัตยกรรม ARM ที่ผู้โจมตีเตรียมไว้บนฮาร์ดแวร์จริงได้สำเร็จ ช่องโหว่ที่ใช้คือ CVE-2021-31886 ซึ่งเป็นบัฟเฟอร์ล้นบนสแตกในการประมวลผลคำสั่ง USER ของเซิร์ฟเวอร์ FTP บนระบบปฏิบัติการ Nucleus โดยได้คะแนน CVSS 9.8 จาก Siemens และเข้าถึงได้ผ่านพอร์ต TCP 21 ก่อนการยืนยันตัวตน
จุดที่ต้องอ่านให้ครบคือผลลัพธ์ไม่ได้สวยงามอย่างที่พาดหัวชวนคิด เพราะการย้ายโค้ดต้องมีนักวิจัยคอยกำกับทิศทางตลอดเวลา ขั้นตอนพัฒนา RCE ขั้นสุดท้ายกินเวลา 8 ชั่วโมง 32 นาที และค่าใช้งาน API 535.74 ดอลลาร์สหรัฐ ส่วนเซสชันถัดมาที่พยายามต่อยอดโค้ดโจมตีให้กลายเป็น implant สำหรับสั่งการและควบคุม กลับไปเขียนลงพื้นที่หน่วยความจำที่แมปกับแฟลชจนทำให้ PLC พังถาวร ซึ่ง Forescout เองก็ระบุตรง ๆ ว่านักวิจัยคนเดิมน่าจะทำงานเดียวกันนี้ได้เร็วกว่าและถูกกว่าหากไม่ใช้ AI แถมยังรักษาชีวิต PLC ไว้ได้ด้วย
อีกประเด็นที่สำคัญไม่แพ้กันคือ CERT@VDE ระบุว่าไม่มีอัปเดตออกมาให้กับตัวควบคุมของ WAGO ที่ได้รับผลกระทบ ผู้ใช้งานทำได้เพียงปิดหรือบล็อกบริการ FTP บนพอร์ต 21 บังคับใช้การแบ่งส่วนเครือข่าย และเฝ้าระวังทราฟฟิกที่ผิดปกติ ขณะที่ Siemens ซึ่งดูแล Nucleus ระบุว่าจะไม่มีการแก้ไขให้ Nucleus NET ในทุกเวอร์ชัน
รายละเอียดข่าว
เว็บไซต์ The Hacker News รายงานเมื่อวันที่ 2 กันยายน 2569 ว่า Forescout Research - Vedere Labs เผยแพร่ผลการทดลองที่ให้ Claude ย้ายโค้ดโจมตีที่ทีมเคยพัฒนาไว้สำหรับ WAGO 750-852 ไปใช้กับ WAGO 750-831 ที่รันเฟิร์มแวร์ V01.04.16 นักวิจัยป้อนโค้ดโจมตีเดิม ไฟล์ไบนารีเฟิร์มแวร์ของรุ่น 750-831 และเครื่อง 750-831 ตัวจริงเป็นเป้าหมายให้โมเดล แต่ละขั้นเป็นเซสชันโต้ตอบระหว่างนักวิจัยกับ Claude Code ซึ่งเข้าถึงเทอร์มินัล เครื่องมือวิศวกรรมย้อนกลับ Ghidra และ PLC เป้าหมายได้โดยตรง งานเริ่มบน Claude Sonnet 4.6 แล้วย้ายไป Claude Opus 4.6 เมื่อความพยายามทำ RCE ช่วงแรกติดขัด
จุดที่ติด คือ กระบวนการ FTP ปกติของรุ่น 750-831 จะล้างหน่วยความจำ 256 ไบต์ตรงบัฟเฟอร์ที่ผู้โจมตีควบคุมได้ เชลล์โค้ดที่ฉีดเข้าไปจึงถูกเขียนทับก่อนได้ทำงาน และโค้ดโจมตีของรุ่นเดิมใช้ไม่ได้ทันที

Forescout ระบุว่า Claude แก้ปัญหานี้ด้วยการเปลี่ยนลำดับคำสั่ง USER กับ QUIT ที่ใช้กับรุ่น 750-852 เป็น USER กับ CWD และจงใจไม่ใส่ CRLF ปิดท้ายบรรทัด เส้นทางประมวลผลที่เกี่ยวข้องจึงไม่จบตามปกติ และบัฟเฟอร์อยู่รอดนานพอให้เพย์โหลดทำงาน เมื่อรันโค้ดได้แล้ว โมเดลใช้เวลาเพียง 12 นาทีขยับจากเชลล์โค้ดเปล่า (NOP) เป็นเพย์โหลดใช้งานได้สองตัว ตัวหนึ่งส่ง ICMP echo ไปยังเครื่องผู้โจมตี อีกตัวส่งแพ็กเก็ต UDP ที่มีข้อความ PWNED โดยโค้ดทำงานในบริบทของ callback ที่รับข้อมูลจากอีเทอร์เน็ต และความสามารถที่สาธิตได้หยุดอยู่แค่การส่งแพ็กเก็ตออกเครือข่าย ระหว่างเซสชันแรก โมเดลยังชี้จุดที่อาจเป็นบั๊กในลูปแยกคำสั่ง FTP ซึ่งต่างจาก CVE-2021-31886 เมื่อนักวิจัยตรวจด้วยมือก็พบว่าอาจเป็นช่องโหว่ใหม่ที่ยังไม่เคยมีใครระบุ ทีมจึงแยกไปตรวจต่างหาก และขณะนี้ยังไม่มีหมายเลข CVE
วิธีการโจมตี
ช่องโหว่ CVE-2021-31886 เป็นหนึ่งใน 13 รายการที่ Forescout และ Medigate เปิดเผยไว้ตั้งแต่เดือนพฤศจิกายน 2564 ในชุดที่ตั้งชื่อว่า NUCLEUS:13 ซึ่งกระทบระบบปฏิบัติการเรียลไทม์ Nucleus ที่ฝังอยู่ในอุปกรณ์อุตสาหกรรมและอุปกรณ์การแพทย์จำนวนมาก จุดอ่อนอยู่ที่เซิร์ฟเวอร์ FTP ประมวลผลคำสั่ง USER โดยไม่ตรวจความยาวข้อมูลนำเข้า ทำให้เกิดบัฟเฟอร์ล้นบนสแตกและเปิดทางให้ควบคุมทิศทางการทำงานของโปรแกรมได้ตั้งแต่ก่อนล็อกอิน
ประกาศเตือนของ CERT@VDE ระบุอุปกรณ์ที่ได้รับผลกระทบจากช่องโหว่ในประกาศฉบับนั้นไว้ดังนี้ 750-829 (FW16 และเก่ากว่า), 750-831/000-00x (FW14 และเก่ากว่า), 750-852 (FW16 และเก่ากว่า), 750-880/0xx-xxx (FW16 และเก่ากว่า), 750-881 (FW16 และเก่ากว่า), 750-882 (FW16 และเก่ากว่า), 750-885/0xx-xxx (FW16 และเก่ากว่า), 750-889 (FW16 และเก่ากว่า), 750-331 (FW16 และเก่ากว่า) และ 750-352/xxx-xxx (FW16 และเก่ากว่า) โดยประกาศระบุว่าอุปกรณ์เหล่านี้ใช้ Nucleus V1 ซึ่งขณะนี้ยังไม่มีอัปเดตออกมาให้
ที่ควรจับตาเป็นพิเศษคือรุ่น 750-882 และ 750-885/0xx-xxx ซึ่งหายไปจากทั้งส่วนมาตรการบรรเทาและตารางการแก้ไขของประกาศฉบับเดียวกัน ทำให้สถานะการแก้ไขของสองรุ่นนี้ไม่ถูกระบุไว้เลย ส่วนฝั่ง Siemens ที่ดูแล Nucleus ระบุในประกาศของตัวเองว่าจะไม่มีการแก้ไขให้ Nucleus NET ทุกเวอร์ชัน ขณะที่ Nucleus ReadyStart V3 ตั้งแต่เวอร์ชัน V2013.08.1 เป็นต้นไปได้แก้ CVE-2021-31886 ไปแล้ว
ในแง่ความพร้อมใช้งานของโค้ดโจมตี The Hacker News ค้นหาคลัง GitHub ด้วยคำว่า CVE-2021-31886 เมื่อวันที่ 1 กันยายน แล้วไม่พบผลลัพธ์ใด และช่องโหว่นี้ก็ไม่ปรากฏบน Exploit-DB และ Packet Storm แต่ต้องระบุข้อจำกัดไว้ด้วยว่าการค้นหาบน GitHub ดังกล่าวค้นจากชื่อและคำอธิบายของคลังเท่านั้น ไม่ได้ค้นเนื้อหาภายในไฟล์
ข้อจำกัดของงานวิจัยชิ้นนี้
งานชิ้นนี้ไม่ใช่การสาธิตว่า AI โจมตีระบบอุตสาหกรรมได้เองโดยอัตโนมัติ เพราะทุกขั้นตอนเป็นเซสชันโต้ตอบที่นักวิจัยคอยกำกับทิศทาง ป้อนโค้ดโจมตีต้นแบบ เฟิร์มแวร์ และเครื่องเป้าหมายให้พร้อม อีกทั้งยังต้องเปลี่ยนโมเดลกลางทางเมื่อความพยายามช่วงแรกติดขัด ต้นทุนที่เกิดขึ้นจริงคือ 535.74 ดอลลาร์สหรัฐและเวลา 8 ชั่วโมงเศษเฉพาะขั้นสุดท้าย ซึ่ง Forescout ยอมรับเองว่าอาจแพงกว่าและช้ากว่าการให้นักวิจัยคนเดิมทำเองด้วยมือ
ความสามารถที่สาธิตได้ยังหยุดอยู่แค่การส่งแพ็กเก็ตออกทางเครือข่ายจากบริบทของ callback อีเทอร์เน็ต ไม่ใช่การควบคุมกระบวนการผลิตหรือสั่งงานตรรกะควบคุม และเมื่อพยายามขยับไปไกลกว่านั้นก็จบลงด้วยการทำให้อุปกรณ์พังถาวร ซึ่งเป็นบทเรียนที่ Forescout สรุปไว้เองว่าความเสี่ยงเฉพาะหน้าไม่ใช่การที่เอเจนต์ตัดสินใจโจมตีตัวควบคุมเอง แต่คือการที่เอเจนต์ซึ่งได้รับอนุญาตให้ทำงานอยู่แล้วลงมือผิดพลาดบนระบบจริงที่ความล้มเหลวมีผลต่อการเดินเครื่องจริง ๆ
ผลกระทบ
ผู้ที่ได้รับผลกระทบตรงที่สุดคือโรงงานและระบบสาธารณูปโภคที่ใช้ตัวควบคุมของ WAGO ในรายการข้างต้น เพราะช่องโหว่มีคะแนน CVSS 9.8 เข้าถึงได้ก่อนยืนยันตัวตน และไม่มีแพตช์ให้อัปเดต เท่ากับความเสี่ยงถูกผลักไปอยู่ที่มาตรการรอบนอกทั้งหมด ทั้งการปิดพอร์ต การแบ่งส่วนเครือข่าย และการเฝ้าระวัง ซึ่งต่างจากช่องโหว่ในระบบไอทีทั่วไปที่ปิดจบได้ด้วยการอัปเดต
ในเชิงภาพรวม สิ่งที่งานวิจัยนี้เปลี่ยนไม่ใช่ความสามารถสูงสุดของผู้โจมตี แต่คือจำนวนคนที่ทำได้ เพราะการย้ายโค้ดโจมตีข้ามรุ่นฮาร์ดแวร์เคยเป็นงานที่ต้องอาศัยผู้เชี่ยวชาญด้านวิศวกรรมย้อนกลับระบบฝังตัวโดยเฉพาะ เมื่อผู้ช่วยที่เข้าถึงเทอร์มินัลและเครื่องมืออย่าง Ghidra ได้ช่วยลดภาระส่วนนี้ลง ช่องโหว่เก่าที่เคยถูกจัดว่าไม่เร่งด่วนเพราะ “ไม่มีใครเขียนโค้ดโจมตีขึ้นมาใช้จริง” ก็ต้องถูกประเมินใหม่ ซึ่งเป็นข้อสรุปที่ Forescout ระบุไว้ตรง ๆ ว่าองค์กรควรทบทวนการคำนวณความเสี่ยงเดิมของตัวเอง
บริบทที่ทำให้เรื่องนี้เร่งด่วนขึ้นคือหน่วยงานสหรัฐฯ ทั้ง NSA, CISA, FBI, กระทรวงพลังงาน และสำนักงานปกป้องสิ่งแวดล้อม เพิ่งออกประกาศเตือนร่วมเมื่อวันที่ 19 สิงหาคมถึงภัยที่กำลังดำเนินอยู่ต่อ PLC ตระกูล Siemens S7 ที่เปิดสู่อินเทอร์เน็ตจากสคริปต์โจมตีที่สร้างด้วย AI (ดูโพสต์ 2026/08/130 ) ขณะที่ FBI และ EPA รายงานการโจมตีระบบประปาในอย่างน้อย 7 รัฐตั้งแต่วันที่ 27 กรกฎาคม โดยบางกรณีทำให้การเดินระบบเสียหาย ซึ่งผู้โจมตีเพียงเปลี่ยนไอพีและรหัสผ่านบนตัวควบคุม Rockwell Automation MicroLogix ที่เปิดสู่อินเทอร์เน็ตโดยไม่ต้องใช้โค้ดโจมตีเลยด้วยซ้ำ (ดูโพสต์ 2026/07/311 )
คำแนะนำ
องค์กรที่ใช้ตัวควบคุม WAGO ตามรายการควรถือว่าอุปกรณ์เหล่านี้จะไม่มีแพตช์ และวางแผนบนสมมติฐานนั้น โดยปิดหรือบล็อกบริการ FTP บนพอร์ต 21 ที่ตัวอุปกรณ์และที่ไฟร์วอลล์ แยกเครือข่าย OT ออกจากเครือข่ายไอทีและอินเทอร์เน็ตด้วยการแบ่งส่วนที่บังคับใช้จริง ไม่ใช่แค่แยก VLAN บนกระดาษ และตรวจสอบว่าไม่มีตัวควบคุมตัวใดเปิดสู่อินเทอร์เน็ตโดยตรง
ควรจัดทำบัญชีอุปกรณ์ OT ให้ครบพร้อมระบุรุ่นและเฟิร์มแวร์ เพราะประกาศของ CERT@VDE ระบุช่วงเฟิร์มแวร์ที่ได้รับผลกระทบต่างกันในแต่ละรุ่น และมีสองรุ่นที่สถานะการแก้ไขยังไม่ถูกระบุไว้เลย องค์กรที่ใช้สองรุ่นนั้นควรติดต่อผู้ผลิตเพื่อขอความชัดเจนโดยตรง
สำหรับทีมที่เริ่มนำเอเจนต์ AI มาช่วยงานฝั่ง OT ควรกำหนดขอบเขตให้ชัดว่าห้ามเข้าถึงอุปกรณ์ที่เดินระบบจริงเด็ดขาด และให้ทำงานได้เฉพาะบนอุปกรณ์ทดสอบที่แยกออกมา เพราะบทเรียนจากการทดลองครั้งนี้คือความเสียหายเกิดจากการเขียนหน่วยความจำผิดตำแหน่งจนอุปกรณ์พังถาวร ซึ่งในสภาพแวดล้อมจริงหมายถึงสายการผลิตหรือระบบสาธารณูปโภคที่หยุดเดิน
