สรุปสั้น
บริษัท Fortinet ออกมาเตือนว่าช่องโหว่ร้ายแรงในแพลตฟอร์มจัดการเวิร์กโฟลว์ Orkes Conductor กำลังถูกใช้โจมตีจริงในวงกว้าง ช่องโหว่ดังกล่าวคือ CVE-2026-58138 ที่ได้คะแนนความรุนแรง CVSS v3.1 สูงถึง 9.8 (และ CVSS v4 ที่ 9.3) เป็นช่องโหว่ประเภทรันโค้ดจากระยะไกลโดยไม่ต้องยืนยันตัวตน (unauthenticated remote code execution) กระทบ Orkes Conductor ตั้งแต่เวอร์ชัน 3.21.21 ไปจนถึงก่อน 3.30.2 โดยผู้โจมตีสามารถสั่งรันคำสั่งระบบปฏิบัติการตามอำเภอใจได้ด้วยการส่งนิยามเวิร์กโฟลว์แบบ inline ที่ฝังคำสั่ง JavaScript หรือ Python เข้าไปยัง API ของแพลตฟอร์มก่อนการยืนยันตัวตน
รากของปัญหาอยู่ที่ตัวประเมินนิพจน์ GraalVM ที่ไม่ได้อยู่ในแซนด์บ็อกซ์และถูกตั้งค่าเปิดสิทธิ์เข้าถึงโฮสต์แบบไม่จำกัด (HostAccess.ALL หรือ allowAllAccess(true)) ทำให้ผู้โจมตีหลุดออกจากสภาพแวดล้อมสคริปต์ที่ควรถูกจำกัด แล้วสั่งรันคำสั่งด้วยสิทธิ์ของโพรเซส Conductor ได้ ความเคลื่อนไหวนี้น่ากังวลเพราะ Fortinet ระบุว่าได้เห็นความพยายามโจมตีจำนวนมากในช่วงเวลาสั้น ๆ โดย ณ วันที่ 9 กันยายน 2569 บริษัทบล็อกความพยายามโจมตีได้ถึง 1,290 ครั้งภายใน 24 ชั่วโมง คิดเป็นการเพิ่มขึ้น 132% ผู้ใช้ที่ยังไม่แก้ไขควรอัปเกรดเป็นเวอร์ชัน 3.30.2 ขึ้นไปโดยด่วน
รายละเอียดข่าว
เว็บไซต์ The Hacker News รายงานเมื่อวันที่ 19 กันยายน พ.ศ. 2569 ว่า บริษัท Fortinet ตรวจพบการโจมตีจริงที่พุ่งเป้าไปยังเซิร์ฟเวอร์ Orkes Conductor ซึ่งมีช่องโหว่ CVE-2026-58138
ตามคำอธิบายในฐานข้อมูลช่องโหว่แห่งชาติของสหรัฐฯ (NVD) ช่องโหว่นี้เปิดทางให้ผู้โจมตีจากระยะไกลรันคำสั่งระบบปฏิบัติการตามอำเภอใจได้ ด้วยการส่งนิยามเวิร์กโฟลว์แบบ inline ที่บรรจุนิพจน์ JavaScript หรือ Python ที่เป็นอันตรายเข้าไปยัง endpoint ของ workflow API ก่อนการยืนยันตัวตน โดยระบุว่าผู้โจมตีสามารถใช้ประโยชน์จากตัวประเมิน GraalVM ที่ไม่ได้อยู่ในแซนด์บ็อกซ์ซึ่งตั้งค่า HostAccess.ALL หรือ allowAllAccess(true) ผ่าน task ประเภท INLINE, LAMBDA, DO_WHILE และ SWITCH เพื่อเรียกคำสั่งระบบผ่าน Java reflection หรือการเรียก subprocess โดยตรง
ในการแจ้งเตือนการระบาด (outbreak alert) ที่ออกในสัปดาห์นี้ Fortinet ระบุว่าเห็นผู้โจมตีพุ่งเป้าไปยังเซิร์ฟเวอร์ Orkes Conductor ที่มีช่องโหว่อย่างจริงจัง ด้วยการส่งนิยามเวิร์กโฟลว์ที่สร้างขึ้นเป็นพิเศษ “เพราะตัวประเมินที่มีช่องโหว่สามารถถูกตั้งค่าให้เข้าถึงโฮสต์ได้แบบไม่จำกัด ผู้โจมตีจึงหลุดออกจากสภาพแวดล้อมสคริปต์ที่ตั้งใจไว้และรันคำสั่งระบบปฏิบัติการตามอำเภอใจด้วยสิทธิ์ของโพรเซส Conductor” Fortinet กล่าว
Fortinet ยังเปิดเผยว่า ณ วันที่ 9 กันยายน 2569 บริษัทบล็อกความพยายามโจมตีได้ 1,290 ครั้งในช่วง 24 ชั่วโมง คิดเป็นการเพิ่มขึ้นของกิจกรรมรายวัน 132% และบล็อกไปเกือบ 7,000 ครั้งในช่วงวันที่ 2 ถึง 9 กันยายน 2569 โดยกิจกรรมการโจมตีส่วนใหญ่มาจากเยอรมนี ฮ่องกง อินโดนีเซีย สหรัฐอาหรับเอมิเรตส์ และอินเดีย ด้านข้อมูล telemetry จาก Previdian พบความพยายามโจมตี honeypot สามครั้งตั้งแต่วันที่ 24 กรกฎาคม 2569 จากที่อยู่ IP สองแห่งในฝรั่งเศสและสหรัฐฯ ขณะที่ Empirical Security ระบุว่าตรวจพบการใช้ช่องโหว่โจมตีจริงล่าสุดเมื่อวันที่ 21 สิงหาคม 2569
รายละเอียดช่องโหว่
CVE-2026-58138 เป็นช่องโหว่รันโค้ดจากระยะไกลแบบไม่ต้องยืนยันตัวตน กระทบ Orkes Conductor เวอร์ชัน 3.21.21 จนถึงก่อน 3.30.2 จุดอ่อนหลักคือการที่ตัวประเมินนิพจน์ GraalVM ไม่ได้ถูกจำกัดในแซนด์บ็อกซ์ และถูกตั้งค่าให้เข้าถึงโฮสต์ได้เต็มที่ (HostAccess.ALL / allowAllAccess(true)) เมื่อผู้โจมตีส่งนิยามเวิร์กโฟลว์ที่ฝังนิพจน์อันตรายผ่าน task ประเภท INLINE, LAMBDA, DO_WHILE หรือ SWITCH โค้ดที่ควรถูกจำกัดอยู่ในบริบทสคริปต์จะสามารถเรียกใช้คำสั่งระบบผ่าน Java reflection หรือ subprocess ได้ ส่งผลให้ผู้โจมตีควบคุมเซิร์ฟเวอร์ด้วยสิทธิ์ของโพรเซส Conductor โดยไม่ต้องผ่านการยืนยันตัวตนใด ๆ
ผลกระทบ
Orkes Conductor เป็นแพลตฟอร์มจัดการและออร์เคสเทรตเวิร์กโฟลว์ที่มักถูกวางไว้เป็นแกนกลางของระบบอัตโนมัติและ microservices ในองค์กร การที่ช่องโหว่เปิดให้รันคำสั่งได้โดยไม่ต้องยืนยันตัวตน และกำลังถูกโจมตีจริงในหลายประเทศ ทำให้เซิร์ฟเวอร์ที่เปิดให้เข้าถึง workflow API จากภายนอกตกอยู่ในความเสี่ยงสูงที่จะถูกยึดเครื่องอย่างเต็มรูปแบบ ผู้โจมตีที่ควบคุมโพรเซส Conductor ได้ย่อมสามารถต่อยอดไปสู่การเคลื่อนตัวในเครือข่าย ขโมยข้อมูล หรือฝังตัวถาวรได้ ยิ่งเป็นระบบที่ประสานงานกับบริการอื่นจำนวนมาก ผลกระทบก็ยิ่งลุกลามได้กว้าง
คำแนะนำ
- อัปเกรด Orkes Conductor เป็นเวอร์ชัน 3.30.2 หรือใหม่กว่า ซึ่งแก้ไขช่องโหว่นี้แล้ว โดยด่วน
- หากยังแพตช์ทันทีไม่ได้ ให้จำกัดการเข้าถึง endpoint ของ workflow API จากภายนอก และวางอินสแตนซ์ Conductor ไว้หลังการควบคุมการเข้าถึงเครือข่ายที่เหมาะสม
- ตรวจสอบการตั้งค่าตัวประเมิน GraalVM ไม่ให้เปิดสิทธิ์เข้าถึงโฮสต์แบบไม่จำกัด (หลีกเลี่ยง HostAccess.ALL / allowAllAccess(true))
- เฝ้าระวังการส่งนิยามเวิร์กโฟลว์ที่น่าสงสัยและการรันคำสั่งที่ไม่คาดคิดบนเซิร์ฟเวอร์
