ตอนนี้มีรายงานว่าบริการสำคัญๆ จำนวนมากมีช่องโหว่นี้ เช่น Steam, iCloud, หรือ Minecraft ตลอดจนแอปแทบทุกตัวที่ใช้ Apache Struts
ช่องโหว่นี้เกิดจากความสามารถในการดึงข้อมูลจากภายนอกมาเขียน log (message lookup) คนร้ายจะใส่ข้อมูลกระตุ้นให้ log4j ดึงข้อมูลผ่านโปรโตคอล JNDI (Java Naming and Directory Interface) จากเซิร์ฟเวอร์ที่คนร้ายกำหนด จากนั้นคนร้ายจะส่ง java class รันโค้ดเข้าไปยัง log4j เพื่อรันโค้ดในสิทธิ์ระดับเดียวกับตัวแอปพลิเคชั่นได้
ในจาวาตั้งแต่ปี 2018 เป็นต้นมา (6u211, 7u201, 8u191, และ 11.0.1) การตั้งค่าเริ่มต้นของ JNDI ในจาวาปิดไม่ให้รันโค้ดจากภายนอกแล้ว แต่ฟีเจอร์นี้ของ log4j ก็ยังเปิดทางให้คนร้ายโจมตีได้อยู่ดี ขึ้นกับว่าในแอปพลิเคชั่นมีไลบรารีอะไรอยู่บ้าง
ทาง log4j ออกอัพเดตเวอร์ชั่น 2.15 มาแก้ช่องโหว่นี้แล้ว และหากยังไม่สามารถอัพเดตได้ก็สามารถตั้งค่า formatMsgNoLookups=true
ไปชั่วคราว หรือหากไม่ได้ใช้ฟีเจอร์ lookup อยู่แล้วเปิดทิ้งไว้เลยก็ได้เช่นกัน
ที่มา: Blognone
ไม่มีความคิดเห็น:
แสดงความคิดเห็น