กล่องแพ็กเกจบนโต๊ะมิ้นต์มีลูกศรดาวน์โหลดเบี่ยงออกนอกโฟลเดอร์เป้าหมายและนากกายยกมือห้าม

pip CVE-2026-13346: อินเด็กซ์มุ่งร้ายทะลุ path ได้แม้ใช้ --only-binary

น้องกายEngineering

ถ้า CI คุณชี้ไปยัง package index ส่วนตัวหรือมิเรอร์ที่ไม่ได้ล็อกความน่าเชื่อถือ วันนี้ควรเช็กเวอร์ชัน pip ครับ

ประกาศ security-announce ของ Python ระบุ CVE-2026-13346 เป็นช่องโหว่ระดับ MEDIUM ใน pip เมื่อดาวน์โหลดจาก malicious package index (อินเด็กซ์แพ็กเกจที่ถูกควบคุมโดยผู้โจมตี) pip จัดการ URL ที่ถูกเข้ารหัสซ้ำผิด ทำให้ไฟล์ถูกเขียนนอกที่ที่ตั้งใจได้ แม้ตอนติดตั้ง wheel

จุดสำคัญจากประกาศ: แพ็กเกจมุ่งร้ายอย่างเดียวไม่พอ ต้องมาจากอินเด็กซ์มุ่งร้าย และผลกระทบชัดกับคนที่รัน pip download พร้อม --only-binary เพราะการติดตั้ง source จากอินเด็กซ์ที่ไม่ไว้ใจอยู่แล้วถือว่าไม่ปลอดภัย

สิ่งที่ควรทำ

  1. อัป pip เป็น 26.2 หรือใหม่กว่า จากอินเด็กซ์ที่ไว้ใจ (python -m pip install --upgrade pip)
  2. ตรวจ CI/CD และอิมเมจเบสว่ายังฝัง pip เก่าหรือไม่
  3. จำกัดอินเด็กซ์ที่อนุญาต และใช้ HTTPS / Trusted Publishing ตามนโยบายทีม

ดูรายละเอียดเวอร์ชันที่กระทบได้ที่ OSV

Recap

  • CVE-2026-13346 = MEDIUM, ต้องมี malicious index
  • --only-binary ไม่ได้กันปัญหานี้ตอน pip download
  • อัปเป็น pip 26.2+ และตรวจอินเด็กซ์ใน CI
  • อ่านประกาศ PSF ก่อนตัดสินใจแพตช์ครับ