ช่องโหว่ใน NPM ที่อนุญาตให้แก้ไขไฟล์ที่กำหนดเองระหว่างการติดตั้งแพ็คเกจ

ในการอัพเดตตัวจัดการแพ็คเกจ NPM 6.13.4 ซึ่งรวมอยู่ในการแจกจ่าย Node.js และใช้ในการแจกจ่ายโมดูลในภาษา JavaScript ตกรอบแล้ว ช่องโหว่สามประการ (CVE-2019-16775, CVE-2019-16776 и CVE-2019-16777) ซึ่งอนุญาตให้แก้ไขหรือเขียนทับไฟล์ระบบตามอำเภอใจเมื่อติดตั้งแพ็คเกจที่ผู้โจมตีเตรียมไว้ วิธีแก้ปัญหาชั่วคราวสำหรับการป้องกัน คุณสามารถติดตั้งด้วยตัวเลือก "-ignore-scripts" ซึ่งจะห้ามไม่ให้เรียกใช้แพ็คเกจตัวจัดการในตัว นักพัฒนา NPM วิเคราะห์แพ็คเกจที่มีอยู่ในพื้นที่เก็บข้อมูล และไม่พบร่องรอยของปัญหาที่ระบุที่ใช้ในการโจมตี

  • CVE-2019-16777 ปรากฏขึ้น ในรีลีสก่อน 6.13.4 และอนุญาตให้คุณเขียนทับไฟล์ปฏิบัติการของระบบระหว่างการติดตั้งแพ็คเกจทั่วโลก คุณสามารถแทนที่ไฟล์ในไดเร็กทอรีเป้าหมายที่ติดตั้งไฟล์ปฏิบัติการได้เท่านั้น (โดยปกติคือ /usr/local/bin)
  • CVE-2019-16775 и CVE-2019-16776 ปรากฏในรีลีสก่อน 6.13.3 และอนุญาตให้คุณเขียนไฟล์ที่กำหนดเองโดยการสร้างลิงก์สัญลักษณ์ไปยังไฟล์นอกไดเร็กทอรีด้วยโมดูล (node_modules) หรือโดยการจัดการฟิลด์ bin ใน package.json (พาธที่มี “/../” ถูก อนุญาตให้อยู่ในช่องถังขยะ)

    ที่มา: opennet.ru

  • เพิ่มความคิดเห็น