Signal แก้บั๊กที่อาจให้คู่สนทนายังได้ยินเสียงคุณหลังกดวางสาย ควรอัปเดตทุกเครื่อง
บั๊กในระบบโทรของ Signal อาจทำให้คำสั่งวางสายไม่ปิดสายจริง เสียงยังส่งถึงคู่สนทนา แก้แล้วใน Android 8.27.0, iOS 8.30.0 และ Desktop 8.29.0
สารบัญ (9 หัวข้อ)
ลองนึกภาพว่าคุณกดวางสาย Signal แล้วหันไปคุยเรื่องส่วนตัวกับคนข้าง ๆ โดยไม่รู้ว่าไมโครโฟนยังส่งเสียงไปหาคู่สนทนาเมื่อครู่ นี่คือสิ่งที่บั๊กในส่วนโทรของ Signal เปิดช่องให้เกิดได้ ข่าวดีคือ Signal แก้ไปแล้วตั้งแต่เดือนกันยายน และยังไม่มีรายงานว่ามีใครใช้โจมตีจริง
ทุกการโทรใน Signal มี "คิวคำสั่ง" ที่จัดการเหตุการณ์ของสายทีละรายการ ทั้งสัญญาณที่เครื่องอีกฝั่งส่งมาและคำสั่งจากเครื่องคุณ รวมถึงคำสั่งวางสาย ปัญหาคือคิวนี้ไม่จำกัดว่าอีกฝั่งส่งเหตุการณ์เข้ามาได้มากแค่ไหน และไม่มีช่องทางลัดให้คำสั่งวางสาย คู่สนทนาที่ตั้งใจร้ายจึงอาจถมคิวจนเต็ม คำสั่งวางสายของคุณอาจไปไม่ถึง สายจึงไม่ถูกปิดจริง เสียงและอาจรวมถึงภาพยังถูกส่งออกไป ขณะที่คุณเข้าใจว่าสายจบแล้ว
เหมือนธนาคารที่เรียกบัตรคิวทีละใบ ถ้ามีคนกดบัตรรัว ๆ จนเครื่องออกบัตรเต็ม คำขอ "ปิดบัญชี" ของคุณก็ไม่ได้เข้าคิว ต่างกันตรงที่ในธนาคารคุณยังเห็นว่าเรื่องค้างอยู่ แต่ในบั๊กนี้คุณอาจไม่รู้ตัว และคนที่ทำได้ต้องเป็นคนที่อยู่ในสายเดียวกับคุณเท่านั้น ไม่ใช่คนแปลกหน้าที่ไหนก็ได้ อีกข้อที่ควรรู้คือบั๊กนี้อยู่ที่ขั้นตอนวางสาย ไม่ได้ทำให้การเข้ารหัสของ Signal อ่อนลง
บันทึกช่องโหว่สากลให้คะแนนความร้ายแรง 9.3 จาก 10 ซึ่งอยู่ในระดับวิกฤต เพราะทำผ่านเครือข่ายได้และไม่ซับซ้อน แต่ควรรู้ข้อจำกัดด้วย นักวิจัยที่เผยแพร่เรื่องนี้ใช้เพียงโปรแกรมจำลองแนวคิด ไม่ได้สาธิตกับการโทรจริง Signal ไม่ได้ออกประกาศ และยังไม่ตอบคำถามของสื่อ ส่วนหน่วยงานความมั่นคงไซเบอร์ของสหรัฐฯ (CISA) ประเมินว่ายังไม่พบการโจมตี
สิ่งที่คุณควรทำคืออัปเดต Signal ทุกเครื่องที่ใช้โทร ทั้งมือถือและคอมพิวเตอร์ ถ้าแอปอัปเดตอัตโนมัติอยู่แล้ว เครื่องของคุณน่าจะได้รุ่นที่แก้ไปนานแล้ว ReadEval ตรวจโค้ดของ Signal บน GitHub เองว่ารุ่นไหนมีตัวแก้ เพราะ Signal ไม่ได้บอกไว้ เลขรุ่นขั้นต่ำของแต่ละเครื่องและวิธีเช็กอยู่ด้านล่าง
สรุปประเด็นสำคัญ
- บั๊กอยู่ที่ไหน: RingRTC ไลบรารีโอเพนซอร์สที่ Signal ใช้ทำระบบโทรเสียงและวิดีโอ ทุกรุ่นก่อน 2.72.0 ช่องโหว่นี้คือ CVE-2026-113380 คะแนน CVSS 4.0 เท่ากับ 9.3 (วิกฤต)
- ผลที่อาจเกิด: คู่สนทนาที่ตั้งใจร้ายทำให้คำสั่งวางสายของคุณไม่ปิดสายจริง เสียง และ "อาจรวมถึง" ภาพ ยังถูกส่งต่อ บันทึก CVE ไม่ได้ยืนยันเรื่องภาพ และไม่มีแหล่งใดบอกว่าเสียงหลุดไปได้นานเท่าไร
- แก้แล้ว: Signal แก้โค้ดเมื่อ 4 ก.ย. 2026 และออก RingRTC 2.72.0 วันเดียวกัน แอปที่มีตัวแก้คือ Android 8.27.0, iOS 8.30.0 และ Desktop 8.29.0 ขึ้นไป (ReadEval ตรวจจากโค้ดของ Signal บน GitHub)
- ยังไม่พบการโจมตีจริง: CISA ประเมินในบันทึก CVE ว่า Exploitation: none และ The Register กับ Help Net Security ระบุว่าช่องโหว่นี้ไม่อยู่ในรายการช่องโหว่ที่ถูกใช้โจมตีจริง (KEV)
บั๊กนี้ทำงานอย่างไร

ระบบโทรของ Signal ใช้ "ระบบควบคุมสาย" (state machine) ที่รับเหตุการณ์ผ่านคิวขนาด 256 รายการ แล้วจัดการทีละรายการตามลำดับ บันทึก CVE อธิบายสั้น ๆ ว่า "คู่สนทนาที่ทำให้คิวของสายอิ่มตัว สามารถขัดขวางไม่ให้การวางสายฝั่งเครื่องคุณรื้อสายลง (พร้อมเสียงและอาจรวมถึงภาพ) ได้"
บันทึกของนักวิจัยที่ใช้ชื่อบน GitHub ว่า Imahian อธิบายต้นเหตุว่า RingRTC "ไม่จำกัดอัตราเหตุการณ์ที่มาจากคู่สนทนา และไม่มีช่องทางพิเศษให้คำสั่งวางสาย" CyberInsider ซึ่งอ่านโค้ดที่แก้แล้วเสริมว่าโค้ดปิดสายแบบเดิมอาจหยุดกลางทางเมื่อเจอข้อผิดพลาด ทำให้ขั้นตอนเก็บกวาดที่เหลือถูกข้ามไป
ReadEval ตั้งใจไม่ลงรายละเอียดวิธีทำให้คิวเต็ม เพราะไม่จำเป็นต่อการป้องกันตัว สิ่งที่ผู้ใช้ควรรู้คือผู้โจมตีต้องอยู่ในสายเดียวกับคุณ บันทึกของนักวิจัยเริ่มจากการโทรหาเหยื่อตามปกติ และบันทึก CVE ระบุว่าต้องอาศัยการมีส่วนร่วมของเหยื่อในระดับจำกัด (passive) ทั้งสองแหล่งไม่ได้บอกว่าบั๊กนี้เกิดกับการโทรแบบกลุ่มด้วยหรือไม่
Signal แก้อย่างไร
ตัวแก้คือ commit ชื่อ "Ensure calls terminate completely in corner cases" (ทำให้สายปิดสมบูรณ์แม้ในกรณีขอบ) ของ Jim Gustafson วิศวกรของ Signal ลงวันที่ 4 ก.ย. 2026 และอยู่ใน CHANGELOG ของ RingRTC 2.72.0 จากโค้ดที่แก้ ReadEval และ CyberInsider พบตรงกันว่ามีสามส่วน
- ธงขอวางสาย: เมื่อคุณกดวางสาย ระบบตั้งค่าสถานะ "ขอปิดสาย" ไว้แยกจากคิว ระบบควบคุมสายจึงเห็นคำขอนี้ได้เองโดยไม่ต้องรอเหตุการณ์ที่ค้างในคิว
- จำกัดเวลารอ: การรอให้ระบบควบคุมสายปิดตัวมีเพดาน 5 วินาที ถ้าเกินหรือเกิดข้อผิดพลาด ระบบบันทึกไว้แล้วเก็บกวาดต่อ ไม่หยุดกลางทาง
- ชุดทดสอบใหม่: CyberInsider ระบุว่ามีการทดสอบที่จำลองคิวเต็ม แล้วตรวจว่าการวางสายปิดการเชื่อมต่อ ปิดเสียงขาออก และตัดช่องส่งข้อมูลเสียง (RTP) จริง
เครื่องฉันได้ตัวแก้หรือยัง
Signal ไม่ได้ออกประกาศหรือระบุในบันทึกการอัปเดตว่ารุ่นไหนแก้บั๊กนี้ บันทึกของ Signal Desktop 8.29.0 เขียนเพียงว่า "ปรับแต่งเล็กน้อย แก้บั๊ก และเพิ่มประสิทธิภาพ" ReadEval จึงเปิดโค้ดของแอปทั้งสามบน GitHub แล้วดูว่า RingRTC รุ่นไหนถูกใส่ไว้ในแต่ละรุ่นของแอป ผลคือ
| แอป | รุ่นแรกที่มี RingRTC 2.72.0 | วันที่ติดแท็กรุ่นบน GitHub | รุ่นก่อนหน้า (ยังมีบั๊ก) | รุ่นล่าสุดที่พบ ณ 22 ต.ค. 2026 |
|---|---|---|---|---|
| Signal Android | 8.27.0 | 9 ก.ย. 2026 | 8.26.x ใช้ RingRTC 2.71.0 | 8.33.1 (RingRTC 2.73.0) |
| Signal iOS (iPhone, iPad) | 8.30.0 | 22 ก.ย. 2026 (เบต้า 16 ก.ย.) | 8.29.0 ใช้ RingRTC 2.71.0 | 8.34.0 (RingRTC 2.72.1) |
| Signal Desktop (Windows, Mac, Linux) | 8.29.0 | 1 ต.ค. 2026 (เบต้า 23 ก.ย.) | 8.28.0 ใช้ RingRTC 2.71.0 | 8.32.0 (RingRTC 2.72.1) |
ที่มา: ไฟล์กำหนดไลบรารีของแต่ละรุ่นใน repo Signal-Android (gradle/libs.versions.toml), Signal-iOS (Podfile.lock) และ Signal-Desktop (package.json) บน GitHub
ข้อควรรู้: วันที่ในตารางคือวันที่ Signal ติดแท็กรุ่นในโค้ด ไม่ใช่วันที่ร้านแอปปล่อยให้ทุกคนแน่นอน ร้านแอปมักทยอยปล่อยอัปเดต ตารางนี้เป็นการตรวจของ ReadEval ไม่ใช่คำยืนยันจาก Signal และ ReadEval ไม่พบข้อมูลแยกรายประเทศ แต่แอปบน Google Play และ App Store เป็นรุ่นเดียวกันทั่วโลก ถ้าเลขรุ่นของคุณเท่ากับหรือสูงกว่าตัวเลขในคอลัมน์ที่สอง แปลว่ามีตัวแก้แล้ว
วิธีเช็กเวอร์ชันและอัปเดต
ขั้นตอนตามหน้าช่วยเหลือของ Signal "How do I ensure Signal is up to date?"
Android และ iPhone/iPad
- เปิด Signal แล้วไปที่ Signal Settings > Help > Version เพื่อดูเลขรุ่น (Android ต้อง 8.27.0 ขึ้นไป iOS ต้อง 8.30.0 ขึ้นไป)
- ถ้ายังต่ำกว่า ให้เปิดหน้า Signal ใน Google Play หรือ App Store แล้วกด อัปเดต (Update) หรือเปิด signal.org/install บนมือถือเพื่อไปหน้าร้านแอป
- ถ้าอยากให้อัปเดตเองในอนาคต ให้เปิดการอัปเดตแอปอัตโนมัติตามหน้าช่วยเหลือของ Google หรือ Apple ที่ Signal ลิงก์ไว้
คอมพิวเตอร์ (Signal Desktop)
- ดูเลขรุ่น: บน Windows และ Linux ไปที่ Help > About บน Mac ไปที่เมนู Signal Desktop > About Signal Desktop (ต้อง 8.29.0 ขึ้นไป)
- บน Windows และ Mac แอปตรวจอัปเดตเองเป็นระยะและตอนเปิดแอป ถ้ามีอัปเดตจะมีแถบสีน้ำเงินเหนือรายการแชต ให้กด "Click to restart Signal" หรือ "Click to download update" หรือไปที่ Signal Settings > Update Signal ถ้าไม่เห็นแถบ ให้ปิดแอปแล้วเปิดใหม่
- บน Debian และ Ubuntu แอปอัปเดตผ่าน APT ใช้แอป Software Updater หรือพิมพ์คำสั่งนี้ใน Terminal แล้วเปิด Signal ใหม่
sudo apt update && sudo apt install signal-desktopอย่าลืมเครื่องที่เปิดไม่บ่อย เช่น iPad หรือคอมพิวเตอร์อีกเครื่องที่ลิงก์บัญชีไว้ เพราะ Signal บนเครื่องเหล่านี้ใช้โทรได้เช่นกัน และบั๊กนี้อยู่ในทุกแพลตฟอร์ม
ระหว่างนี้ควรระวังอะไรเพิ่ม
- หลังวางสาย ดูให้แน่ใจว่าหน้าจอการโทรหายไปแล้ว นักวิจัยแนะนำให้ตรวจว่าตัวบอกสถานะการโทรหายไปจริงหลังกดวางสาย
- กับสายจากคนที่คุณไม่ไว้ใจ อย่าเพิ่งพูดเรื่องสำคัญทันทีหลังวางสาย ข้อนี้เป็นคำแนะนำของ ReadEval สำหรับเครื่องที่ยังอัปเดตไม่ได้ ไม่ใช่คำแนะนำจาก Signal
- ไม่ต้องเปลี่ยนรหัสผ่านหรือ PIN Malwarebytes ระบุว่าบั๊กนี้ไม่เกี่ยวกับรหัสผ่านที่ถูกขโมยหรือบัญชีที่ถูกเจาะ
ไทม์ไลน์
| วันที่ | เหตุการณ์ |
|---|---|
| 4 ก.ย. 2026 | Signal ลงโค้ดแก้ และติดแท็ก RingRTC 2.72.0 |
| 8–9 ก.ย. 2026 | Signal Android อัปเดตเป็น RingRTC 2.72.0 แล้วออกรุ่น 8.27.0 |
| 9–22 ก.ย. 2026 | Signal iOS อัปเดตเป็น RingRTC 2.72.0 เบต้า 8.30.0 ออก 16 ก.ย. และรุ่นจริง 22 ก.ย. |
| 23 ก.ย.–1 ต.ค. 2026 | Signal Desktop อัปเดตเป็น RingRTC 2.72.0 เบต้า 8.29.0 ออก 23 ก.ย. และรุ่นจริง 1 ต.ค. |
| 20 ต.ค. 2026 | MITRE เผยแพร่ CVE-2026-113380 พร้อมลิงก์ไปยังบันทึกของนักวิจัย CISA ประเมินว่ายังไม่พบการโจมตี |
| 20–22 ต.ค. 2026 | CyberInsider, The Register, Malwarebytes และ Help Net Security รายงานข่าว Signal ยังไม่ตอบคำถามของสื่อ |
ยังไม่ชัดว่านักวิจัยแจ้ง Signal ก่อนหรือไม่ บันทึกของนักวิจัยไม่มีลำดับเวลาการแจ้ง และ Signal ไม่ได้ให้เครดิตใครใน commit หรือ CHANGELOG
แหล่งข่าวต่างกันตรงไหน
- รุ่นแอปที่แก้แล้ว: The Register, Help Net Security, CyberInsider และ Malwarebytes ไม่มีใครระบุได้ Malwarebytes เห็น Android 8.32.2 และ iPad 8.32 (1910) และ "เชื่อว่า" แก้แล้วแต่ยืนยันไม่ได้ ตัวเลขทั้งสองสูงกว่ารุ่นขั้นต่ำที่ ReadEval ตรวจพบ จึงสอดคล้องกัน
- "ออกในเดือนกันยายน": The Register อ่านจากประวัติของ Signal Desktop ว่า RingRTC 2.72.0 ออกเดือนกันยายน ซึ่งถูกสำหรับตัวไลบรารี (4 ก.ย.) แต่ Desktop รุ่นปกติที่มีตัวแก้ออกจริงวันที่ 1 ต.ค. ส่วนที่ออกในเดือนกันยายนเป็นรุ่นเบต้า
- ถูกใช้โจมตีหรือยัง: The Register, Help Net Security และ Malwarebytes บอกว่าไม่มีรายงาน CyberInsider ไม่ได้พูดถึง ReadEval ใช้การประเมินของ CISA ในบันทึก CVE (Exploitation: none) เป็นหลัก
- ภาพหลุดด้วยไหม: ทุกแหล่งใช้คำว่า "อาจ" ตามบันทึก CVE ยังไม่มีใครยืนยันว่าภาพวิดีโอค้างได้จริง
- ความหนักแน่นของหลักฐาน: คะแนน 9.3 มาจากบันทึก CVE ที่ MITRE เผยแพร่ ไม่ใช่จาก Signal และฐานข้อมูล NVD ยังอยู่ระหว่างวิเคราะห์ ส่วนโค้ดสาธิตของนักวิจัยเป็นแบบจำลองที่ไม่ได้ทดสอบกับการโทรจริง อย่างไรก็ตาม การที่ Signal เขียนโค้ดแก้และชุดทดสอบสำหรับกรณีคิวเต็มโดยตรง แสดงว่าปัญหาในโค้ดมีอยู่จริง
บทวิเคราะห์จาก ReadEval
Val · โต๊ะความปลอดภัย
บั๊กนี้น่ากังวลในหลักการ แต่ความเสี่ยงจริงของผู้ใช้ส่วนใหญ่ต่ำ และแก้ได้ด้วยการอัปเดตแอปเท่านั้น จุดที่ทำให้เรื่องนี้ฟังดูน่ากลัวคือมันโจมตีความเชื่อพื้นฐานที่สุดของการโทร ว่ากดวางแล้วต้องจบ แต่ผู้โจมตีต้องเป็นคนที่คุณยอมคุยด้วยอยู่แล้ว ยังไม่มีใครแสดงให้เห็นว่าทำได้กับการโทรจริง และ Signal แก้ไปก่อนข่าวออกราวหกสัปดาห์ สิ่งที่ควรติดใจมากกว่าคือการสื่อสาร Signal แก้ปัญหาที่บันทึก CVE ให้คะแนนวิกฤต โดยไม่บอกผู้ใช้ในบันทึกการอัปเดต และไม่ตอบสื่อหลายแห่ง ผู้ใช้จึงต้องพึ่งการเปิดโค้ดเพื่อรู้ว่าตัวเองปลอดภัยหรือยัง สำหรับแอปที่ขายจุดเด่นเรื่องความเป็นส่วนตัว การบอกผู้ใช้ตรง ๆ ว่ารุ่นไหนปลอดภัย น่าจะช่วยได้มากกว่านี้
แหล่งที่มา
- CVE.org: CVE-2026-113380 (บันทึก CVE, คะแนน CVSS 4.0 และการประเมิน SSVC ของ CISA)
- GitHub signalapp/ringrtc: commit "Ensure calls terminate completely in corner cases" (4 ก.ย. 2026)
- GitHub signalapp/ringrtc: CHANGELOG (v2.72.0)
- GitHub signalapp/ringrtc: เปรียบเทียบ v2.71.0 กับ v2.72.0
- GitHub Signal-Android: รุ่น RingRTC ที่ใช้ใน v8.27.0 (และแท็กรุ่นอื่น)
- GitHub Signal-iOS: รุ่น RingRTC ที่ใช้ใน 8.30.0 (และแท็กรุ่นอื่น)
- GitHub Signal-Desktop: รุ่น RingRTC ที่ใช้ใน v8.29.0 (และแท็กรุ่นอื่น)
- GitHub Signal-Desktop: บันทึกรุ่น v8.29.0
- Imahian: บันทึกของนักวิจัยเรื่อง CVE-2026-113380
- Signal Support: How do I ensure Signal is up to date?
- The Register: Signal bug could keep your mic and camera on after hangup
- Help Net Security: Signal RingRTC vulnerability (CVE-2026-113380)
- CyberInsider: Signal fixes critical flaw that could keep audio active after hangup
- Malwarebytes: Signal bug could let someone keep listening after you hang up