Zaiflikni tuzatish bilan PostgreSQL yangilanishi. pg_ivm 1.0 versiyasi

Barcha qo'llab-quvvatlanadigan PostgreSQL filiallari uchun tuzatuvchi yangilanishlar yaratildi: 14.3, 13.7, 12.11, 11.16 va 10.22. 10.x filiali qo'llab-quvvatlashning oxiriga yaqinlashmoqda (yangilanishlar 2022 yil noyabrigacha ishlab chiqariladi). 11.x filiali uchun yangilanishlarning chiqarilishi 2023 yil noyabrigacha, 12.x 2024 yil noyabrigacha, 13.x 2025 yil noyabrigacha, 14.x 2026 yil noyabrigacha davom etadi.

Yangi versiyalar 50 dan ortiq tuzatishlarni taklif qiladi va imtiyozli operatsiyalarni Autovacuum, REINDEX, CREATE INDEX, REFRESH MATERIALIZED VIEW, CLUSTER va pg_amcheck operatsiyalarini bajarish izolyatsiyasini chetlab o'tish qobiliyati bilan bog'liq CVE-2022-1552 zaifligini yo'q qiladi. Har qanday saqlash sxemasida vaqtinchalik bo'lmagan ob'ektlarni yaratish vakolatiga ega bo'lgan tajovuzkor, imtiyozli foydalanuvchi tajovuzkor ob'ektiga ta'sir qiluvchi yuqoridagi operatsiyalarni bajarayotganda, o'zboshimchalik bilan SQL funktsiyalarining ildiz huquqlari bilan bajarilishiga olib kelishi mumkin. Xususan, zaiflikdan foydalanish avtovakuum ishlov beruvchisi bajarilganda ma'lumotlar bazasini avtomatik tozalash paytida yuzaga kelishi mumkin.

Agar yangilash imkoni bo'lmasa, muammoni blokirovka qilishning vaqtinchalik yechimi avtovakuumni o'chirib, REINDEX, CREATE INDEX, MATERIALIZED KO'RISHNI YANGILASH va CLUSTER operatsiyalarini ildiz foydalanuvchisi sifatida bajarmaslik va pg_amcheck dasturini ishga tushirmaslik yoki pg_dump tomonidan yaratilgan zaxiradan tarkibni tiklamaslikdir. . VACUUMni bajarish har qanday buyruq operatsiyalari kabi xavfsiz hisoblanadi, agar qayta ishlanayotgan ob'ektlar ishonchli foydalanuvchilarga tegishli bo'lsa.

Yangi nashrlardagi boshqa o'zgarishlar JIT kodini LLVM 14 bilan ishlash uchun yangilash, psql, pg_dump va pg_amcheck yordam dasturlarida database.schema.table shablonlaridan foydalanishga ruxsat berish, ltree ustunlari bo'yicha GiST indekslarining buzilishiga olib keladigan muammolarni tuzatish, noto'g'ri intervalli ma'lumotlardan olingan formatdagi qiymatlarni yaxlitlash, asinxron masofaviy so'rovlarni qo'llashda rejalashtiruvchining noto'g'ri ishlashi, ifodaga asoslangan kalitlarga ega indekslarda CLUSTER ifodasini qo'llashda jadval qatorlarini noto'g'ri tartiblash, darhol keyin g'ayritabiiy tugatish tufayli ma'lumotlar yo'qolishi. GiST saralangan indeksini yaratish, bo'lingan indeksni o'chirish paytidagi boshlanish, DROP TABLESPACE operatsiyasi va nazorat punkti o'rtasidagi poyga holati.

Bundan tashqari, PostgreSQL 1.0 uchun IVM (Incremental View Maintenance) qo‘llab-quvvatlashini amalga oshirish bilan pg_ivm 14 kengaytmasining chiqarilishini qayd etishimiz mumkin. IVM materiallashtirilgan ko‘rinishlarni yangilashning muqobil usulini taklif qiladi, agar o‘zgartirishlar ko‘rinishning kichik qismiga ta’sir qilsa, yanada samaraliroq bo‘ladi. IVM materiallashtirilgan ko'rinishlarni faqat bosqichma-bosqich o'zgartirishlar bilan bir zumda yangilash imkonini beradi, bu ko'rinishni REFRESH MATERIALIZED VIEW operatsiyasidan foydalanib qayta hisoblamasdan.

Manba: opennet.ru

a Izoh qo'shish