ช่องโหว่ Authentication Bypass ใน FortiWeb ทำให้ผู้โจมตีสามารถเข้าสู่ระบบในฐานะผู้ใช้ที่มีอยู่ได้

พบช่องโหว่ Authentication Bypass ระดับ Critical บน FortiWeb ที่ทำให้ผู้โจมตีจากภายนอก ซึ่งไม่ต้องผ่านการยืนยันตัวตน สามารถปลอมแปลงเป็นผู้ใช้ที่มีอยู่แล้วในระบบที่ได้รับผลกระทบได้

ช่องโหว่นี้มีหมายเลข CVE-2025-52970 โดยมีคะแนน CVSS 7.7 ส่งผลกระทบต่อ FortiWeb หลายเวอร์ชัน สาเหตุมาจากการจัดการพารามิเตอร์ที่ไม่ถูกต้องในกลไก Cookie Parsing

ช่องโหว่ Out-of-Bounds ใน FortiWeb

ช่องโหว่นี้เกิดจาก out-of-bounds read ในโค้ดที่ใช้ประมวลผลคุกกี้ของ FortiWeb ซึ่งเกี่ยวข้องกับการจัดการพารามิเตอร์ที่ไม่เหมาะสม

ในระหว่าง Cookie Parsing ระบบจะใช้พารามิเตอร์ “Era” เพื่อเลือก encryption keys จาก array ในหน่วยความจำที่ใช้ร่วมกัน แต่กลับไม่มีการตรวจสอบความถูกต้องอย่างเหมาะสม

คุกกี้เซสชันของ FortiWeb ประกอบด้วย 3 ส่วน ได้แก่ Era (ตัวระบุประเภทของเซสชัน), Payload (ข้อมูลเซสชันที่ถูกเข้ารหัส รวมถึง username และ role) และ AuthHash (HMAC SHA1 signature)

โดยการจัดการค่าพารามิเตอร์ Era ให้มีค่าระหว่าง 2 ถึง 9 ผู้โจมตีสามารถบังคับให้ระบบอ่านตำแหน่งหน่วยความจำที่ไม่มีการกำหนดค่าเริ่มต้น ซึ่งอาจทำให้ใช้ encryption keys ที่เป็นค่า Null หรือศูนย์

การปรับค่านี้จะลด cryptographic security เป็นศูนย์ได้ เนื่องจากความน่าจะเป็นที่คีย์จะเป็นศูนย์ทั้งหมดจะเปลี่ยนจาก ½^n (ในสถานการณ์ปกติ) ไปเป็น 1 (guaranteed ภายใต้การโจมตีนี้)

นักวิจัย Aviv Y ได้สาธิตช่องโหว่นี้ด้วย Proof-of-Concept ที่มุ่งเป้าไปยัง /api/v2.0/system/status.systemstatus endpoint และสามารถปลอมตัวเป็นผู้ดูแลระบบได้สำเร็จผ่านการส่ง cookie requests ที่ถูกสร้างขึ้นเฉพาะ

การลดผลกระทบ

ช่องโหว่นี้ส่งผลกระทบต่อ FortiWeb เวอร์ชัน 7.0.0 – 7.0.10, 7.2.0 – 7.2.10, 7.4.0 – 7.4.7 และ 7.6.0 – 7.6.3 ในขณะที่ FortiWeb 8.0 ไม่ได้รับผลกระทบ

องค์กรควรอัปเกรดเป็นเวอร์ชันที่ได้รับการแก้ไขแล้ว ได้แก่ 7.0.11+, 7.2.11+, 7.4.8+, or 7.6.4+ ตามลำดับ

การโจมตีต้องมีเงื่อนไขเฉพาะบางอย่าง เช่น ข้อมูลเกี่ยวกับอุปกรณ์ที่ปกติไม่ได้มีการเปิดเผยต่อสาธารณะ และเซสชันผู้ใช้งานเป้าหมายที่ใช้งานอยู่ระหว่างการโจมตี

ความซับซ้อนของการโจมตีจะเกี่ยวข้องกับการใช้ฟังก์ชัน Brute-Force เพื่อระบุ unknown validation number ผ่านฟังก์ชัน refresh_total_logins() ซึ่งโดยทั่วไปต้องใช้ความพยายามน้อยกว่า 30 ครั้ง และมี O(N) computational cost

นักวิจัยด้านความปลอดภัย Aviv Y ได้รับเครดิตเป็นผู้ค้นพบช่องโหว่นี้ ได้พัฒนา exploit chain แบบสมบูรณ์ที่ใช้ /ws/cli/open endpoint เพื่อเข้าถึง CLI

Fortinet ได้ออกแพตช์แก้ไขช่องโหว่นี้แล้ว ขอแนะนำให้ผู้ใช้อัปเดตระบบด้วยแพตช์ที่เผยแพร่เมื่อวันที่ 12 สิงหาคม 2025 ที่ผ่านมา

ที่มา : cybersecuritynews