ช่องโหว่ซ้ำซ้อนใน Apache Tomcat แก้ปัญหาครั้งแรกกลายเป็นสร้างช่องโหว่ใหม่
ระบบเว็บเซิร์ฟเวอร์ยอดนิยมระดับโลกอย่าง Apache Tomcat ซึ่งเป็นหัวใจหลักของแอปพลิเคชันในองค์กรจำนวนมาก ตรวจพบช่องโหว่ด้านความปลอดภัยร้ายแรงถึง 3 จุดพร้อมกัน โดยหนึ่งในนั้นเกิดจากการที่ “แพตช์” หรือตัวแก้ไขที่ออกมาก่อนหน้านี้มีข้อผิดพลาดเสียเอง จนเปิดโอกาสให้ผู้ไม่หวังดีสามารถทะลวงระบบผ่านการเข้ารหัสลับ หรือเข้าถึงข้อมูลสำคัญได้โดยไม่ได้รับอนุญาต
ความผิดพลาดที่คาดไม่ถึง
จุดเริ่มต้นของปัญหาอยู่ที่องค์ประกอบที่เรียกว่า EncryptInterceptor ซึ่งมีหน้าที่ปกป้องข้อมูลในเซสชัน (Session Data) ด้วยการเข้ารหัสลับ แต่เหล่านักวิจัยกลับพบช่องโหว่ที่ทำให้ผู้โจมตีสามารถใช้วิธีที่เรียกว่า Padding Oracle Attack ส่งข้อมูลที่ออกแบบมาเป็นพิเศษเข้าไปสุ่มตรวจสอบการตอบสนองของเซิร์ฟเวอร์ จนค่อยๆ แกะรอยความลับที่ซ่อนอยู่ภายในการเข้ารหัสได้สำเร็จ
ที่น่าตกใจยิ่งกว่าคือ เมื่อทีมพัฒนาพยายามออกแพตช์มาแก้ไข กลับเกิดความผิดพลาดในตัวโค้ดใหม่จนกลายเป็นช่องโหว่อีกจุดหนึ่งที่ยอมให้แฮกเกอร์ข้ามผ่านระบบป้องกัน EncryptInterceptor ไปได้อย่างสิ้นเชิง ทำให้เซิร์ฟเวอร์ที่คิดว่าปลอดภัยแล้วหลังการอัปเดตช่วงแรก ยังคงตกอยู่ในความเสี่ยงแบบไม่รู้ตัว
แนวทางแก้ไข
นอกเหนือจากเรื่องการเข้ารหัสแล้ว ยังมีการตรวจพบปัญหาในกระบวนการตรวจสอบใบรับรองดิจิทัล (Client Certificate) โดยเฉพาะในส่วนที่เรียกว่า OCSP ซึ่งใช้สำหรับเช็กว่าใบรับรองนั้นถูกยกเลิกไปแล้วหรือไม่ ช่องโหว่นี้ส่งผลให้ในบางการตั้งค่า ระบบยอมรับใบรับรองที่หมดอายุหรือถูกยกเลิกไปแล้วให้ผ่านเข้ามาได้
ทางออกเดียวที่ Apache แนะนำคือผู้ดูแลระบบควรเร่งอัปเดต Tomcat เป็นเวอร์ชัน 11.0.21, 10.1.54 หรือ 9.0.117 ขึ้นไปโดยเร็วที่สุด พร้อมทั้งตรวจสอบการตั้งค่าการพิสูจน์ตัวตนด้วยใบรับรองใหม่อีกครั้ง

