ช่องโหว่บน ServiceNow Platform อาจทำให้ผู้ไม่หวังดีสามารถขโมยข้อมูลสำคัญได้

ช่องโหว่ที่สำคัญบนแพลตฟอร์มของ ServiceNow หมายเลข CVE-2025-3648 และถูกเรียกว่า “Count(er) Strike” ซึ่งอาจทำให้ผู้ไม่หวังดีสามารถขโมยข้อมูลที่สำคัญออกไปได้ เช่น ข้อมูลส่วนบุคคล (PII), ข้อมูล Credentials และข้อมูลทางการเงิน

ช่องโหว่ที่มีระดับความรุนแรงสูงนี้ อาศัยการโจมตีจาก UI element ที่แสดง record count บนหน้ารายการต่าง ๆ ผ่านเทคนิค enumeration และ query filters ซึ่งอาจส่งผลกระทบต่อทุก instances ของ ServiceNow โดยมี tables ข้อมูลหลายร้อย tables ที่ตกอยู่ในความเสี่ยง

ที่น่ากังวลเป็นพิเศษคือ ช่องโหว่ดังกล่าวต้องการสิทธิ์ในการเข้าถึงเพียงเล็กน้อยเท่านั้น และสามารถถูกโจมตีโดยผู้ใช้ที่มีความปลอดภัยต่ำ หรือแม้แต่ผู้ใช้แบบไม่ระบุตัวตน (anonymous users) ที่ลงทะเบียนด้วยตนเองก็สามารถใช้ช่องโหว่นี้ในการโจมตีได้

ช่องโหว่ Count(er) Strike (CVE-2025-3648)

Varonis Threat Labs รายงานว่า ช่องโหว่ Count(er) Strike ส่งผลกระทบต่อกลไก Access Control List (ACL) ของ ServiceNow ซึ่งทำหน้าที่จัดการการเข้าถึงข้อมูลโดยต้องผ่านเงื่อนไขหลัก 4 ประการ ได้แก่ required roles, security attribute conditions, data conditions และ script conditions

เมื่อการเข้าถึงถูกปฏิเสธเนื่องจากไม่ผ่านเงื่อนไขสองข้อแรก ระบบ ServiceNow จะแสดงหน้าเปล่าพร้อมข้อความที่ระบุว่า “Security constraints prevent access to requested page” (ข้อจำกัดด้านความปลอดภัยทำให้ไม่สามารถเข้าถึงหน้าที่ร้องขอได้)

อย่างไรก็ตาม หากการเข้าถึงถูกปฏิเสธเนื่องจากไม่ผ่าน data conditions หรือ script conditions ระบบจะเปิดเผยจำนวนรายการข้อมูลทั้งหมด พร้อมกับข้อความที่ระบุว่า “Number of rows removed from this list by Security constraints.” (จำนวน rows ที่ถูกลบออกจากรายการนี้เนื่องจากข้อจำกัดด้านความปลอดภัย)

การเปิดเผยข้อมูลนี้ทำให้เกิดช่องโหว่ด้านความปลอดภัยที่สำคัญ เนื่องจากผู้ไม่หวังดีสามารถโจมตีจากข้อมูล tables ที่มี rules ACL (Access Control List) ที่มีการกำหนดค่า role requirements และ security attribute conditions ที่ว่างเปล่า หรือมีการอนุญาตสิทธิ์ที่หละหลวมจนเกินไป

ช่องโหว่ดังกล่าวส่งผลกระทบต่อโซลูชันต่าง ๆ ของ ServiceNow หลายตัว รวมถึง IT Service Management (ITSM), Customer Service Management (CSM) และ Human Resources Service Delivery (HRSD) ซึ่งอาจทำให้ข้อมูลที่สำคัญของบริษัทในกลุ่ม Fortune 500 ถูกเปิดเผย โดยบริษัทเหล่านี้คิดเป็น 85% ของฐานลูกค้าของ ServiceNow

ผู้ไม่หวังดีสามารถใช้ช่องโหว่นี้ได้โดยการไล่ลำดับข้อมูลอย่างเป็นระบบ โดยใช้พารามิเตอร์ในการค้นหา (query parameters) และเทคนิคการกรองข้อมูล (filtering techniques) กระบวนการพื้นฐานในการโจมตีจะเกี่ยวข้องกับการสร้าง URL ที่มี query parameters ที่เฉพาะเจาะจงเพื่อดึงข้อมูลจากระบบ

คำสั่ง query นี้จะกรองผลลัพธ์เพื่อแสดงรายการข้อมูลที่ field ใด field หนึ่งที่ขึ้นต้นด้วยตัวอักษร “a” โดยจำนวนผลลัพธ์จะปรากฏในค่า grand_total_rows ภายใน HTML source การโจมตีที่ซับซ้อนมากขึ้นนี้สามารถรวมเงื่อนไขหลายอย่างเข้าด้วยกันได้

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

ช่องโหว่ดังกล่าวยิ่งทวีความรุนแรงมากขึ้นจาก dot-walking feature ของ ServiceNow ที่อนุญาตให้เข้าถึง tables ที่เกี่ยวข้องผ่าน reference fields และความสามารถในการลงทะเบียนด้วยตนเอง (self-registration) ที่เปิดให้ anonymous users สามารถสร้างบัญชี และเข้าถึงระบบเบื้องต้นได้

มาตรการลดความเสี่ยง

ServiceNow ได้แก้ไขช่องโหว่นี้แล้ว โดยการเพิ่มกลไกควบคุมการเข้าถึงแบบใหม่ (access control mechanisms) เข้ามาใช้

Query ACLs ถูกออกแบบมาเพื่อป้องกันการโจมตีแบบ blind query โดยเฉพาะการจำกัด query operations ให้เหลือเพียง 2 รูปแบบเท่านั้น ได้แก่ query_range (ซึ่งรวม operators ที่มีความเสี่ยง เช่น STARTSWITH, CONTAINS) และ query_match (ซึ่งใช้ operators ที่ปลอดภัย เช่น EQUALS, NOT_EQUALS)

Security data filters จะเพิ่มการจำกัดสิทธิ์ใน record-level โดยอ้างอิงตาม roles และ security attributes พร้อมทั้งทำการกรองผลลัพธ์ และปิดข้อความการแจ้งเตือน “rows removed by security” ที่เคยถูกใช้ในการโจมตี

องค์กรต่าง ๆ ควรรีบตรวจสอบระบบ ServiceNow ของตนในทันที โดยตรวจสอบความถูกต้องของการกำหนดค่า ACL สำหรับข้อมูล tables ทั้งแบบที่สร้างขึ้นเอง และแบบมาตรฐาน และนำกลไกความปลอดภัยแบบใหม่มาปรับใช้กับข้อมูล tables ที่สำคัญ

ที่มา : cybersecuritynews