Glibc 2.34 มาพร้อมกับการแก้ไขช่องโหว่ ฟังก์ชันใหม่สำหรับ Linux และอื่นๆ

เมื่อเร็ว ๆ นี้ ประกาศเปิดตัว Glibc 2.34 เวอร์ชันใหม่แล้ว ซึ่งเกิดขึ้นหลังจากหกเดือนของการพัฒนาและมีการเปลี่ยนแปลงที่สำคัญหลายอย่าง ซึ่งการรวมไลบรารี libpthread, libdl, libutil และ libanl รวมถึงการแก้ไขข้อผิดพลาดต่างๆ ซึ่งหนึ่งในนั้นทำให้เกิดการอุดตัน

สำหรับผู้ที่ไม่คุ้นเคยกับ Glibc ควรรู้ว่ามันคืออะไร ห้องสมุด GNU C, ที่เรียกกันทั่วไปว่า glibc เป็นไลบรารีรันไทม์มาตรฐานของ GNU C บนระบบที่ใช้ ไลบรารี C นี้ที่ จัดเตรียมและกำหนดการเรียกระบบและฟังก์ชันพื้นฐานอื่นๆ ซึ่งใช้โดยโปรแกรมเกือบทั้งหมด 

คุณสมบัติใหม่หลักของ Glibc 2.34

ในเวอร์ชันใหม่ของ Glibc 2.34 ที่นำเสนอ libpthread, libdl, libutil และ libanl ได้ถูกรวมเข้ากับไลบรารีหลักแล้วการใช้ฟังก์ชันการทำงานในแอปพลิเคชันไม่จำเป็นต้องผูกกับแฟล็ก -lpthread, -ldl, -lutil และ -lanl อีกต่อไป

นอกจากนี้ยังมีการกล่าวถึงว่า มีการเตรียมการเพื่อรวม libreolv เข้ากับ libc ด้วยการบูรณาการ จะช่วยให้กระบวนการอัปเดต glibc ราบรื่นขึ้น และจะทำให้การใช้งานรันไทม์ง่ายขึ้นและยังมีไลบรารี stub ให้เข้ากันได้กับแอปพลิเคชันที่สร้างด้วย glibc เวอร์ชันก่อนหน้า

ในส่วนของการเปลี่ยนแปลงนั้นเน้นที่ Linux Glibc 2.34 ไฮไลท์ เพิ่มความสามารถในการใช้ประเภท 64 บิต time_t ใน configs ที่เดิมใช้ time_t type 32 บิต. คุณลักษณะนี้มีเฉพาะในระบบที่มีเคอร์เนล 5.1 ขึ้นไปเท่านั้น

การเปลี่ยนแปลงเฉพาะอีกประการสำหรับ Linux คือ การใช้งานฟังก์ชั่น execveatที่ อนุญาตให้เรียกใช้ไฟล์เรียกทำงานจากไฟล์ descriptor ที่เปิดอยู่. ฟังก์ชั่นใหม่นี้ยังใช้ในการใช้งานการเรียก fexecve ซึ่งไม่ต้องการระบบไฟล์หลอก / proc เมื่อเริ่มต้น

เพิ่มฟังก์ชันนี้ด้วย close_range () ซึ่งมีให้สำหรับ Linux เวอร์ชัน 5.9 และสูงกว่าซึ่งสามารถ ใช้เพื่อให้กระบวนการปิดตัวอธิบายไฟล์ทั้งหมด เปิดพร้อมกัน มันยังใช้พารามิเตอร์ glibc.pthread.stack_cache_size ซึ่งสามารถใช้เพื่อปรับขนาดของแคช pthread stack

นอกจากนี้ เพิ่มฟังก์ชัน _Fork การแทนที่ สำหรับฟังก์ชั่น ส้อม ซึ่งตรงตามข้อกำหนด "async-signal-safe" ซึ่งหมายความว่าสามารถเรียกได้อย่างปลอดภัยจากตัวจัดการสัญญาณ ระหว่างการดำเนินการ _Fork สภาพแวดล้อมขั้นต่ำจะถูกสร้างขึ้น เพียงพอที่จะเรียกใช้ฟังก์ชันในตัวจัดการสัญญาณ เช่น ยกและเรียกทำงาน โดยไม่ต้องเรียกใช้คุณสมบัติที่สามารถเปลี่ยนการล็อกหรือสถานะภายในได้

สำหรับส่วนของช่องโหว่ที่แก้ไขใน Glibc 2.34 มีการกล่าวถึงสิ่งต่อไปนี้:

CVE-2021-27645: กระบวนการ nscd (เนมเซิร์ฟเวอร์แคช daemon) ล้มเหลวเนื่องจากการเรียกใช้ฟังก์ชันฟรีสองครั้งขณะประมวลผลคำขอกลุ่มเครือข่ายที่สร้างขึ้นเป็นพิเศษ

CVE-2021-33574: การเข้าถึงพื้นที่หน่วยความจำที่ว่างแล้ว (หลังใช้งานฟรี) ในฟังก์ชัน mq_notify เมื่อใช้ประเภทการแจ้งเตือน SIGEV_THREAD ที่มีแอตทริบิวต์เธรดซึ่งมีการตั้งค่ารูปแบบการโยง CPU สำรองไว้ ปัญหาอาจทำให้เกิดการหยุดทำงาน แต่ไม่รวมตัวเลือกการโจมตีอื่นๆ

CVE-2021-35942: ขนาดพารามิเตอร์ล้นในฟังก์ชัน wordexp อาจทำให้แอปพลิเคชันขัดข้อง

จากการเปลี่ยนแปลงอื่น ๆ ที่โดดเด่น:

  • เพิ่มฟังก์ชัน timespec_getres ที่กำหนดไว้ในร่างมาตรฐาน ISO C2X และฟังก์ชัน timespec_get เพิ่มขึ้นด้วยความสามารถที่คล้ายกับฟังก์ชัน POSIX clock_getres
  • ในไฟล์ gconv-modules มีเพียงชุดโมดูล gconv หลักที่น้อยที่สุดเท่านั้น และส่วนที่เหลือถูกย้ายไปยังไฟล์ gconv-modules-extra.conf เพิ่มเติมที่อยู่ในไดเร็กทอรี gconv-modules.d
  • การใช้ลิงก์สัญลักษณ์เพื่อเชื่อมโยงอ็อบเจ็กต์ที่ใช้ร่วมกันที่ติดตั้งได้กับเวอร์ชัน Glibc ได้ถูกลบออกแล้ว ขณะนี้วัตถุเหล่านี้ได้รับการติดตั้งตามที่เป็นอยู่ (เช่น libc.so.6 ตอนนี้เป็นไฟล์แทนที่จะเป็นลิงก์ไปยัง libc-2.34.so)
  • บน Linux ฟังก์ชันเช่น shm_open และ sem_open ต้องการระบบไฟล์สำหรับหน่วยความจำที่ใช้ร่วมกันที่ติดตั้งบนจุดเชื่อมต่อ / dev / shm

ในที่สุด หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติม ของเวอร์ชันใหม่นี้คุณสามารถตรวจสอบไฟล์ รายละเอียดตามลิงค์ต่อไปนี้


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา