ช่องโหว่ใน Git ที่ทำให้คุณสามารถเขียนทับไฟล์หรือรันโค้ดของคุณเองได้

เผยแพร่การแก้ไขของ Git 2.40.1, 2.39.3, 2.38.5, 2.37.7, 2.36.6, 2.35.8, 2.34.8, 2.33.8, 2.32.7, 2.31.8 และ 2.30.9 แล้ว .XNUMX ซึ่งแก้ไขห้าช่องโหว่ คุณสามารถติดตามการเปิดตัวการอัปเดตแพ็คเกจในการแจกจ่ายบนหน้า Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD เพื่อหลีกเลี่ยงช่องโหว่ ขอแนะนำให้หลีกเลี่ยงการเรียกใช้คำสั่ง "git apply --reject" เมื่อทำงานกับแพตช์ภายนอกที่ยังไม่ได้ทดสอบ และตรวจสอบเนื้อหาของ $GIT_DIR/config ก่อนเรียกใช้ "git submodule deinit", "git config --rename-section" และ " git config --remove-section" เมื่อจัดการกับที่เก็บที่ไม่น่าเชื่อถือ

ช่องโหว่ CVE-2023-29007 อนุญาตให้แทนที่การตั้งค่าในไฟล์คอนฟิกูเรชัน $GIT_DIR/config ซึ่งสามารถใช้รันโค้ดในระบบได้โดยการระบุพาธไปยังไฟล์สั่งการในคำสั่ง core.pager, core.editor และ core.sshCommand ช่องโหว่นี้เกิดจากข้อผิดพลาดเชิงตรรกะเนื่องจากค่าการกำหนดค่าที่ยาวมากสามารถถือเป็นจุดเริ่มต้นของส่วนใหม่เมื่อเปลี่ยนชื่อหรือลบส่วนออกจากไฟล์การกำหนดค่า ในทางปฏิบัติ การแทนที่ค่าการหาประโยชน์สามารถทำได้โดยการระบุ URL ของโมดูลย่อยที่ยาวมากซึ่งบันทึกไว้ในไฟล์ $GIT_DIR/config ระหว่างการเริ่มต้น URL เหล่านี้สามารถตีความได้ว่าเป็นการตั้งค่าใหม่เมื่อพยายามลบผ่าน "git submodule deinit"

ช่องโหว่ CVE-2023-25652 อนุญาตให้เขียนทับเนื้อหาของไฟล์นอกแผนผังการทำงาน เมื่อแพตช์ที่สร้างขึ้นเป็นพิเศษได้รับการประมวลผลโดยคำสั่ง "git apply --reject" หากคุณพยายามเรียกใช้แพตช์ที่เป็นอันตรายด้วยคำสั่ง "git apply" ที่พยายามเขียนไปยังไฟล์ผ่านลิงก์สัญลักษณ์ การดำเนินการนั้นจะถูกปฏิเสธ ใน Git 2.39.1 การป้องกันการจัดการ symlink ได้รับการขยายเพื่อบล็อกแพตช์ที่สร้าง symlink และพยายามเขียนผ่าน สาระสำคัญของช่องโหว่ภายใต้การพิจารณาคือ Git ไม่ได้คำนึงถึงว่าผู้ใช้สามารถรันคำสั่ง "git apply -reject" เพื่อเขียนส่วนที่ถูกปฏิเสธของแพตช์เป็นไฟล์ที่มีนามสกุล ".rej" ได้ และผู้โจมตีสามารถ ใช้โอกาสนี้เขียนเนื้อหาไปยังไดเร็กทอรีตามอำเภอใจ เท่าที่สิทธิ์ปัจจุบันอนุญาต

นอกจากนี้ ช่องโหว่ 2023 รายการที่ปรากฏเฉพาะบนแพลตฟอร์ม Windows ได้รับการแก้ไขแล้ว: CVE-29012-2023 (ค้นหาไฟล์ปฏิบัติการ doskey.exe ในไดเร็กทอรีการทำงานของที่เก็บเมื่อเรียกใช้คำสั่ง "Git CMD" ซึ่งช่วยให้คุณจัดระเบียบ การดำเนินการโค้ดของคุณบนระบบของผู้ใช้), CVE-25815 -2023 (บัฟเฟอร์ล้นขณะประมวลผลไฟล์การแปลแบบกำหนดเองใน gettext) และ CVE-29011-5 (ความเป็นไปได้ในการแทนที่ไฟล์ connect.exe เมื่อทำงานผ่าน SOCKSXNUMX)

ที่มา: opennet.ru

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