1 คะแนน โดย GN⁺ 2025-11-04 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • โครงการ 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 ความคิดเห็น

 
GN⁺ 2025-11-04
ความคิดเห็นจาก Hacker News
  • อยากรู้ว่าการเปลี่ยนแปลงพวกนี้ทำงานอย่างไรบนฐานของ X11Libre/xserver
    เท่าที่เข้าใจคือกำลังแก้ไข ปัญหาด้านความปลอดภัย ที่เกิดขึ้นใน X.Org
    แต่พอ XLibre บอกว่าได้แก้ปัญหาหลายพันรายการที่ฝั่ง X.Org ยังไม่ได้แก้ ก็เลยน่าสนใจว่าอาจมีการบรรเทาไปแล้วหรือไม่

    • ถ้าดู GitHub ของพวกเขา จะเห็นว่ามีการใช้การเปลี่ยนแปลงสามรายการเดียวกันกับ X.Org ในวันที่ 28 ตุลาคม ซึ่งก็คือวันที่ออกคำแนะนำ
      ไม่ได้ถูกแก้ไว้ก่อนแล้ว แต่แพตช์ทันทีหลังประกาศ
    • XLibre ดูเป็น โปรเจ็กต์ที่ค่อนข้างแอ็กทีฟ เพราะมีงานคืบหน้าเยอะภายใน 5 เดือน
    • ผมคิดว่าโปรเจ็กต์นั้นเป็นความพยายามระดับ เพ้อฝันเกินจริง
      ถ้า X.Org หยุดไปจริง ๆ ก็ดูไม่น่าจะมีศักยภาพพอจะดูแล X11 ต่อได้
    • นั่นคือโปรเจ็กต์ที่ฟอร์กออกมาโดยชูแนวทาง “anti-woke” ไม่ใช่เหรอ?
      พูดตรง ๆ แล้วมันดูเหมือนมีคนบางคนเอา ความไม่พอใจส่วนตัว มาระบายผ่านการฟอร์ก X server
  • การค้นหาและแก้ช่องโหว่แบบนี้เป็นเรื่องดี แต่การยอมให้ ไคลเอนต์ที่ไม่น่าเชื่อถือ สื่อสารกับ X server นั้นอันตรายตั้งแต่ระดับการออกแบบ
    โดยเฉพาะถ้ามีแอป Tcl/Tk ก็ยังสามารถส่งคำสั่งโปรแกรมผ่าน X server ได้โดยตรง

    • ในสภาพแวดล้อมที่ X server รันด้วยสิทธิ์สูงกว่าหรือทำงานอยู่บนโฮสต์อื่น ก็อาจเกิด ช่องโหว่ยกระดับสิทธิ์ ได้
      X11 แทบไม่มีกลไกความปลอดภัยสำหรับเซสชันผู้ใช้ ดังนั้นไม่ควรรันโปรแกรม UI ที่ความน่าเชื่อถือต่ำ
      การไม่มีวิธีป้องกันการฉีดคีย์อินพุตหรือการจับภาพหน้าจอเป็นข้อจำกัดเชิงสถาปัตยกรรม แต่ก็ไม่ควรประเมินการโจมตีแบบนี้ต่ำเกินไป
    • ยังมี นักพัฒนาในตำนานที่คอยแก้บั๊กของ xorg อยู่
      เมื่อก่อน Alan Coopersmith เคยแก้บั๊กที่ผมรายงานด้วยตัวเอง
      ถ้าจำไม่ผิดน่าจะเป็นปัญหาเรื่องแฟล็กที่ตกหล่นในโปรแกรม C
    • ในปี 1996 ระดับการผสานรวม X ของ Tk น่าทึ่งมาก
      ตอนนั้นสามารถควบคุม Netscape ด้วย MIT magic cookie ได้ ซึ่งพอมาคิดตอนนี้ก็น่ากลัวทีเดียว
    • คำสั่ง send ของ Tk อันตรายก็จริง แต่ป้องกันได้ง่ายด้วยการ รีไบน์ให้เป็น no-op
  • Coverity ช่วยหาบั๊กประเภทนี้ได้ดีมาก
    แต่ก็สงสัยว่าทำไมโปรเจ็กต์สำคัญอย่าง X.Org ถึงไม่ใช้ สิทธิ์เข้าถึงฟรี ของเครื่องมือนี้

    • เหตุผลง่ายมาก คนที่พัฒนา Wayland เดิมก็คือนักพัฒนา X.Org
      ตอนนี้พวกเขาโฟกัสกับการสร้าง แรงจูงใจให้ย้ายไปของใหม่ มากกว่า และไม่อยากใช้พลังไปกับการดูแลโปรเจ็กต์เก่า
  • ความเจ็บปวดที่ใหญ่ที่สุดของลินุกซ์คือ กราฟิกส์ เสียดายจริง ๆ

    • ผมคิดว่าเพราะกราฟิกส์นี่แหละ ลินุกซ์เลยมีส่วนแบ่งตลาดเดสก์ท็อปเกิน 1% ได้
      เวลาฮาร์ดแวร์มีปัญหาก็ลำบากอยู่ แต่ในสภาพแวดล้อมส่วนใหญ่ เกมบน Steam รันได้ดีเกือบ ระดับเนทีฟ
      ปัญหาไม่ได้อยู่ที่ลินุกซ์ แต่อยู่ฝั่งฮาร์ดแวร์มากกว่า
    • Xorg ซับซ้อนและรับมือยากจริง
      แต่เรื่องนี้ไม่ได้จำกัดแค่ลินุกซ์ และตอนนี้มันก็ให้ความรู้สึกเหมือนเป็น เทคโนโลยีเลกาซี ไปแล้ว
    • ความเจ็บปวดของเราคือกราฟิกส์... แล้วก็ออดิโอ... การรองรับไวไฟ...
      สรุปแล้ว สามความเจ็บปวด ของลินุกซ์คือกราฟิกส์ ออดิโอ และการรองรับฮาร์ดแวร์ไวไฟ
      รวมถึงความยึดติดกับบรรทัดคำสั่งแบบเกือบเป็นศาสนาด้วย
  • หวังว่า อย่าฆ่า Xorg เลย :(

  • สงสัยว่า Fil-C จะป้องกันปัญหาข้อแรกหรือข้อที่สามได้ไหม

    • เท่าที่ผมดู น่าจะป้องกันได้ทั้งหมด
  • สงสัยว่า Twitter ไปเอา X.com มาได้อย่างไร
    แล้วในทางกลับกัน โปรเจ็กต์โอเพนซอร์สจะไปเอา Twitter.org มาได้ไหม?

    • ช่วงปลายยุค 90 X.com ควบรวมกับ PayPal และ Elon Musk ก็เอาโดเมนนั้นกลับมา
  • พูดโดยรวมแล้ว ตอนนี้ X11 เหลือไว้สำหรับ เกมเก่า หรือ Steam client เป็นหลัก
    โดยเฉพาะ Steam client ที่ยังเป็น ไบนารี 32 บิต ยิ่งทำให้เป็นปัญหา

  • พอเห็น Weston บน Fil-C รันได้ดีด้วยการเรนเดอร์แบบ SW ก็คิดว่า X server ก็น่าจะทำงานบน Fil-C ได้ดีเหมือนกัน
    Fil-C มีโอเวอร์เฮดต่ำที่สุดกับ โค้ดที่เน้นการทำงานระดับบิต และสูงที่สุดกับ โค้ดที่เน้นการไล่ตามพอยน์เตอร์
    ผมมองว่า X server ใกล้เคียงกับแบบแรก Weston ก็เป็นแบบนั้นเหมือนกัน