2 คะแนน โดย GN⁺ 2025-01-03 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • iTerm2 รุ่น 3.5.11 ถูกสร้างขึ้นในวันที่ 2 มกราคม 2025 และมีการแก้ไขความปลอดภัยที่สำคัญ ควรอัปเดตโดยทันที

ผู้ใช้ที่ได้รับผลกระทบ

  • หากใช้ฟังก์ชันการรวม SSH อาจได้รับผลกระทบในเวอร์ชันต่อไปนี้:
    • 3.5.6
    • 3.5.7
    • 3.5.8
    • 3.5.9
    • 3.5.10
    • เวอร์ชันเบตาทั้งหมดหลังจาก 3.5.6

สาเหตุของปัญหา

  • เนื่องจากบั๊กในฟังก์ชันการรวม SSH ทำให้ข้อมูลป้อนเข้าและผลลัพธ์ถูกบันทึกลงไฟล์บนโฮสต์ระยะไกล โดยไฟล์นี้ (/tmp/framer.txt) อาจถูกอ่านโดยผู้ใช้คนอื่นบนโฮสต์ระยะไกลได้

เงื่อนไขที่เกิดปัญหา

  1. หากใช้หนึ่งในวิธีต่อไปนี้:
    • คำสั่ง it2ssh
    • ใน Settings > Profiles > General ตั้งค่าเมนูป๊อปอัปคำสั่งเป็น "SSH" และในหน้าต่างการกำหนดค่า SSH เปิดใช้งาน "SSH Integration"
  2. มีการติดตั้ง Python 3.7 หรือสูงกว่าอยู่ใน path เริ่มต้นของโฮสต์ระยะไกล

แนวทางการแก้ไข

  • อัปเกรดเป็นเวอร์ชัน 3.5.11 ทันที
  • ลบไฟล์ /tmp/framer.txt ออกจากโฮสต์ที่ได้รับผลกระทบ

การแก้ปัญหา

  • เราจะขออภัยข้อผิดพลาดนี้อย่างสุดซึ้ง และดำเนินการเพื่อไม่ให้เกิดเหตุซ้ำอีก
  • รหัสที่เขียนไฟล์ล็อกใน SSH Integration ถูกลบออกไป และจะไม่ถูกเผยแพร่อีกต่อไป
  • หากมีคำถามสามารถติดต่อได้ที่ gnachman@gmail.com

การตรวจสอบไฟล์

  • SHA-256 ของไฟล์ zip: 655e32b4a9466104f1b0d8847e852515bc332bdf434801762e01b9625caa43e2
  • สามารถยืนยันไฟล์ zip ได้ที่ https://keybase.io/verify โดยใช้:
    -----BEGIN PGP SIGNED MESSAGE-----
    Hash: SHA256
    655e32b4a9466104f1b0d8847e852515bc332bdf434801762e01b9625caa43e2
    -----BEGIN PGP SIGNATURE-----
    iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZ3br8gAKCRB0Et0TaFtK
    rLntAQDqPcKkRA23Wo5/XuB2lymF8n+0GK3E+ZT3MYbTNgsnSQD/Xgt7V9QhP42n
    QmQpnmb804FrHkCnqIJMvcBAim6AbBM==Zlrw
    -----END PGP SIGNATURE-----
    

2 ความคิดเห็น

 
xguru 2025-01-03

ตอนฉันลองตรวจดูแล้วพบว่าเวอร์ชันของฉันคือ 3.4.3 ครับ ช่วงนี้แทบไม่ค่อยได้ใช้งานเทอร์มินัล เลยไม่ค่อยดูแลตัวเองด้วย ทำให้การอัปเดตก็ไม่ค่อยเกิดขึ้น

 
GN⁺ 2025-01-03
ความคิดเห็นจาก Hacker News
  • รู้สึกสับสนกับความเห็นที่แนะนำให้ไม่ใช้ iTerm2 เพราะปัญหานี้อาจเกิดขึ้นกับโปรเจกต์อื่นได้เช่นกัน และการย้ายไปใช้อะไรอีกตัวหนึ่งไม่ใช่แนวทางป้องกันที่มีประสิทธิภาพ

    • มีมุมมองเชิงบวกว่า ปัญหาความปลอดภัยของ iTerm2 อาจทำให้การวางตัวด้านความปลอดภัยโดยรวมดีขึ้น
    • แอป Terminal ของ macOS อาจมีความเสี่ยงน้อยกว่า iTerm2 แต่ข้อเสียคือเป็นซอฟต์แวร์ปิด ทำให้ไม่สามารถตรวจสอบได้
  • เหมือนว่าการดีบักด้วย print() ถูกนำเข้าสู่โปรดักชันไปแล้ว

  • ข้อบกพร่องของฟีเจอร์การผสาน SSH ทำให้ข้อมูล input และ output ถูกเขียนลงไฟล์บนโฮสต์ระยะไกล

    • ไฟล์นี้อาจถูกอ่านโดยผู้ใช้รายอื่นได้
  • สงสัยในคำแถลงของนักพัฒนาที่บอกว่าจะไม่ทำผิดซ้ำอีกพร้อมกับความเสียใจอย่างลึกซึ้ง

    • การทดสอบฟีเจอร์ทั้งหมดด้วยเครื่องมืออัตโนมัติเป็นเรื่องที่ทำได้ยากมาก
  • มีเฉพาะในฟีเจอร์ SSH integration เท่านั้น และไม่เกิดขึ้นเมื่อรัน ssh แบบปกติ

  • ตั้งคำถามว่ามีเหตุผลที่ดีพอที่จะยังคงใช้ iTerm2 ในปี 2025 หรือไม่

    • หลีกเลี่ยงการใช้ iTerm2 เพราะเหตุผลด้านความปลอดภัยและความเป็นส่วนตัว
  • รู้สึกว่า iTerm2 ยิ่งซับซ้อนและหนักขึ้น อีกทั้งมีปัญหาด้านความปลอดภัยมากขึ้น

    • รู้สึกว่าควรหาคอมไพล์ (terminal emulator) ตัวใหม่
    • GNU Screen ดูเหมือนหยุดชะงักแล้ว และมีแผนจะย้ายไปใช้ tmux
  • คิดว่าการเปลี่ยน SSH key เป็นวิธีแก้ที่เหมาะสมมากกว่าแค่การลบ /tmp/framer.txt บนโฮสต์ที่ได้รับผลกระทบ

  • ตั้งคำถามว่าจำเป็นต้องมี SSH integration ในเทอร์มินัลจริงหรือไม่

    • โต้แย้งว่าน่าจะไม่ควรใช้เพราะไม่ปลอดภัย
  • สงสัยว่าในข้อบกพร่องของฟีเจอร์ SSH integration ที่ทำให้มีการเขียนไฟล์บนโฮสต์ระยะไกลนี้มันเกิดขึ้นยังไงกันแน่

    • อยากรู้นิยามของ "framer"