EST. 2026 — บันทึกงานเซิร์ฟเวอร์จริง SYSADMIN · SECURITY · AI · DIRECTADMIN เล่มที่ 01
THE SYSADMIN ALMANAC
หน้าหลัก / Security Update / WordPress 7.1.3 ปิดช่องโหว่ 7 ตัว (XSS, SQLi, ข้อมูลรั่ว) อัปเดตเลย
Security Update

WordPress 7.1.3 ปิดช่องโหว่ 7 ตัว (XSS, SQLi, ข้อมูลรั่ว) อัปเดตเลย

โดย Ton-Or ·6 ต.ค. 2026·อ่าน 6 นาที
WordPress 7.1.3 ปิดช่องโหว่ 7 ตัว (XSS, SQLi, ข้อมูลรั่ว) อัปเดตเลย

ใครดูแลเว็บ WordPress ให้เปิดหน้า Updates แล้วขึ้น 7.1.3 หรืออย่างน้อยรุ่น backport ของสายที่ใช้อยู่ภายในรอบดูแลถัดไป ถ้าเว็บเปิดคอมเมนต์ให้คนนอกหรือมีผู้ใช้ระดับ Author ให้ทำก่อน

สรุปใน 1 นาที

อาการ/ปัญหา
WordPress core มีช่องโหว่ความปลอดภัย 7 ตัว ทั้ง XSS, SQL injection แบบ second-order, DoS และการเปิดเผยข้อมูลคอมเมนต์
ใครควรอ่าน
ทุกเว็บที่รัน WordPress ก่อน 7.1.3 รวมสายเก่าที่ยังได้ backport
ทางแก้แบบสั้น
อัปเดตเป็น 7.1.3 หรือรุ่น backport ของสายนั้น แล้วเช็กเลขรุ่นด้วย wp core version
ข้ามไปขั้นตอน

พอดีเห็นประกาศ WordPress 7.1.3 ออกมาเมื่อ 6 ต.ค. 2026 ในหน้า news ของโครงการ เลยนั่งอ่านรายการแก้ไขทีละข้อก่อนสรุปให้เพื่อนๆ ที่ดูแลเว็บ WordPress อยู่ รอบนี้ไม่มีช่องโหว่ตัวเดียวที่ดังเป็นพิเศษ แต่เป็นชุดเจ็ดตัวที่กระจายไปหลายส่วนของ core ตั้งแต่หน้าจัดการคอมเมนต์ไปจนถึงตัว export และตัว embed

7ช่องโหว่ความปลอดภัย
4บั๊กทั่วไปที่แก้ด้วย
6 ต.ค.วันที่ปล่อย 7.1.3
ถึง 4.7สายเก่าที่ได้ backport

เกิดอะไรขึ้นในรุ่น 7.1.3

ประกาศของ WordPress เรียกรุ่นนี้ว่า Maintenance and Security Release มีช่องโหว่ความปลอดภัย 7 ตัว กับบั๊กทั่วไปอีก 4 ตัว ไฟล์ที่ถูกแก้ตามหน้า Version 7.1.3 มีตั้งแต่ wp-admin/js/common.js, wp-admin/includes/export.php, class-wp-http.php, class-wp-oembed.php, class-wp-query.php ไปจนถึง post.php และ REST posts controller ส่วน package ที่เป็นส่วนเสริมไม่มีตัวไหนถูกแก้

ผมสรุปทั้งเจ็ดข้อเป็นตารางให้ ชื่อผู้รายงานคือเครดิตตามที่ประกาศเขียนไว้

# ช่องโหว่ (ตามประกาศ) ผู้รายงาน
1 Stored XSS ในหน้าจัดการคอมเมนต์ ทริกเกอร์ผ่านคอมเมนต์ที่รออนุมัติ Trail of Bits ร่วมกับ OpenAI
2 DoS ในเมธอด WP_Http::make_absolute_url() Anthropic
3 SQL injection แบบ second-order ใน WXR export Anthropic
4 ผู้ใช้ระดับ Author ทำให้โพสต์เป็น sticky ได้ Anthropic
5 เปิดเผยคอมเมนต์ของโพสต์ส่วนตัวและโพสต์ที่ยังไม่เผยแพร่ได้โดยไม่ต้องล็อกอิน Ananda Dhakal (Patchstack)
6 XSS ใน Imgur embed Zhengyu Liu, Jingcheng Yang, Gavin Zhong
7 พารามิเตอร์ที่ปลอมได้ในฮุก {status}_{type} ทำให้ชื่อ action ชนกัน Alex Concha (ทีม security ของ WordPress)

ข้อ 3 อธิบายง่ายๆ ได้ว่า second-order คือข้อมูลที่ถูกเก็บลงฐานข้อมูลไปก่อนอย่างปลอดภัย แล้วถูกนำกลับมาต่อเป็นคำสั่ง SQL ในขั้นตอนอื่นภายหลังโดยไม่ได้ escape อีกรอบ ในกรณีนี้คือตอน export ข้อมูลเป็นไฟล์ WXR ส่วนข้อ 5 คือคนทั่วไปที่ไม่ได้ล็อกอินอ่านคอมเมนต์ของโพสต์ที่ควรเป็นส่วนตัวได้

รุ่นความปลอดภัยของ WordPress ที่ออกต่อกัน7.1.117 ก.ย. 202611 ช่องโหว่7.1.222 ก.ย. 2026ระดับ critical 1 ตัว7.1.36 ต.ค. 20267 ช่องโหว่7.1.428 ต.ค. 2026CVE-2026-119977ทุกรุ่นมี backport ให้สายเก่าที่ยังเข้าเกณฑ์ ปัจจุบันถึง 4.7
รุ่น 7.1.3 อยู่ระหว่างรุ่น 7.1.2 ที่ปิดช่องโหว่ critical กับรุ่น 7.1.4 ที่ตามมา ถ้าอัปเดตถึงรุ่นล่าสุดอยู่แล้วก็ได้ของรุ่นนี้ครบ

ระดับความรุนแรง

ผมเปิดประกาศรุ่น 7.1.3 และหน้า Version 7.1.3 ของโครงการแล้ว ไม่มีเลข CVE และไม่มีคะแนน CVSS ระบุไว้ในสองหน้านี้ โครงการบอกแค่ว่าเป็น security release และ "แนะนำให้อัปเดตทันที" ผมเลยจะไม่เดาคะแนนให้ แต่ดูจากเงื่อนไขที่ชื่อข้อบอกเอง ได้ความต่างดังนี้

  • ข้อ 5 ไม่ต้องล็อกอินเลย แต่ผลคือข้อมูลรั่ว ไม่ใช่การยึดเครื่อง
  • ข้อ 1 ต้องมีคอมเมนต์ที่มี payload เข้าไปค้างในคิวรออนุมัติ แล้วมีคนเปิดหน้าจัดการคอมเมนต์ในฐานะแอดมิน ซึ่งเป็นรูปแบบ XSS ที่ใช้จี้ session ของแอดมินได้
  • ข้อ 4 ต้องมีบัญชี Author อยู่แล้ว
  • ประกาศไม่ได้บอกว่ามีการโจมตีจริงกับข้อใดเลย และเพราะยังไม่มีเลข CVE ในประกาศ ผมเลยค้นรายตัวใน CISA KEV ไม่ได้ ข้อมูลถึง 5 พ.ย. 2026 ผมเลยบอกได้แค่ว่าไม่พบคำว่า exploited ในแหล่งที่เปิดอ่าน
อ่านให้ตรงตัว

ประกาศไม่ได้พูดถึงโค้ดโจมตีสาธารณะเลย ทั้งทางว่ามีและทางว่าไม่มี ผมเลยไม่ยืนยันทั้งสองทาง อย่าเอาไปอ่านว่าปลอดภัยเพราะยังไม่มีข่าว

ใครโดนบ้าง รุ่นไหนแก้แล้ว

ประกาศเขียนว่าการแก้ไขเหล่านี้ "เป็นมารยาท" นำไปใส่ในสายเก่าที่ได้รับผลกระทบด้วย และย้ำว่า มีเพียงรุ่นล่าสุดเท่านั้นที่ได้รับการดูแลจริง ผลคือสายที่เก่ากว่าอาจได้ backport หรือไม่ก็ได้ และประกาศไม่ได้ระบุเป็นตารางว่าแต่ละสายแก้ที่เลขไหน ต้องดูเลขรุ่นที่ Dashboard เสนอให้ หรือหน้า releases ของโครงการ ผมเลยไม่ใส่ตารางเลขสายเก่าที่ยืนยันไม่ได้

สถานะ ต้องทำ
สายล่าสุด 7.1.x อัปเดตเป็น 7.1.3 ขึ้นไป (มี 7.1.4 ตามมาแล้ว ดูกล่องเตือนด้านล่าง)
สายเก่ากว่า ดูว่า Dashboard เสนอรุ่น backport ของสายนั้นหรือไม่ แล้วอัปเดต
ตั้ง auto-update ไว้ ประกาศ 7.1.3 ไม่ได้พูดถึง background update (รุ่น 7.1.2 พูดไว้) ให้เช็กเลขรุ่นจริงเอง

วิธีอัปเดต

จาก Dashboard ไปที่ Updates แล้วกด Update Now หรือใช้ wp-cli ในเครื่องที่ดูแลหลายเว็บ ลำดับที่ผมแนะนำคือ

  1. สำรองก่อน ไฟล์เว็บและฐานข้อมูล อย่างน้อยหนึ่งชุดที่กู้กลับได้จริง
  2. อัปเดต core ผ่าน Dashboard หรือ wp-cli ตามคำสั่งด้านล่าง
  3. เช็กเลขรุ่นและ checksum แล้วเปิดหน้าเว็บกับหน้า wp-admin ดูว่าใช้งานปกติ
# รุ่นปัจจุบันและสิ่งที่มีให้อัปเดต
wp core version
wp core check-update

# อัปเดตเฉพาะ minor/security ในสายเดิม
wp core update --minor

# ยืนยันว่ารุ่นเปลี่ยนแล้ว และไฟล์ core ตรงกับต้นฉบับ
wp core version
wp core verify-checksums

ถ้ารันเป็น root ให้สั่งผ่านผู้ใช้ของเว็บ เช่น sudo -u webuser wp core update --minor --path=/var/www/example.com เพื่อไม่ให้ไฟล์เปลี่ยนเจ้าของ สำหรับหลายเว็บให้ไล่จากรายชื่อไดเรกทอรี

while read -r p; do
  printf '%s : ' "$p"
  sudo -u webuser wp --path="$p" core version
done < sites.txt
แพตช์นี้ไม่ได้เป็นรุ่นสุดท้ายของเดือน

หลังรุ่น 7.1.3 มี 7.1.4 ออกตามมา เมื่อ 28 ต.ค. 2026 เพื่อแก้ CVE-2026-119977 ซึ่งเป็นช่องโหว่ที่เกี่ยวกับช่วงอัปเกรด และ CISA ลงรายการนี้ใน KEV เมื่อ 3 พ.ย. 2026 ผมเขียนแยกไว้แล้วที่ [บทความเรื่อง CVE-2026-119977](/article/wordpress-cve-2026-119977-upgrade-race-patch-now) ถ้าเว็บใดหยุดที่ 7.1.3 ให้ขึ้นต่ออีกขั้น

เช็กว่าโดนหรือยัง

ประกาศไม่ได้ปล่อย indicator of compromise ของช่องโหว่ชุดนี้ ผมเลยบอกได้แค่สิ่งที่เช็กได้ทั่วไปตามลักษณะของแต่ละข้อ

  • ข้อ 1 และ 6 (XSS) ดูคอมเมนต์ที่ค้างรออนุมัติว่ามี tag script หรือ attribute แปลกๆ และดูบัญชีแอดมินที่เพิ่มขึ้นมา
  • ข้อ 4 ดูโพสต์ที่เป็น sticky ซึ่งคนเขียนไม่ได้ตั้งใจ
  • ข้อ 5 ไม่มีร่องรอยที่เว็บเก็บเอง ถ้าเว็บมีโพสต์ส่วนตัวที่คอมเมนต์ไม่ควรเปิด ให้ถือว่าอ่านได้ระหว่างที่ยังไม่อัปเดต
  • ข้อ 3 ดู log ของฐานข้อมูลหากเปิดไว้ว่ามีการ export ผิดเวลา และรีวิวว่าใครมีสิทธิ์ export ได้
# คอมเมนต์ที่ค้างรออนุมัติ ดูเนื้อหาด้วยตา
wp comment list --status=hold --fields=comment_ID,comment_author,comment_content

# แอดมินที่ไม่ได้สร้างเอง และโพสต์ sticky
wp user list --role=administrator --fields=ID,user_login,user_registered
wp option get sticky_posts --format=json

ส่วนตัวผม ชุดนี้ไม่ใช่แบบต้องปลุกคนขึ้นมาแพตช์ตอนดึก เพราะประกาศไม่มีรายงานโจมตีจริง และหลายข้อต้องมีสิทธิ์เป็น Author หรือต้องมีแอดมินเปิดหน้าคอมเมนต์ แต่ก็ไม่ควรเก็บไว้รอบเดือนหน้า ถ้าเว็บเปิดคอมเมนต์ให้คนทั่วไปหรือมีผู้ใช้หลายคน ให้อัปเดตภายในหนึ่งถึงสองวันทำการ ตามกำลังคนของแต่ละที่ และเมื่อมี 7.1.4 ออกแล้ว ให้ข้ามไปขึ้นรุ่นนั้นเลยดีกว่าหยุดที่ 7.1.3

ปล. ประกาศบอกว่าการ backport ยังทยอยออกอยู่ตอนที่โพสต์ ใครอยู่สายเก่าอย่าเพิ่งสรุปว่า "ไม่มีรุ่นให้" ให้ลองเช็ก Dashboard ซ้ำอีกรอบ

ที่มา: WordPress 7.1.3 Maintenance and Security Release (https://wordpress.org/news/2026/10/wordpress-7-1-3-maintenance-and-security-release/), Version 7.1.3 (https://wordpress.org/documentation/wordpress-version/version-7-1-3/), WordPress 7.1.1 (https://wordpress.org/news/2026/09/wordpress-7-1-1-maintenance-and-security-release/), WordPress 7.1.2 (https://wordpress.org/news/2026/09/wordpress-7-1-2-release/) ข้อมูลถึง 5 พ.ย. 2026 ถ้ามี CVE หรือคะแนนออกมาเพิ่มเดี๋ยวกลับมาแก้เพิ่มให้ภายหลังครับ

อยากให้เราทำให้ไหม?

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

คุยเรื่องงานกับเรา

เคยเจองานแบบนี้ไหม? ติดตรงไหน?

มาแลกวิธีกันต่อในบอร์ด LinuxThai

→ คุยต่อในบอร์ด

ความคิดเห็น 0

ยังไม่มีความคิดเห็น — เป็นคนแรกเลย