curl 7.71.0 เปิดตัว แก้ไขช่องโหว่สองรายการ

มีอยู่ ยูทิลิตี้เวอร์ชันใหม่สำหรับการรับและส่งข้อมูลผ่านเครือข่าย - curl 7.71.0ซึ่งให้ความสามารถในการกำหนดคำขอได้อย่างยืดหยุ่นโดยการระบุพารามิเตอร์ เช่น คุกกี้ user_agent ผู้อ้างอิง และส่วนหัวอื่นๆ cURL รองรับ HTTP, HTTPS, HTTP/2.0, HTTP/3, SMTP, IMAP, POP3, Telnet, FTP, LDAP, RTSP, RTMP และโปรโตคอลเครือข่ายอื่น ๆ ในเวลาเดียวกัน มีการเผยแพร่การอัปเดตสำหรับไลบรารี libcurl ซึ่งกำลังได้รับการพัฒนาแบบคู่ขนาน โดยจัดให้มี API สำหรับการใช้ฟังก์ชัน curl ทั้งหมดในโปรแกรมในภาษาต่างๆ เช่น C, Perl, PHP, Python

เวอร์ชันใหม่เพิ่มตัวเลือก “--retry-all-errors” เพื่อลองดำเนินการอีกครั้งหากเกิดข้อผิดพลาดและแก้ไขช่องโหว่สองรายการ:

  • ช่องโหว่ CVE-2020-8177 ช่วยให้คุณสามารถเขียนทับไฟล์ในระบบเมื่อเข้าถึงเซิร์ฟเวอร์ที่ควบคุมโดยผู้โจมตี ปัญหาจะปรากฏขึ้นเมื่อมีการใช้ตัวเลือก "-J" (“–remote-header-name”) และ “-i” (“—head”) พร้อมกันเท่านั้น ตัวเลือก "-J" ช่วยให้คุณสามารถบันทึกไฟล์ตามชื่อที่ระบุในส่วนหัว
    "การจัดการเนื้อหา". หากมีไฟล์ที่มีชื่อเดียวกันอยู่แล้ว โปรแกรม curl มักจะปฏิเสธที่จะทำการเขียนทับ แต่หากมีตัวเลือก "-i" ปรากฏขึ้น ลอจิกการตรวจสอบจะใช้งานไม่ได้และไฟล์จะถูกเขียนทับ (การตรวจสอบจะดำเนินการในขั้นตอนนี้) ของการรับเนื้อหาการตอบกลับ แต่ด้วยตัวเลือก "-i" ส่วนหัว HTTP จะแสดงก่อนและมีเวลาที่จะบันทึกก่อนที่เนื้อหาการตอบกลับจะเริ่มประมวลผล) เฉพาะส่วนหัว HTTP เท่านั้นที่ถูกเขียนลงในไฟล์ แต่เซิร์ฟเวอร์สามารถส่งข้อมูลที่กำหนดเองแทนส่วนหัวได้ และพวกมันจะถูกเขียน

  • ช่องโหว่ CVE-2020-8169 อาจทำให้เกิดการรั่วไหลไปยังเซิร์ฟเวอร์ DNS ของรหัสผ่านการเข้าถึงไซต์บางส่วน (Basic, Digest, NTLM ฯลฯ ) โดยใช้สัญลักษณ์ "@" ในรหัสผ่าน ซึ่งใช้เป็นตัวแยกรหัสผ่านใน URL ด้วยเช่นกัน เมื่อทริกเกอร์การเปลี่ยนเส้นทาง HTTP แล้ว curl จะส่งส่วนของรหัสผ่านหลังสัญลักษณ์ "@" พร้อมกับโดเมนเพื่อแก้ไข ชื่อ. ตัวอย่างเช่น หากคุณระบุรหัสผ่าน "passw@rd123" และชื่อผู้ใช้ "dan" curl จะสร้าง URL "https://dan:passw@[ป้องกันอีเมล]/path" แทน "https://dan:passw%[ป้องกันอีเมล]/path" และจะส่งคำขอเพื่อแก้ไขโฮสต์ "[ป้องกันอีเมล]" แทนที่จะเป็น "example.com"

    ปัญหาปรากฏขึ้นเมื่อมีการเปิดใช้งานการสนับสนุนตัวเปลี่ยนเส้นทาง HTTP แบบสัมพันธ์ (ปิดใช้งานผ่าน CURLOPT_FOLLOWLOCATION) หากใช้ DNS แบบเดิม ผู้ให้บริการ DNS และผู้โจมตีที่สามารถสกัดกั้นการรับส่งข้อมูลเครือข่ายสามารถรับข้อมูลเกี่ยวกับรหัสผ่านบางส่วนได้ (แม้ว่าคำขอเดิมจะผ่าน HTTPS เนื่องจากการรับส่งข้อมูล DNS ไม่ได้เข้ารหัส) เมื่อใช้ DNS-over-HTTPS (DoH) การรั่วไหลจะจำกัดอยู่ที่ตัวดำเนินการ DoH เท่านั้น

ที่มา: opennet.ru

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