เมื่อวันที่ 7 พฤษภาคม 2024 นักวิจัยด้านความปลอดภัยของ Devcore ชื่อ Orange Tsai ได้ค้นพบ และรายงานช่องโหว่การเรียกใช้โค้ดที่เป็นอันตรายจากระยะไกล (RCE) หมายเลข CVE-2024-4577 ให้กับทีมงาน PHP อย่างเป็นทางการ โดยช่องโหว่นี้เกิดจากข้อผิดพลาดในการแปลงรหัสตัวอักษร โดยเฉพาะอย่างยิ่งในฟีเจอร์ “Best Fit” บนระบบปฏิบัติการ Windows
การโจมตีโดยใช้ช่องโหว่นี้อาจทำให้ผู้ไม่หวังดีสามารถเรียกใช้โค้ดใด ๆ ได้จากระยะไกล ซึ่งเป็นความเสี่ยงด้านความปลอดภัยที่สำคัญต่อการติดตั้ง PHP ทุกเวอร์ชันที่ทำงานบนแพลตฟอร์ม Windows เมื่อเห็นถึงความร้ายแรงของปัญหานี้ ทีมพัฒนา PHP ได้แก้ไขช่องโหว่ CVE-2024-4577 อย่างรวดเร็ว โดยการปล่อยแพตช์อัปเดตอย่างเป็นทางการเมื่อวันที่ 6 มิถุนายน 2024
เมื่อวันที่ 8 มิถุนายน 2024 นักวิจัยด้านความปลอดภัยไซเบอร์จาก Imperva ได้รายงานกรณีแรกที่ผู้โจมตีใช้ประโยชน์จากช่องโหว่นี้ โดยผู้โจมตีใช้ช่องโหว่นี้ในการแพร่กระจายแรนซัมแวร์บนระบบที่มีช่องโหว่ โดยปฏิบัติการนี้ถูกระบุว่าเป็นส่วนหนึ่งของแคมเปญแรนซัมแวร์ 'TellYouThePass'
Cyble Global Sensor Intelligence (CGSI) ตรวจพบการพยายามสแกนหลายครั้งที่เกี่ยวข้องกับช่องโหว่ CVE-2024-4577 จากหลาย IP ที่น่าสนใจคือการพยายามสแกนจาก IP 51[.]79[.]19[.]53 ซึ่งเกี่ยวข้องกับแคมเปญของมัลแวร์ Muhstik ที่ถูกระบุโดย Aqua Nautilus เมื่อเร็ว ๆ นี้ การพยายามโจมตีจากที่อยู่ IP นี้ แสดงให้เห็นถึงความเกี่ยวข้องกับผู้โจมตีที่เคยใช้ช่องโหว่ RocketMQ และอาจกำลังพยายามใช้ประโยชน์จากช่องโหว่ CVE-2024-4577 เพื่อเรียกใช้งานเพย์โหลดที่เป็นอันตราย
Muhstik ถูกระบุว่าเป็นภัยคุกคามที่มีเป้าหมายเป็นอุปกรณ์ IoT และเซิร์ฟเวอร์ที่ใช้ระบบปฏิบัติการ Linux โดยมีชื่อเสียงในเรื่องความสามารถในการแพร่กระจายมัลแวร์สู่อุปกรณ์ และใช้อุปกรณ์ที่ติดมัลแวร์ในการดำเนินการต่าง ๆ เช่น การขุด cryptocurrency และการโจมตีแบบ Distributed Denial of Service (DDoS)
Cyble Global Sensor Intelligence (CGSI) findings
WatchTowr Labs ได้เผยแพร่ PoC สำหรับการโจมตี CVE-2024-4577 หนึ่งวันหลังจากที่แพตช์ถูกปล่อยออกมา โดยในวันถัดมา Cyble Global Sensor Intelligence (CGSI) ได้ตรวจพบความพยายามในการใช้ช่องโหว่นี้ โดยเริ่มตั้งแต่วันที่ 8 มิถุนายน 2024
Vulnerability Summary
CVE-2024-4577: Command injection vulnerability
CVSS:3.1: 9.8
Severity: Critical
Vulnerable Versions:
ช่องโหว่นี้ส่งผลกระทบต่อ PHP ทุกเวอร์ชันที่ทำงานในโหมด CGI (Common Gateway Interface) บนระบบปฏิบัติการ Windows หรือเปิด PHP binary ในเวอร์ชันดังต่อไปนี้
PHP 8.3 < 8.3.8
PHP 8.2 < 8.2.20
PHP 8.1 < 8.1.29
ใน PHP เวอร์ชัน 8.1.* ก่อน 8.1.29, 8.2.* ก่อน 8.2.20, และ 8.3.* ก่อน 8.3.8 เมื่อใช้ Apache และ PHP-CGI บน Windows หากระบบถูกตั้งค่าให้ใช้ code pages บางประเภท Windows อาจใช้ "Best-Fit" เพื่อแทนที่ตัวอักษรใน command line ที่ให้กับฟังก์ชัน Win32 API ซึ่ง โมดูล PHP CGI อาจตีความตัวอักษรเหล่านั้นผิดเป็น PHP options ซึ่งช่วยให้ผู้โจมตีสามารถส่ง options ไปยังไบนารีของ PHP ที่กำลังทำงานอยู่ ทำให้สามารถเรียกใช้งานสคริปต์ หรือรันโค้ด PHP ใด ๆ บนเซิร์ฟเวอร์ได้ เป็นต้น
Vulnerability Details
ช่องโหว่นี้ส่งผลกระทบต่อโหมด CGI ของ PHP ซึ่งเว็บเซิร์ฟเวอร์จะตีความ HTTP request และส่งต่อไปยังสคริปต์ PHP เพื่อประมวลผล ยกตัวอย่างเช่น query strings จะถูกแยก และส่งไปยัง PHP interpreter ผ่านทาง command line เช่น การรัน "php.