โปรดอัพเดตเบราว์เซอร์

เบราว์เซอร์ที่คุณใช้เป็นเวอร์ชันเก่าซึ่งไม่สามารถใช้บริการของเราได้ เราขอแนะนำให้อัพเดตเบราว์เซอร์เพื่อการใช้งานที่ดีที่สุด

ไอที

Plugin WPML บน Wordpress มีช่องโหว่ RCE กระทบเว็บไซต์กว่าล้านเว็บ

Thaiware

อัพเดต 05 ก.ย 2567 เวลา 04.00 น. • เผยแพร่ 05 ก.ย 2567 เวลา 04.00 น. • Sarun_ss777
ช่องโหว่ในฟังค์ชั่นของ Plugin WPML เปิดช่องให้แฮกเกอร์ใช้ Twig Template Injection แทรกโค้ดเข้าขโมยข้อมูลได้

การทำเว็บไซต์ที่รองรับหลายภาษา เรียกได้ว่าได้กลายเป็นมาตรฐานไปแล้วสำหรับการทำเว็บไซต์เชิงธุรกิจในปัจจุบัน เฉพาะเว็บไซต์ในไทยก็มักจะต้องมีทางเลือกอย่างน้อยหน้าภาษาไทย และภาษาอังกฤษให้ลูกค้า ซึ่งการที่จะทำแบบนี้ ถ้าไม่อยากยุ่งยากสร้างระบบเองก็อาจต้องพึ่ง Plugin บางตัว เช่น WPML ในกรณีที่ทำเว็บไซต์บน Wordpress เป็นต้น แต่ถ้า Plugin ดังกล่าวมีช่องว่างร้ายแรงล่ะ ?

จากรายงานโดยเว็บไซต์ Cyber Security News ได้รายงานถึงการตรวจพบช่องโหว่ร้ายแรงที่อยู่บน Plugin สำหรับการทำเว็บไซต์หลากภาษาบน Wordpress ที่มีชื่อว่า WordPress Multilingual หรือ WPML โดยนักวิจัยด้านความปลอดภัยไซเบอร์นิรนามที่รู้จักกันในชื่อ “Stealth Copter ”

ช่องโหว่นั้นมีชื่อว่า CVE-2024-6386 ที่ได้รับคะแนนความรุนแรงเป็น CVS Score ถึง 9.9 คะแนน เต็ม 10 เนื่องจากช่องโหว่นี้สามารถเปิดช่องให้แฮกเกอร์สามารถเปิดช่องให้แฮกเกอร์สามารถทำการรันโค้ดที่ไม่ได้รับอนุญาตจากระยะไกลได้ (Remote Code Execution หรือ RCE) ได้ โดยช่องโหว่นี้จะส่งผลต่อผู้ที่ใช้งาน WPML เวอร์ชัน 4.6.12 และก่อนหน้าทั้งหมด

โดยการทำงานของช่องโหว่ดังกล่าวนั้นกล่าวคือ ช่องโหว่จะถูกเปิดออกหลังเนื่องมาจากข้อผิดพลาดในการยืนยันความถูกต้องของการป้อนข้อมูลเข้า (Input Validation) จากการป้อนข้อมูลด้วย Twig ซึ่งเป็น Template Engine ที่ได้รับความนิยมในหมู่นักพัฒนาเว็บไซต์บน Wordpress โดยตัวช่องโหว่ในการป้อนข้อมูลนั้นถูกพบอยู่ใน "render() function" ที่อยู่ในส่วนของ WPML_LS_Public_API ทำให้แฮกเกอร์สามารถยิง Template (Template Injection) เข้าฝั่งเซิร์ฟเวอร์เปิดช่องให้แฮกเกอร์สามารถรันโค้ดจากระยะไกลได้ตามใจชอบได้ ซึ่งแหล่งข่าวได้ระบุกว่าช่องโหว่ดังกล่าวนั้นอยู่ในฟังก์ชันที่ระบุด้านล่าง

protected function render( $args, $twig_template = null ) {

$defaults_slot_args = $this->get_default_slot_args( $args );

$slot_args = array_merge( $defaults_slot_args, $args );

$slot = $this->get_slot_factory()->get_slot( $slot_args );

$slot->set( 'show', 1 );

$slot->set( 'template_string', $twig_template );

if ( $slot->is_post_translations() ) {

$output = $this->render->post_translations_label( $slot );

} else {

$output = $this->render->render( $slot );

}

return $output;

}

และจากการทดสอบการใช้งานช่องโหว่นั้น ทางทีมงาน Wordfence ซึ่งเป็นกลุ่มผู้พัฒนา Plugin ด้านความปลอดภัยสำหรับเว็บไซต์ที่สร้างขึ้นโดยใช้ Wordpress พบว่า ช่องโหว่ดังกล่าวสามารถใช้งานได้อย่างง่ายดาย โดยทดสอบการแทรกโค้ด PHP Function ที่มีชื่อว่า phpinfo() เพื่อสั่งให้เปิดเผยข้อมูลสำคัญของตัวเซิร์ฟเวอร์ ด้วยการแทรกโค้ดลงในส่วน [wpml_language_switcher] ซึ่งรูปแบบจะเป็นตามตัวอย่างที่ปรากฎอยู่ด้านล่าง

[wpml_language_switcher]

{% set call_user_func = c~a~l~l~~u~s~e~r~~f~u~n~c %}

{% set phpinfo = p~h~p~i~n~f~o %}

{{ {1: phpinfo}|filter(call_user_func) }}

[/wpml_language_switcher]

แต่ข่าวดีสำหรับผู้ใช้งานก็คือ ทางทีมพัฒนา Plugin ดังกล่าวหลังจากที่ได้รับการแจ้งเตือนจากทาง Wordfence ถึงการมีอยู่ของช่องโหว่แล้ว ก็ได้ทำการออกอัปเดตมาเพื่ออุดช่องโหว่ดังกล่าวบนเวอร์ชัน 4.6.13 เป็นที่เรียบร้อยแล้ว ในช่วงวันที่ 20 สิงหาคม ที่ผ่านมา ดังนั้น ผู้ดูแลเว็บไซต์ท่านใดที่กำลังใช้งาน Plugin ตัวดังกล่าวอยู่ขอให้ทำการอัปเดตให้เรียบร้อย รวมทั้งทำการตรวจสอบ (Audit) ตัวเว็บไซต์ว่า ได้มีแทรกโค้ดแปลกปลอมโดยผู้ไม่ประสงค์ดีหรือไม่ ถ้ามีให้ทำการลบออกทันทีเพื่อป้องกันภัยที่อาจจะเกิดขึ้น

➤ Website : https://www.thaiware.com
➤ Facebook : https://www.facebook.com/thaiware
➤ Twitter : https://www.twitter.com/thaiware
➤ YouTube : https://www.youtube.com/thaiwaretv

ดูข่าวต้นฉบับ
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...