“พบช่องโหว่ร้ายแรงใน OpenSSH (CVE-2025-61984) — แฮกเกอร์สามารถรันคำสั่งผ่านชื่อผู้ใช้ได้!”

ช่องโหว่ใหม่ใน OpenSSH ที่ถูกเปิดเผยโดยนักวิจัยด้านความปลอดภัย David Leadbeater ได้สร้างความตื่นตระหนกในวงการไซเบอร์ โดยช่องโหว่นี้มีรหัส CVE-2025-61984 และส่งผลกระทบต่อ OpenSSH เวอร์ชันก่อน 10.1 ซึ่งเปิดช่องให้ผู้โจมตีสามารถรันคำสั่งจากระยะไกลผ่านการใช้ชื่อผู้ใช้ที่ถูกออกแบบมาอย่างเจาะจง

ปัญหาเกิดจากการที่ OpenSSH อนุญาตให้มีอักขระควบคุม (control characters) ในชื่อผู้ใช้ โดยเฉพาะเมื่อใช้ร่วมกับคำสั่ง ProxyCommand ที่มีการแทรกชื่อผู้ใช้ผ่านตัวแปร %r ซึ่งจะถูกนำไปสร้างคำสั่ง exec เพื่อรันผ่าน shell ของผู้ใช้ หากชื่อผู้ใช้มีอักขระพิเศษ เช่น $[ และ \n (ขึ้นบรรทัดใหม่) จะทำให้ shell เช่น Bash หรือ csh ตีความผิดพลาด แล้วรันคำสั่งถัดไปที่แฮกเกอร์แอบแทรกไว้

ตัวอย่างการโจมตีที่เป็นไปได้คือการฝังชื่อผู้ใช้อันตรายไว้ในไฟล์ .gitmodules ของ Git repository แล้วใช้ SSH configuration ที่มี ProxyCommand แบบ %r@%h:%p เมื่อผู้ใช้ clone repository แบบ recursive (git clone --recursive) ระบบจะรันคำสั่งที่แฮกเกอร์แอบใส่ไว้ก่อนจะเชื่อมต่อจริง

แม้การโจมตีจะต้องใช้เงื่อนไขเฉพาะ เช่น shell ที่ไม่หยุดทำงานเมื่อเจอ syntax error และการตั้งค่า SSH ที่ใช้ %r แต่ก็ถือเป็นช่องโหว่ที่อันตราย เพราะสามารถใช้โจมตีผ่านเครื่องมือที่นักพัฒนาใช้งานเป็นประจำ เช่น Git, Teleport หรือ CI/CD pipeline

OpenSSH ได้ออกแพตช์ในเวอร์ชัน 10.1 โดยเพิ่มการตรวจสอบอักขระควบคุมในชื่อผู้ใช้ผ่านฟังก์ชัน iscntrl() เพื่อป้องกันการแทรกคำสั่ง สำหรับผู้ที่ยังไม่สามารถอัปเดตได้ทันที ควรใช้ single quote ครอบ %r ใน ProxyCommand เช่น 'some-command '%r@%h:%p' และปิดการใช้งาน SSH-based submodules ใน Git

ข้อมูลสำคัญจากข่าว
ช่องโหว่ CVE-2025-61984 ส่งผลต่อ OpenSSH ก่อนเวอร์ชัน 10.1
เกิดจากการอนุญาตให้ใช้ control characters ในชื่อผู้ใช้
ใช้ร่วมกับ ProxyCommand ที่มี %r จะสร้างคำสั่ง exec ผ่าน shell
หากชื่อผู้ใช้มี $[ และ \n จะทำให้ shell รันคำสั่งถัดไปโดยไม่ตั้งใจ
ตัวอย่างการโจมตีคือการฝังชื่อผู้ใช้ใน Git submodule แล้ว clone แบบ recursive
Shell ที่ได้รับผลกระทบคือ Bash, csh และ fish — Zsh ไม่ได้รับผลกระทบ
OpenSSH 10.1 แก้ไขโดยใช้ iscntrl() ตรวจสอบชื่อผู้ใช้
แนะนำให้ใช้ single quote ครอบ %r ใน ProxyCommand เพื่อป้องกัน
ควรปิดการใช้งาน SSH-based submodules ใน Git โดยค่าเริ่มต้น
ช่องโหว่นี้เป็นการต่อยอดจาก CVE-2023-51385 ที่เคยเกิดขึ้นก่อนหน้านี้

ข้อมูลเสริมจากภายนอก
Git submodules มักใช้ SSH ในการเชื่อมต่อ ทำให้เป็นช่องทางโจมตีที่นิยม
Teleport และเครื่องมือ cloud gateway อื่น ๆ มักสร้าง SSH config โดยอัตโนมัติ
Shell เช่น Bash จะไม่หยุดทำงานเมื่อเจอ syntax error แต่จะรันบรรทัดถัดไป
การใช้ %r โดยไม่ครอบด้วย single quote เปิดช่องให้ shell ตีความอักขระพิเศษ
การโจมตีแบบนี้สามารถใช้เพื่อรันสคริปต์อันตราย เช่น source poc.sh ก่อนเชื่อมต่อ

https://securityonline.info/openssh-flaw-cve-2025-61984-allows-remote-code-execution-via-usernames/
🛑 “พบช่องโหว่ร้ายแรงใน OpenSSH (CVE-2025-61984) — แฮกเกอร์สามารถรันคำสั่งผ่านชื่อผู้ใช้ได้!” ช่องโหว่ใหม่ใน OpenSSH ที่ถูกเปิดเผยโดยนักวิจัยด้านความปลอดภัย David Leadbeater ได้สร้างความตื่นตระหนกในวงการไซเบอร์ โดยช่องโหว่นี้มีรหัส CVE-2025-61984 และส่งผลกระทบต่อ OpenSSH เวอร์ชันก่อน 10.1 ซึ่งเปิดช่องให้ผู้โจมตีสามารถรันคำสั่งจากระยะไกลผ่านการใช้ชื่อผู้ใช้ที่ถูกออกแบบมาอย่างเจาะจง ปัญหาเกิดจากการที่ OpenSSH อนุญาตให้มีอักขระควบคุม (control characters) ในชื่อผู้ใช้ โดยเฉพาะเมื่อใช้ร่วมกับคำสั่ง ProxyCommand ที่มีการแทรกชื่อผู้ใช้ผ่านตัวแปร %r ซึ่งจะถูกนำไปสร้างคำสั่ง exec เพื่อรันผ่าน shell ของผู้ใช้ หากชื่อผู้ใช้มีอักขระพิเศษ เช่น $[ และ \n (ขึ้นบรรทัดใหม่) จะทำให้ shell เช่น Bash หรือ csh ตีความผิดพลาด แล้วรันคำสั่งถัดไปที่แฮกเกอร์แอบแทรกไว้ ตัวอย่างการโจมตีที่เป็นไปได้คือการฝังชื่อผู้ใช้อันตรายไว้ในไฟล์ .gitmodules ของ Git repository แล้วใช้ SSH configuration ที่มี ProxyCommand แบบ %r@%h:%p เมื่อผู้ใช้ clone repository แบบ recursive (git clone --recursive) ระบบจะรันคำสั่งที่แฮกเกอร์แอบใส่ไว้ก่อนจะเชื่อมต่อจริง แม้การโจมตีจะต้องใช้เงื่อนไขเฉพาะ เช่น shell ที่ไม่หยุดทำงานเมื่อเจอ syntax error และการตั้งค่า SSH ที่ใช้ %r แต่ก็ถือเป็นช่องโหว่ที่อันตราย เพราะสามารถใช้โจมตีผ่านเครื่องมือที่นักพัฒนาใช้งานเป็นประจำ เช่น Git, Teleport หรือ CI/CD pipeline OpenSSH ได้ออกแพตช์ในเวอร์ชัน 10.1 โดยเพิ่มการตรวจสอบอักขระควบคุมในชื่อผู้ใช้ผ่านฟังก์ชัน iscntrl() เพื่อป้องกันการแทรกคำสั่ง สำหรับผู้ที่ยังไม่สามารถอัปเดตได้ทันที ควรใช้ single quote ครอบ %r ใน ProxyCommand เช่น 'some-command '%r@%h:%p' และปิดการใช้งาน SSH-based submodules ใน Git ✅ ข้อมูลสำคัญจากข่าว ➡️ ช่องโหว่ CVE-2025-61984 ส่งผลต่อ OpenSSH ก่อนเวอร์ชัน 10.1 ➡️ เกิดจากการอนุญาตให้ใช้ control characters ในชื่อผู้ใช้ ➡️ ใช้ร่วมกับ ProxyCommand ที่มี %r จะสร้างคำสั่ง exec ผ่าน shell ➡️ หากชื่อผู้ใช้มี $[ และ \n จะทำให้ shell รันคำสั่งถัดไปโดยไม่ตั้งใจ ➡️ ตัวอย่างการโจมตีคือการฝังชื่อผู้ใช้ใน Git submodule แล้ว clone แบบ recursive ➡️ Shell ที่ได้รับผลกระทบคือ Bash, csh และ fish — Zsh ไม่ได้รับผลกระทบ ➡️ OpenSSH 10.1 แก้ไขโดยใช้ iscntrl() ตรวจสอบชื่อผู้ใช้ ➡️ แนะนำให้ใช้ single quote ครอบ %r ใน ProxyCommand เพื่อป้องกัน ➡️ ควรปิดการใช้งาน SSH-based submodules ใน Git โดยค่าเริ่มต้น ➡️ ช่องโหว่นี้เป็นการต่อยอดจาก CVE-2023-51385 ที่เคยเกิดขึ้นก่อนหน้านี้ ✅ ข้อมูลเสริมจากภายนอก ➡️ Git submodules มักใช้ SSH ในการเชื่อมต่อ ทำให้เป็นช่องทางโจมตีที่นิยม ➡️ Teleport และเครื่องมือ cloud gateway อื่น ๆ มักสร้าง SSH config โดยอัตโนมัติ ➡️ Shell เช่น Bash จะไม่หยุดทำงานเมื่อเจอ syntax error แต่จะรันบรรทัดถัดไป ➡️ การใช้ %r โดยไม่ครอบด้วย single quote เปิดช่องให้ shell ตีความอักขระพิเศษ ➡️ การโจมตีแบบนี้สามารถใช้เพื่อรันสคริปต์อันตราย เช่น source poc.sh ก่อนเชื่อมต่อ https://securityonline.info/openssh-flaw-cve-2025-61984-allows-remote-code-execution-via-usernames/
SECURITYONLINE.INFO
OpenSSH Flaw (CVE-2025-61984) Allows Remote Code Execution via Usernames
OpenSSH (before 10.1) has a flaw (CVE-2025-61984) that allows RCE when ProxyCommand is used. Attackers exploit control characters in usernames to inject commands.
0 Comments 0 Shares 31 Views 0 Reviews