Эмзэг байдлыг зассан PostgreSQL шинэчлэлт. pg_ivm 1.0 хувилбар

14.3, 13.7, 12.11, 11.16 болон 10.22 гэсэн бүх дэмжигдсэн PostgreSQL салбаруудад залруулах шинэчлэлтүүдийг үүсгэсэн. 10.x салбар нь дэмжлэгийн төгсгөлд ойртож байна (шинэчлэлтүүд 2022 оны 11-р сар хүртэл хийгдэнэ). 2023.x салбарын шинэчлэлтүүд 12 оны 2024-р сар хүртэл, 13.x 2025 оны 14-р сар хүртэл, 2026.x XNUMX оны XNUMX-р сар хүртэл, XNUMX.x нь XNUMX оны XNUMX-р сар хүртэл үргэлжилнэ.

Шинэ хувилбарууд нь 50 гаруй засварыг санал болгож, Autovacuum, REINDEX, CREATE INDEX, REFRESH MATERİALIZED VIEW, CLUSTER болон pg_amcheck зэрэг давуу эрхтэй үйлдлүүдийн гүйцэтгэлийн тусгаарлалтыг тойрч гарах чадвартай холбоотой CVE-2022-1552 эмзэг байдлыг арилгадаг. Ямар ч хадгалалтын схемд түр зуурын бус объект үүсгэх эрх бүхий халдагч нь давуу эрх бүхий хэрэглэгч халдагчийн объектод нөлөөлөх дээрх үйлдлүүдийг хийж байх үед дурын SQL функцуудыг root эрхээр гүйцэтгэхэд хүргэж болно. Ялангуяа, автомат вакуум зохицуулагчийг ажиллуулах үед мэдээллийн санг автоматаар цэвэрлэх явцад эмзэг байдлыг ашиглах боломжтой.

Хэрэв шинэчлэлт хийх боломжгүй бол уг асуудлыг хаах арга зам бол autovacuum-ийг идэвхгүй болгож, REINDEX, CREATE INDEX, REFRESH MATERIALIZED VIEW, CLUSTER үйлдлүүдийг root хэрэглэгчийн хувьд хийхгүй байх, мөн pg_amcheck-ийг ажиллуулахгүй байх эсвэл pg_dump-ийн үүсгэсэн нөөцөөс контентыг сэргээх явдал юм. . Боловсруулж буй объектууд нь итгэмжлэгдсэн хэрэглэгчдийн эзэмшилд байгаа тохиолдолд VACUUM-ыг гүйцэтгэх нь аливаа командын үйлдлүүдийн адил аюулгүй гэж тооцогддог.

Шинэ хувилбаруудын бусад өөрчлөлтүүд нь JIT кодыг LLVM 14-тэй ажиллахын тулд шинэчлэх, psql, pg_dump болон pg_amcheck хэрэгслүүдэд database.schema.table загваруудыг ашиглах, ltree багана дээрх GiST индексүүдийн эвдрэлд хүргэдэг асуудлуудыг засах, буруу. интервалын өгөгдлөөс гаргаж авсан форматын эрин үе, асинхрон алсын хайлтыг ашиглах үед төлөвлөгчийн буруу ажиллагаа, илэрхийлэлд суурилсан түлхүүр бүхий индексүүд дээр CLUSTER илэрхийлэлийг ашиглах үед хүснэгтийн мөрүүдийг буруу эрэмбэлэх, дараа нь хэвийн бус дуусгавар болсноос өгөгдөл алдагдах. GiST эрэмбэлэгдсэн индексийг бүтээх, хуваах индексийг устгах явцад үүсэх мухардмал байдал, DROP TABLESPACE үйлдэл болон хяналтын цэгийн хоорондох уралдааны нөхцөл.

Нэмж дурдахад, PostgreSQL 1.0-д зориулсан IVM (Incremental View Maintenance) дэмжлэгийг хэрэгжүүлснээр pg_ivm 14 өргөтгөл гарсныг бид тэмдэглэж болно. IVM нь материаллаг үзэл бодлыг шинэчлэх өөр аргыг санал болгодог бөгөөд хэрэв өөрчлөлт нь үзвэрийн багахан хэсэгт нөлөөлж байвал илүү үр дүнтэй байдаг. IVM нь материалжуулсан харагдацыг REFRESH MATRIALIZED VIEW үйлдлийг ашиглан харагдацыг дахин тооцоолохгүйгээр зөвхөн нэмэлт өөрчлөлтөөр шууд шинэчлэх боломжийг олгодог.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх