ทีมพัฒนาภาษาโปรแกรม Go ได้ออกแพตช์ฉุกเฉิน Go 1.25.6 และ 1.24.12 เพื่อแก้ไขช่องโหว่ด้านความปลอดภัยร้ายแรง 6 จุด การอัปเดตเหล่านี้แก้ไขช่องทางโจมตีแบบ Denial-of-Service (DoS), ความเสี่ยงในการรันโค้ดโดยพลการ (Arbitrary Code Execution) และการจัดการ TLS ที่ผิดพลาด ซึ่งอาจทำให้ผู้พัฒนาตกเป็นเป้าของการโจมตีจากระยะไกลได้ แพตช์ดังกล่าวเน้นย้ำถึงความจำเป็นในการอัปเกรดทันทีสำหรับโครงการที่ใช้ไลบรารีมาตรฐานของ Go โดยเฉพาะในเว็บเซิร์ฟเวอร์ เครื่องมือเข้ารหัส และระบบ Build ต่างๆ เนื่องจากผู้โจมตีสามารถใช้ประโยชน์จากช่องโหว่เหล่านี้ในสภาพแวดล้อมที่ยังไม่ได้แพตช์ได้

     

Severity: วิกฤต

      
     

System Impact:

     

  • ภาษาโปรแกรม Go (เวอร์ชัน 1.25.x และ 1.24.x ก่อนการแก้ไข)
  • ไลบรารีมาตรฐานของ Go (Go’s standard library)
  • เว็บเซิร์ฟเวอร์ที่ใช้ Go
  • เครื่องมือเข้ารหัสที่ใช้ Go (Crypto tools)
  • ระบบ Build ที่ใช้ Go
  • แพ็กเกจ `net/http` (สำหรับ DoS จากฟอร์ม URL-encoded)
  • แพ็กเกจ `archive/zip` (สำหรับ DoS จากไฟล์ ZIP ที่เป็นอันตราย)
  • คอมมานด์ `cmd/go` (สำหรับการรันโค้ดโดยพลการผ่าน CgoPkgConfig และการจัดการ VCS)
  • แพ็กเกจ `crypto/tls` (สำหรับการรั่วไหลของข้อมูลและปัญหาการตรวจสอบสิทธิ์)

      
     

Technical Attack Steps:

     

  1. Memory Exhaustion (CVE-2025-61726): ผู้โจมตีสามารถสร้างฟอร์ม URL-encoded ที่มีคู่คีย์-ค่าจำนวนมากเกินไป เพื่อกระตุ้นให้เกิดการจัดสรรหน่วยความจำขนาดใหญ่ ทำให้เซิร์ฟเวอร์ทำงานล้มเหลว
  2. DoS (CVE-2025-61728): ไฟล์ ZIP ที่เป็นอันตรายซึ่งสร้างขึ้นมาเป็นพิเศษสามารถทำให้เกิดการประมวลผลการจัดทำดัชนีชื่อไฟล์แบบ Super-linear ใน `archive/zip` ซึ่งนำไปสู่การโจมตีแบบ Denial-of-Service
  3. Arbitrary Code Execution (CVE-2025-61731): ผู้โจมตีสามารถบายพาสการตรวจสอบแฟล็กใน `CgoPkgConfig` ของ `cmd/go` เพื่อสั่งให้ `pkg-config` ทำงานด้วยอินพุตที่ไม่ปลอดภัย ซึ่งส่งผลให้เกิดการรันโค้ดโดยพลการ
  4. Code Execution/File Writes (CVE-2025-68119): การจัดการ VCS (Git/Mercurial) ของ `cmd/go` ผิดพลาด ทำให้สามารถใช้เวอร์ชันโมดูลหรือโดเมนที่เป็นอันตราย เพื่อรันโค้ดหรือเขียนทับไฟล์ ผ่านพาธ `go get` ที่กำหนดเอง (ยกเว้น `@latest`)
  5. Session Key Leakage (CVE-2025-68121): ฟังก์ชัน `Config.Clone` ใน `crypto/tls` รั่วไหลคีย์ Session Ticket ที่สร้างขึ้นโดยอัตโนมัติ ทำให้ผู้โจมตีสามารถเริ่มต้นเซสชันใหม่โดยไม่ได้รับอนุญาต
  6. Certificate Chain Expiration Bypass (CVE-2025-68121): ระบบตรวจสอบเซสชัน TLS ไม่สนใจการหมดอายุของห่วงโซ่ใบรับรองทั้งหมด
  7. Information Disclosure (CVE-2025-61730): ข้อความ Handshake ของ TLS ถูกประมวลผลที่ระดับการเข้ารหัสที่ไม่ถูกต้อง ทำให้เสี่ยงต่อการรั่วไหลของข้อมูลจากการแทรกแพ็กเก็ต

      
     

Recommendations:

     

Short Term:

     

  • อัปเกรด Go เป็นเวอร์ชัน 1.25.6 หรือ 1.24.12 ทันที
  • สร้างไบนารีใหม่ (rebuild binaries) โดยใช้คำสั่ง `git checkout go1.25.6` (หรือ 1.24.12)
  • สแกน Dependency ของโครงการเพื่อหาโมดูลที่มีช่องโหว่

     

Long Term:

     

  • รักษามาตรการด้านสุขอนามัยของ Supply Chain ของซอฟต์แวร์อย่างต่อเนื่อง
  • ติดตามข่าวสารและแพตช์ความปลอดภัยจากทีมพัฒนาภาษา Go และไลบรารีที่ใช้งานอยู่เสมอ

      
     

Source: https://cybersecuritynews.com/go-1-25-6-and-1-24-12-vulnerabilities/

   

Share this content:

Leave a Reply

Your email address will not be published. Required fields are marked *