ช่องโหว่ blind SSRF (Server-Side Request Forgery)
หนึ่งในช่องโหว่ที่รู้จักในระบบการทำงานของ WordPress เป็นช่องโหว่ blind SSRF (Server-Side Request Forgery) ที่เกิดจากข้อบกพร่องในฟีเจอร์ pingback
ซึ่งเป็นฟีเจอร์ที่อนุญาตให้เว็บไซต์ WordPress เชื่อมต่อกับเซิร์ฟเวอร์อื่น ๆ และดึงข้อมูลจาก URL ที่ให้มาเพื่อแสดงผลหรือดึงข้อมูลเสริม อย่างไรก็ตามในกรณีนี้ เนื่องจากข้อบกพร่องในกระบวนการตรวจสอบการตรวจสอบและการร้องขอ HTTP นั้นมีข้อผิดพลาด TOCTOU (Time-of-Check to Time-of-Use) race condition ผู้โจมตีสามารถเข้าถึงเซิร์ฟเวอร์ภายในที่ถูกห้ามโดยชัดเจนได้โดยไม่ต้องผ่านการตรวจสอบตามเงื่อนไขที่กำหนดไว้
ในการโจมตีด้วยช่องโหว่นี้ ผู้โจมตีสามารถสร้างการร้องขอ pingback ที่มี URL ชี้ไปยังเซิร์ฟเวอร์ภายในที่ถูกห้าม ซึ่ง WordPress จะทำการตรวจสอบ URL เพื่อให้แน่ใจว่าอยู่ภายในขอบเขตที่อนุญาต อย่างไรก็ตามเนื่องจากมีการแข่งขันระหว่างการตรวจสอบการตรวจสอบและการร้องขอ HTTP ผู้โจมตีสามารถเปลี่ยนแปลง URL หลังจากการตรวจสอบและก่อนการส่งร้องขอ HTTP ดังนั้น WordPress จะดำเนินการส่งร้องขอ HTTP ไปยัง URL ที่ถูกเปลี่ยนแปลงโดยผู้โจมตี
ผู้โจมตีสามารถส่งร้องขอ HTTP ไปยังเซิร์ฟเวอร์ภายในที่ถูกห้ามได้ และจะสามารถเข้าถึงข้อมูลหรือทำความเสียหายกับเซิร์ฟเวอร์ภายในได้ตามที่ผู้โจมตีต้องการ อย่างไรก็ตามเพื่อใช้งานช่องโหว่นี้ผู้โจมตีจำเป็นต้องมีความรู้และความเข้าใจในการสร้างร้องขอ pingback และเครื่องมือที่เหมาะสมในการโจมตี เนื่องจากเป็นช่องโหว่ที่มีความซับซ้อนและเกี่ยวข้องกับกระบวนการการทำงานภายในของ WordPress
สำหรับผู้ใช้งาน WordPress ควรทำการอัปเดตระบบปฏิบัติการและซอฟต์แวร์ WordPress เป็นรุ่นล่าสุดอยู่เสมอ เนื่องจากผู้พัฒนา WordPress จะทำการแก้ไขช่องโหว่ที่รู้จักและปรับปรุงความปลอดภัยในเวอร์ชันล่าสุดของซอฟต์แวร์
นอกจากนี้ควรพิจารณาการปิดการใช้งานฟีเจอร์ pingback หากไม่จำเป็น เพื่อลดโอกาสเกิดการโจมตีจากช่องโหว่นี้ และควรพิจารณาใช้ความปลอดภัยเพิ่มเติมเช่นการกรองและตรวจสอบ URL ก่อนที่จะทำการส่งร้องขอ HTTP เพื่อลดความเสี่ยงในการเปิดเผยข้อมูลภายใน สุดท้ายควรติดตามและรับทราบข่าวสารเกี่ยวกับช่องโหว่และอัปเดตล่าสุด
WordPress เวอร์ชันล่าสุด (รุ่น 5.5) การปิดใช้งานฟีเจอร์ pingback สามารถทำได้ผ่านการตั้งค่าในแผงควบคุม (Dashboard) ดังนี้:
- เข้าสู่ระบบแอดมินของเว็บไซต์ WordPress ของคุณโดยใช้ข้อมูลประจำตัวผู้ดูแลระบบของคุณ.
- เมื่อเข้าสู่ระบบแล้ว ให้เลือกเมนู "Settings" (การตั้งค่า) ที่แถบด้านซ้ายของหน้าจอ.
- เลือก "Discussion" (การสนทนา) จากเมนูย่อยที่ปรากฏ.
- เลื่อนลงมาจนกว่าคุณจะพบ "Default article settings" (การตั้งค่าบทความเริ่มต้น).
- คลิกเพื่อยกเลิกการเลือก "Allow link notifications from other blogs (pingbacks and trackbacks)" (อนุญาตการแจ้งเตือนลิงก์จากบล็อกอื่น ๆ (pingbacks และ trackbacks)).
- บันทึกการเปลี่ยนแปลงที่ทำเรียบร้อยแล้ว.