มีการสร้างการอัปเดตแก้ไขสำหรับสาขา PostgreSQL ที่รองรับทั้งหมด: 13.3, 12.7, 11.12, 10.17 และ 9.6.22 การอัปเดตสำหรับสาขา 9.6 จะสร้างจนถึงเดือนพฤศจิกายน 2021, 10 ถึงพฤศจิกายน 2022, 11 ถึงพฤศจิกายน 2023, 12 ถึงพฤศจิกายน 2024, 13 ถึงพฤศจิกายน 2025 รุ่นใหม่จะขจัดช่องโหว่สามประการและแก้ไขข้อผิดพลาดที่สะสม
ช่องโหว่ CVE-2021-32027 อาจส่งผลให้เกิดการเขียนบัฟเฟอร์นอกขอบเขตเนื่องจากการล้นของจำนวนเต็มระหว่างการคำนวณดัชนีอาร์เรย์ ด้วยการจัดการค่าอาร์เรย์ในการสืบค้น SQL ผู้โจมตีที่สามารถเข้าถึงการดำเนินการสืบค้น SQL สามารถเขียนข้อมูลใด ๆ ไปยังพื้นที่หน่วยความจำกระบวนการโดยพลการและบรรลุการเรียกใช้โค้ดของเขาด้วยสิทธิ์ของเซิร์ฟเวอร์ DBMS ช่องโหว่อีกสองช่องโหว่ (CVE-2021-32028, CVE-2021-32029) ทำให้เกิดการรั่วไหลของเนื้อหาหน่วยความจำกระบวนการเมื่อจัดการกับคำขอ “INSERT ... ON CONFLICT ... DO UPDATE” และ “UPDATE ... RETURNING”
การแก้ไขที่ไม่มีช่องโหว่ได้แก่:
- กำจัดการคำนวณที่ไม่ถูกต้องเมื่อดำเนินการ "UPDATE...RETURNING" เพื่ออัปเดตตารางที่แบ่งกลุ่ม
- แก้ไขคำสั่ง "ALTER TABLE ... ALTER CONSTRAINT" ล้มเหลวเมื่อมีข้อจำกัดของคีย์ต่างประเทศร่วมกับการใช้ตารางที่แบ่งพาร์ติชัน
- ฟังก์ชัน "COMMIT AND CHAIN" ได้รับการปรับปรุงแล้ว
- สำหรับ FreeBSD รุ่นใหม่ โหมด fdatasync จะถูกตั้งค่าเป็น thatwal_sync_method ตามค่าเริ่มต้น
- พารามิเตอร์ Vacuum_cleanup_index_scale_factor ถูกปิดใช้งานโดยดีฟอลต์
- แก้ไขหน่วยความจำรั่วที่เกิดขึ้นเมื่อเริ่มต้นการเชื่อมต่อ TLS
- มีการเพิ่มการตรวจสอบเพิ่มเติมใน pg_upgrade สำหรับการมีอยู่ของประเภทข้อมูลในตารางผู้ใช้ที่ไม่สามารถอัปเกรดได้
ที่มา: opennet.ru