โครงการ curl ไคลเอนต์ HTTP ยอดนิยมประกาศถอดโค้ดโครงการ hyper ที่เป็นไลบรารีภาษา Rust หลังจากโค้ดนี้ได้รับบริจาคจาก ISRG มาสี่ปีแล้ว แต่ยังไม่สามารถพัฒนาให้ฟีเจอร์เทียบเท่า libcurl ได้
โครงการ curl ออกเวอร์ชั่น 8.4.0 แก้ไข่ช่องโหว่ CVE-2023-38545 และ CVE-2023-38546 ตามที่ประกาศไว้ โดยช่องโหว่ CVE-2023-38545 นั้นเป็นช่องโหว่ระดับร้ายแรงสูงสามารถรันโค้ดในเครื่องของเหยื่อได้
แม้จะเป็นช่องโหว่รันโค้ด แต่เงื่อนไขการเจาะก็นับว่าเฉพาะพอสมควร คนร้ายต้องสามารถกระตุ้นให้เซิร์ฟเวอร์เชื่อมต่อไปยังโดเมนใดๆ เช่น การโพสลิงก์ให้แล้วเซิร์หเวอร์โหลดข้อมูลทำ preview และตัวเซิร์ฟเวอร์ต้องอยู่หลัง SOCKS5 proxy อีกชั้นหนึ่ง ช่องโหว่อาศัยบั๊กการจัดการหน่วยความจำเมื่อชื่อเครื่องปลายทางยาวเกิน 255 ตัวอักษร
โครงการ curl ไคลเอนต์ HTTP ยอดนิยมประกาศเตรียมปล่อยแพตช์แก้ไขช่องโหว่ร้ายแรงสูง โดยระบุวันปล่อยแพตช์ล่วงหน้าเป็นวันที่ 11 ตุลาคมนี้ พร้อมกับระบุว่าเป็นช่องโหว่ที่รุนแรงที่สุด "ในห้วงเวลาที่ยาวนาน" แพตช์นี้มีช่องโหว่สองรายการ คือ CVE-2023-38545 ที่ร้ายแรงสูง กระทบทั้งไลบรารีและคำสั่ง curl เองและ CVE-2023-38546 ความร้ายแรงต่ำ กระทบเฉพาะไลบรารี
Daniel Stenberg ผู้ดูแลโครงการ curl ระบุว่าไม่สามารถให้ข้อมูลใดๆ ได้ในตอนนี้ รวมถึงไม่สามารถบอกว่าได้ช่องโหว่นี้กระทบเวอร์ชั่นใดบ้าง แต่บอกเพียงว่าบั๊กนี้กระทบ curl ใน "ช่วงหลายปีที่ผ่านมา"
curl ไคลเอนต์ HTTP และโปรโตคอลอื่นๆ ออกเวอร์ชั่น 8.3.0 มีฟีเจอร์สำคัญคือการรองรับตัวแปรในตัว ทำให้สามารถส่งคำสั่งที่ซับซ้อนขึ้นมาก
ตัวแปรในคำสั่ง curl จะกำหนดด้วยออปชั่น --variable
หรือไฟล์คอนฟิก เมื่อสร้างตัวแปรแล้วก็จะสามารถใช้ตัวแปรใน URL, ข้อมูลสำหรับ HTTP POST, หรือนำไปประกอบเป็นตัวแปรอื่นๆ ก็ได้
นอกจากการใช้ตัวแปรแล้ว ยังมีฟังก์ชั่นมาให้จำนวนหนึ่ง ได้แก่ trim สำหรับตัดช่องว่างหน้าหลัง, json เข้ารหัสเป็น JSON, url เข้ารหัสแบบ URL encode, และ b64 สำหรับเข้ารหัส base64
ตอนนี้ curl 8.3.0 ยังไม่ออกตัวจริง แต่ release notes ก็แสดงข้อมูลฟีเจอร์ใหม่ใน Git แล้ว
curl ไลบรารีเชื่อมต่อเว็บยอดนิยม เริ่มโครงการตั้งแต่ปี 1996 พัฒนาด้วยภาษา C ตามมาตรฐาน ANSI C หรือ C89 มาโดยตลอด ไม่ยอมปรับไปใช้มาตรฐานรุ่นใหม่ๆ แม้จะมีการปรับปรุงมาตรฐานมาแล้วหลายครั้ง ล่าสุดทางโครงการเตรียมยอมรับฟีเจอร์ของมาตรฐาน C99 หนึ่งจุด นั่นคือการสร้างตัวแปรแบบ 64 บิตที่ C89 ไม่รองรับโดยตรง
โครงการ curl ไคลเอนต์ HTTP แบบ command line ยอดนิยม ออกรุ่น 7.82.0 มีฟีเจอร์สำคัญคือการรองรับ JSON ในตัว ตามที่ Daniel Stenberg ผู้ดูแลโครงการได้ประกาศไว้เมื่อต้นปีที่ผ่านมา
ออปชั่น --json
จะเป็นการประกาศ header ว่ากำลังส่ง JSON โดยอัตโนมัติพร้อมๆ กับ header ว่าต้องการข้อมูลแบบ JSON สามารถใช้งานได้ทั้งการอ่านจากไฟล์, เขียน JSON โดยตรงในอาร์กิวเมนต์, และการอ่านจาก STDIN
การเปลี่ยนแปลงอื่นๆ เป็นการเปลี่ยนแปลงย่อย เช่น เลิกซัพพอร์ตไลบรารี MesaLink ที่เลิกพัฒนาไปนานแล้ว หรือการแก้ไขบั๊กอื่นๆ
Daniel Stenberg ผู้พัฒนาโครงการ curl ไคลเอนต์ HTTP แบบ command line ยอดนิยมระบุว่าน่าจะถึงเวลาเพิ่มฟีเจอร์ JSON ในตัวให้กับ curl แล้ว เนื่องจากเหตุผลสามประการ คือ
แนวทางของ Stenberg คือการเพิ่มออปชั่น --json
สำหรับการใส่ข้อมูล JSON ทั้งชุดพร้อมเพิ่ม header Accept: application/json
โดยอัตโนมัติ และยังมีฟีเจอร์ JSON part ที่ใส่ข้อมูล JSON ลงไปใน command line ได้