ถ้าคุณดูแลเซิร์ฟเวอร์ที่เปิดพอร์ต SSH ให้เข้าถึงจากอินเทอร์เน็ตได้ ช่องโหว่ OpenSSH CVE-2026-123158 เป็นเรื่องที่ควรเช็กทันที สำนักงานความมั่นคงไซเบอร์และโครงสร้างพื้นฐานสหรัฐฯ (Cybersecurity and Infrastructure Security Agency หรือ CISA) เพิ่มช่องโหว่นี้เข้าบัญชีช่องโหว่ที่ถูกโจมตีจริง (Known Exploited Vulnerabilities หรือ KEV) เมื่อ 9 พ.ย. 2569 และสั่งให้หน่วยงานรัฐบาลกลางสหรัฐฯ อุดภายใน 12 พ.ย.
ข่าวดีคือช่องโหว่นี้ไม่ได้กระทบทุกเครื่อง เฉพาะระบบลินุกซ์ที่ใช้ไลบรารี musl เช่น Alpine Linux และตั้งค่าบางแบบเท่านั้นที่เสี่ยง ส่วนระบบที่ใช้ glibc ไม่โดน อ่านต่อด้านล่างเพื่อดูว่าเครื่องของคุณอยู่กลุ่มไหน
CISA ขึ้นบัญชีและกำหนดอุดภายใน 12 พ.ย.
CISA เพิ่มรายการใหม่ 3 รายการเข้าบัญชี KEV ในรอบเดียวกัน ได้แก่ CVE-2026-123158 ของ OpenSSH (ผู้ดูแลโครงการระบุเป็น OpenBSD) CVE-2026-116779 ของ FreeSWITCH จากบริษัท SignalWire และ CVE-2026-102895 ของ GPUStack ทั้งสามรายการมีเส้นตายเดียวกัน
เส้นตายนี้ใช้กับหน่วยงานรัฐบาลกลางสหรัฐฯ เท่านั้น ผู้ดูแลระบบทั่วไปไม่ได้ถูกบังคับ แต่การที่ CISA ขึ้นบัญชีนี้ แปลว่าช่องโหว่ถูกใช้โจมตีจริงแล้ว จึงควรถือเป็นสัญญาณให้รีบตรวจและอุดโดยไม่ต้องรอ
CISA อธิบายช่องโหว่ OpenSSH ว่าเป็นปัญหา unexpected status code or return value (การรับค่าสถานะที่ไม่คาดคิด) บน OpenSSH ที่ทำงานบนลินุกซ์ และอาจทำให้ข้ามการยืนยันตัวตนได้ ผู้พัฒนาออก Portable OpenSSH รุ่น 10.6p2 เพื่อแก้ปัญหานี้
บริษัทข่าวกรองภัยคุกคาม Previdian รายงานว่าตรวจพบความพยายามโจมตีครั้งแรกไม่ถึง 9 ชั่วโมงหลังประกาศรหัส CVE และสำเร็จบนเครื่องล่อ (honeypot) ที่รัน Alpine Linux จริง บริษัทนับความพยายามได้ 8 ครั้งจากที่อยู่ไอพีเดียวกัน ตัวเลขนี้เป็นรายงานของ Previdian ไม่ใช่ข้อมูลของ CISA
ช่องโหว่ OpenSSH ทำงานอย่างไร
ช่องโหว่เกิดจากการทำงานร่วมกันของสองส่วน ส่วนแรกคือ sshd (โปรแกรมเซิร์ฟเวอร์ SSH ของ OpenSSH) ที่ตรวจรหัสผ่านด้วยตัวเอง ส่วนที่สองคือฟังก์ชัน crypt() ของ musl ซึ่งเป็นไลบรารีภาษา C ที่ Alpine Linux ใช้ เมื่อรหัสผ่านที่ส่งเข้ามายาวเกิน 256 ไบต์ crypt() จะทำงานไม่สำเร็จและคืนค่าเป็นเครื่องหมาย '*'
ปัญหาคือบัญชีที่ไม่มีรหัสผ่านในระบบก็เก็บค่า '*' ไว้ในช่องรหัสผ่านเหมือนกัน sshd จึงเห็นว่าสองค่าตรงกันและให้ล็อกอินผ่าน ผู้โจมตีไม่ต้องรู้รหัสผ่านจริง ใช้การเชื่อมต่อด้วยรหัสผ่านยาวเกิน 256 ไบต์ก็เข้าได้ บัญชีที่เสี่ยงคือบัญชีที่ถูกตั้งให้ไม่ใช้รหัสผ่านเลย เช่น บัญชีที่เข้าด้วย SSH key อย่างเดียว
ตัวอย่างสถานการณ์ที่มีรายงานคือ image ของ Alpine แบบ tiny-cloud ที่ผู้โจมตีล็อกอินเป็นผู้ใช้ชื่อ alpine ก่อน แล้วใช้คำสั่ง doas ที่ไม่ต้องใส่รหัสผ่านเพื่อขึ้นเป็น root ซึ่งหมายถึงควบคุมเครื่องได้ทั้งหมด แต่ image แบบนี้ไม่ได้โดนทุกตัวทันที จะโดนเมื่อมีบัญชีท้องถิ่นที่ใช้แฮชรหัสผ่านที่เข้าข่าย (SHA-256 หรือ SHA-512) เช่นหลังผู้ดูแลตั้งรหัสผ่านคอนโซลให้บัญชีใดบัญชีหนึ่ง ถ้ายังไม่มีบัญชีลักษณะนี้ การโจมตีแบบนี้ก็ยังไม่สำเร็จ
เครื่องของคุณโดนหรือไม่
ช่องโหว่นี้ต้องมีเงื่อนไขครบหลายข้อพร้อมกัน ระบบที่ไม่โดนคือระบบที่ใช้ glibc ระบบที่ให้ sshd ตรวจรหัสผ่านผ่าน PAM (Pluggable Authentication Modules โมดูลตรวจสิทธิ์ของลินุกซ์) รวมถึง Dropbear และ OpenBSD ดังนั้นไม่ต้องตื่นตระหนกกับทุกเครื่อง ให้เช็กทีละข้อก่อน
เครื่องจะเข้าข่ายเสี่ยงเมื่อตรงทั้งสามข้อนี้
- ระบบใช้ musl เป็นไลบรารี C เช่น Alpine Linux ไม่ใช่ glibc
- sshd ตรวจรหัสผ่านโดยตรงโดยไม่ผ่าน PAM และเปิดการยืนยันด้วยรหัสผ่านอยู่ (เป็นค่าเริ่มต้นของ OpenSSH)
- มีบัญชีที่ไม่มีรหัสผ่านในเครื่อง และผู้โจมตีเข้าถึงพอร์ต SSH ได้พร้อมรู้ชื่อผู้ใช้ที่มีอยู่จริง
ยังมีเงื่อนไขเสริมอีกข้อคือ ต้องมีบัญชีท้องถิ่นอย่างน้อยหนึ่งบัญชีที่ใช้แฮชรหัสผ่านแบบ SHA-256 หรือ SHA-512 ถ้าขาดข้อใดข้อหนึ่ง การโจมตีแบบนี้จะไม่สำเร็จ แต่ถ้าคุณเช่า VPS หรือใช้ Docker image แบบ Alpine และไม่แน่ใจว่าตั้งค่าไว้อย่างไร ให้ตรวจการตั้งค่า sshd และรายชื่อบัญชีในเครื่องก่อน อย่าเพิ่งสรุปว่าปลอดภัย
ถ้าเครื่องอยู่ในกลุ่มที่ไม่ใช้ musl เช่นเซิร์ฟเวอร์ที่ใช้ glibc ไม่ต้องรีบอัปเดตเพราะช่องโหว่นี้ แต่การอัปเดต OpenSSH ให้ทันรุ่นเป็นเรื่องที่ควรทำเป็นปกติอยู่แล้ว

วิธีอัปเดตช่องโหว่ OpenSSH และป้องกัน
ผู้พัฒนาแก้ช่องโหว่แล้วใน Portable OpenSSH 10.6p2 ถ้าเครื่องของคุณเข้าข่ายเสี่ยง ให้อัปเดตเป็นรุ่นนี้หรือรุ่นที่ใหม่กว่า การติดตั้งอย่างเดียวไม่พอ ต้องรีสตาร์ต sshd ด้วย เพราะโปรแกรมที่ยังรันอยู่จะใช้รหัสรุ่นเดิมต่อไปจนกว่าจะเริ่มใหม่
ลำดับที่แนะนำคือ
- เช็กว่าเครื่องใช้ musl หรือ Alpine หรือไม่ รวมถึง image ที่ผู้ให้บริการคลาวด์จัดมาให้
- อัปเดต OpenSSH เป็นรุ่น 10.6p2 หรือใหม่กว่า
- รีสตาร์ต sshd หลังอัปเดต
- ปิดการยืนยันด้วยรหัสผ่านและใช้ SSH key แทน
ข้อสุดท้ายช่วยลดความเสี่ยงได้ เพราะการเปิดรหัสผ่านเป็นหนึ่งในเงื่อนไขที่ช่องโหว่ต้องใช้ ถ้าปิดแล้ว ช่องทางนี้ก็ใช้ไม่ได้ แต่ควรอัปเดตควบคู่กันไป เพราะช่องโหว่ถูกใช้โจมตีจริงแล้ว ผู้ดูแลที่สงสัยว่าเครื่องอาจถูกเจาะ ควรตรวจประวัติการล็อกอินและคำสั่งที่รันในเครื่อง
คุณเปิดดูบัญชี KEV เองได้ที่หน้า Known Exploited Vulnerabilities Catalog บนเว็บไซต์ของ CISA หน้านี้ค้นด้วยคำสำคัญหรือรหัส CVE กรองตามวันที่เพิ่ม และเรียงตามวันที่เพิ่มหรือกำหนดอุดได้ เป็นวิธีเช็กว่าช่องโหว่ในซอฟต์แวร์ที่คุณใช้ถูกโจมตีจริงแล้วหรือยัง
FreeSWITCH และ GPUStack ที่ขึ้นบัญชีวันเดียวกัน
CISA ระบุว่า FreeSWITCH ซึ่งเป็นซอฟต์แวร์โทรศัพท์ผ่านอินเทอร์เน็ตของ SignalWire มีช่องโหว่แบบ code injection ที่ทำให้เปิดเผยการตั้งค่าและข้อมูลรับรอง ควบคุมการโทรตามอำเภอใจ และรันคำสั่งในเครื่องได้ ผู้ดูแลระบบโทรศัพท์ที่ใช้ซอฟต์แวร์นี้ควรเข้าไปดูประกาศความปลอดภัยของผู้ผลิตและทำตามคำแนะนำ
ส่วน GPUStack ซึ่งใช้จัดการเซิร์ฟเวอร์ AI มีช่องโหว่ improper authentication (การยืนยันตัวตนบกพร่อง) ที่อาจให้ผู้ไม่ได้ล็อกอินเข้าถึงสิทธิผู้ดูแลได้ เปลี่ยนข้อมูลผู้ใช้และโมเดล สร้างคีย์ API ของผู้ดูแลแบบถาวร เปิดเผยความลับของเครื่อง worker และผู้ให้บริการคลาวด์ และรันโค้ดได้ ผู้ใช้ GPUStack จึงควรตรวจทั้งการอัปเดตและการเข้าถึงที่ผิดปกติ
CISA ให้ทำตามคำแนะนำของผู้ผลิตสำหรับทั้งสองรายการ และเลิกใช้ผลิตภัณฑ์ถ้าไม่มีวิธีลดความเสี่ยง ให้ดูเลขรุ่นที่แก้จากประกาศของ SignalWire และ GPUStack โดยตรง
ที่มา: บัญชีช่องโหว่ที่ถูกโจมตีจริง (Known Exploited Vulnerabilities Catalog) ของสำนักงานความมั่นคงไซเบอร์และโครงสร้างพื้นฐานสหรัฐฯ (CISA)







