- โครงการ X.Org ประกาศอัปเดตเพื่อแก้ไขช่องโหว่ด้านความปลอดภัยหลายรายการที่พบใน xorg-server เวอร์ชันก่อน 21.1.18 และ Xwayland เวอร์ชันก่อน 24.1.8
- ช่องโหว่แรก (CVE-2025-62229) คือ ปัญหา use-after-free ในกระบวนการสร้างโครงสร้าง XPresentNotify ซึ่งมีความเสี่ยงที่พอยน์เตอร์จะถูกนำกลับมาใช้ซ้ำหลังถูกปลดปล่อยระหว่างการจัดการข้อผิดพลาด
- ช่องโหว่ที่สอง (CVE-2025-62230) คือ ปัญหา use-after-free ระหว่างการลบรีซอร์สของไคลเอนต์ Xkb โดยฟังก์ชันลบรีซอร์สจะอ้างอิงข้อมูลที่ถูกปลดปล่อยไปแล้วเมื่อไคลเอนต์สิ้นสุดการทำงาน
- ช่องโหว่ที่สาม (CVE-2025-62231) คือ ปัญหา value overflow ในฟังก์ชัน XkbSetCompatMap() ซึ่งผลรวมของข้อมูลนำเข้าอาจเกินช่วงของ unsigned short
- ช่องโหว่ทั้งหมดได้รับการแก้ไขแล้วใน xorg-server 21.1.19 และ Xwayland 24.1.9 และ X.Org ได้กล่าวขอบคุณผู้รายงานและผู้ร่วมแก้ไข
ภาพรวมคำแนะนำด้านความปลอดภัยของ X.Org
- เมื่อวันที่ 28 ตุลาคม 2025 X.Org ได้เผยแพร่คำแนะนำเกี่ยวกับ ปัญหาด้านความปลอดภัยหลายรายการ ที่พบใน X server และการใช้งาน Xwayland
- ปัญหาเหล่านี้ได้รับการแก้ไขใน xorg-server 21.1.19 และ xwayland 24.1.9
- ช่องโหว่ถูกค้นพบโดย Jan-Niklas Sohn ซึ่งทำงานร่วมกับ Trend Micro Zero Day Initiative
CVE-2025-62229 — use-after-free ในโครงสร้าง XPresentNotify
- ระหว่างการใช้ X11 Present extension หากเกิดข้อผิดพลาดในขั้นตอนการเพิ่มการแจ้งเตือนหลังจากแสดง pixmap แล้ว อาจทำให้เกิด dangling pointer ค้างอยู่
- ส่งผลให้ภายหลังเมื่อมีการทำลายโครงสร้างการแจ้งเตือน อาจเกิด use-after-free ได้
- ปัญหานี้ถูกนำเข้ามาตั้งแต่ Xorg 1.15 และได้รับการแก้ไขใน xorg-server 21.1.19 และ xwayland 24.1.9
- คอมมิตที่แก้ไข: 5a4286b1
CVE-2025-62230 — use-after-free ระหว่างการลบรีซอร์สไคลเอนต์ Xkb
- เมื่อมีการลบรีซอร์ส Xkb ของไคลเอนต์ ฟังก์ชัน XkbRemoveResourceClient() จะ ปลดปล่อยเฉพาะข้อมูล XkbInterest ที่เชื่อมกับอุปกรณ์ แต่ไม่ปลดปล่อยรีซอร์สที่เกี่ยวข้อง
- ผลคือเมื่อไคลเอนต์สิ้นสุดการทำงาน ฟังก์ชันลบรีซอร์สจะอ้างอิงข้อมูลที่ถูกปลดปล่อยไปแล้ว ทำให้เกิด use-after-free
- ปัญหานี้ถูกนำเข้ามาตั้งแต่ X11R6 และได้รับการแก้ไขใน xorg-server 21.1.19 และ xwayland 24.1.9
- คอมมิตที่แก้ไข: 99790a2c, 10c94238
CVE-2025-62231 — value overflow ใน XkbSetCompatMap()
- โครงสร้าง XkbCompatMap เก็บค่าบางส่วนเป็น unsigned short แต่ไม่มีการตรวจสอบว่าผลรวมของข้อมูลนำเข้าจะเกินช่วงดังกล่าวหรือไม่
- จึงอาจทำให้เกิด value overflow ได้
- ปัญหานี้ถูกนำเข้ามาตั้งแต่ X11R6 และได้รับการแก้ไขใน xorg-server 21.1.19 และ xwayland 24.1.9
- คอมมิตที่แก้ไข: 475d9f49
คำขอบคุณและการเผยแพร่
- X.Org กล่าวขอบคุณผู้มีส่วนร่วมทุกคนที่รายงานปัญหาและร่วมแก้ไข
- ในคำแนะนำมีการแนบ ลายเซ็น OpenPGP และไฟล์กุญแจสาธารณะ
- ข้อมูลเพิ่มเติมดูได้ที่ xorg-announce mailing list
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
อยากรู้ว่าการเปลี่ยนแปลงพวกนี้ทำงานอย่างไรบนฐานของ X11Libre/xserver
เท่าที่เข้าใจคือกำลังแก้ไข ปัญหาด้านความปลอดภัย ที่เกิดขึ้นใน X.Org
แต่พอ XLibre บอกว่าได้แก้ปัญหาหลายพันรายการที่ฝั่ง X.Org ยังไม่ได้แก้ ก็เลยน่าสนใจว่าอาจมีการบรรเทาไปแล้วหรือไม่
ไม่ได้ถูกแก้ไว้ก่อนแล้ว แต่แพตช์ทันทีหลังประกาศ
ถ้า X.Org หยุดไปจริง ๆ ก็ดูไม่น่าจะมีศักยภาพพอจะดูแล X11 ต่อได้
พูดตรง ๆ แล้วมันดูเหมือนมีคนบางคนเอา ความไม่พอใจส่วนตัว มาระบายผ่านการฟอร์ก X server
การค้นหาและแก้ช่องโหว่แบบนี้เป็นเรื่องดี แต่การยอมให้ ไคลเอนต์ที่ไม่น่าเชื่อถือ สื่อสารกับ X server นั้นอันตรายตั้งแต่ระดับการออกแบบ
โดยเฉพาะถ้ามีแอป Tcl/Tk ก็ยังสามารถส่งคำสั่งโปรแกรมผ่าน X server ได้โดยตรง
X11 แทบไม่มีกลไกความปลอดภัยสำหรับเซสชันผู้ใช้ ดังนั้นไม่ควรรันโปรแกรม UI ที่ความน่าเชื่อถือต่ำ
การไม่มีวิธีป้องกันการฉีดคีย์อินพุตหรือการจับภาพหน้าจอเป็นข้อจำกัดเชิงสถาปัตยกรรม แต่ก็ไม่ควรประเมินการโจมตีแบบนี้ต่ำเกินไป
เมื่อก่อน Alan Coopersmith เคยแก้บั๊กที่ผมรายงานด้วยตัวเอง
ถ้าจำไม่ผิดน่าจะเป็นปัญหาเรื่องแฟล็กที่ตกหล่นในโปรแกรม C
ตอนนั้นสามารถควบคุม Netscape ด้วย MIT magic cookie ได้ ซึ่งพอมาคิดตอนนี้ก็น่ากลัวทีเดียว
sendของ Tk อันตรายก็จริง แต่ป้องกันได้ง่ายด้วยการ รีไบน์ให้เป็น no-opCoverity ช่วยหาบั๊กประเภทนี้ได้ดีมาก
แต่ก็สงสัยว่าทำไมโปรเจ็กต์สำคัญอย่าง X.Org ถึงไม่ใช้ สิทธิ์เข้าถึงฟรี ของเครื่องมือนี้
ตอนนี้พวกเขาโฟกัสกับการสร้าง แรงจูงใจให้ย้ายไปของใหม่ มากกว่า และไม่อยากใช้พลังไปกับการดูแลโปรเจ็กต์เก่า
ความเจ็บปวดที่ใหญ่ที่สุดของลินุกซ์คือ กราฟิกส์ เสียดายจริง ๆ
เวลาฮาร์ดแวร์มีปัญหาก็ลำบากอยู่ แต่ในสภาพแวดล้อมส่วนใหญ่ เกมบน Steam รันได้ดีเกือบ ระดับเนทีฟ
ปัญหาไม่ได้อยู่ที่ลินุกซ์ แต่อยู่ฝั่งฮาร์ดแวร์มากกว่า
แต่เรื่องนี้ไม่ได้จำกัดแค่ลินุกซ์ และตอนนี้มันก็ให้ความรู้สึกเหมือนเป็น เทคโนโลยีเลกาซี ไปแล้ว
สรุปแล้ว สามความเจ็บปวด ของลินุกซ์คือกราฟิกส์ ออดิโอ และการรองรับฮาร์ดแวร์ไวไฟ
รวมถึงความยึดติดกับบรรทัดคำสั่งแบบเกือบเป็นศาสนาด้วย
หวังว่า อย่าฆ่า Xorg เลย :(
สงสัยว่า Fil-C จะป้องกันปัญหาข้อแรกหรือข้อที่สามได้ไหม
สงสัยว่า Twitter ไปเอา X.com มาได้อย่างไร
แล้วในทางกลับกัน โปรเจ็กต์โอเพนซอร์สจะไปเอา Twitter.org มาได้ไหม?
พูดโดยรวมแล้ว ตอนนี้ X11 เหลือไว้สำหรับ เกมเก่า หรือ Steam client เป็นหลัก
โดยเฉพาะ Steam client ที่ยังเป็น ไบนารี 32 บิต ยิ่งทำให้เป็นปัญหา
พอเห็น Weston บน Fil-C รันได้ดีด้วยการเรนเดอร์แบบ SW ก็คิดว่า X server ก็น่าจะทำงานบน Fil-C ได้ดีเหมือนกัน
Fil-C มีโอเวอร์เฮดต่ำที่สุดกับ โค้ดที่เน้นการทำงานระดับบิต และสูงที่สุดกับ โค้ดที่เน้นการไล่ตามพอยน์เตอร์
ผมมองว่า X server ใกล้เคียงกับแบบแรก Weston ก็เป็นแบบนั้นเหมือนกัน