უკან დაბრუნება

PostgreSQL-მა 52 ხარვეზი გამოასწორა, მათ შორის 22 წლის ხარვეზი
SiTech AI Team3 წთ. საკითხავი

PostgreSQL-მა 52 ხარვეზი გამოასწორა, მათ შორის 22 წლის ხარვეზი

PostgreSQL-ის განახლებები ასწორებს 52 უსაფრთხოების ხარვეზს, მათ შორის ტიპების არევის ხარვეზს CVE-2026-6460, რომელმაც ობიექტების შექმნის უფლების მქონე ავთენტიფიცირებულ მომხმარებელს შესაძლოა სერვერზე კოდის გაშვების საშუალება მისცა.

PostgreSQL-მა 52 უსაფრთხოების ხარვეზი გამოასწორა, მათ შორის CVE-2026-6460, ტიპების არევის ხარვეზი CVSS-ის 8,8 ქულით. ის შესაძლოა ობიექტების შექმნის უფლების მქონე ავთენტიფიცირებულ მომხმარებელს სერვერზე კოდის გაშვების საშუალებას აძლევდეს. პროექტს ამ ხარვეზის გამოყენებით თავდასხმების შესახებ არ შეუტყობინებია, CISA-ს CVE ჩანაწერში კი ექსპლუატაცია არ არის მითითებული.

ხარვეზი

CVE-2026-6460 ეხება PostgreSQL-ის ვერსიებს 18.7, 17.12, 16.16, 15.20 და 14.25-მდე. კომპოზიტური ტიპი დასახელებული ველებისგან შედგება, თითოეულს კი თავისი მონაცემთა ტიპი აქვს. ველის ტიპის შეცვლისას ძველი მნიშვნელობები სხვაგან რჩება, ამიტომ სერვერს ძველი მნიშვნელობა ისე წაეკითხა, თითქოს ის ახალი ტიპისა იყო. გამოსწორება ვერსიის შემოწმებებს ამატებს, რათა სერვერმა ამოიცნოს მნიშვნელობა, რომელიც უკვე აღარ შეესაბამება თავის ტიპს. ხარვეზის გავლით გაშვებულ კოდს იმ საოპერაციო სისტემის მომხმარებლის უფლებები აქვს, რომლის სახელითაც PostgreSQL მუშაობს.

ექსპლოიტის კვლევა

Mehmet Ince-მა ამ კვირაში გამოაქვეყნა ტექნიკური წერილი PostgreSQL 18.6-ზე მოქმედ ექსპლოიტზე. მისი მეთოდი მნიშვნელობის შემცველ მოთხოვნას ამზადებს, ერთი ველის ტიპს ცვლის და შემდეგ მოთხოვნას უშვებს. წერილშია SQL, რომელიც გაუნახლებელ სერვერს ავარიულად აჩერებს, და მეხსიერების მისამართების გაჟონვის მეორე ნაბიჯი, მაგრამ არა SQL იმ საბოლოო ნაბიჯისთვის, რომლითაც სერვერი ბრძანებას უშვებს. მან დაწერა, რომ ამ ავარიის გამოწვევა ყველაზე დაბალი უფლებების მქონე შესვლის როლითაც შეეძლო. გაფრთხილებაში თავდამსხმელი მხოლოდ ობიექტების შექმნის უნარის მქონე პირადაა აღწერილი, საჭირო უფლებები კი არ არის მითითებული. Red Hat-ის თქმით, საჭიროა მონაცემთა ბაზაში შესვლა ობიექტების შექმნის ან შეცვლის უფლებით. ეს წყაროები პასუხს არ იძლევიან კითხვაზე, შეუძლია თუ არა მხოლოდ ნაგულისხმევი უფლებების მქონე ანგარიშს ავარიის მიღმა გასვლა და კოდის გაშვება.

Ince-მ ხარვეზის სათავედ 2004 წლის 5 მაისი დაასახელა, როცა PostgreSQL-მა სვეტის ტიპის შეცვლა შეძლო. ტექნიკა ეყრდნობა 2015 წლის 14 მაისის ცვლილებას. მან ექსპლოიტი მართულ სერვისებზეც მოარგო და აგვისტოში პროვაიდერების უსაფრთხოების გუნდებს PoC-ები პირადად გაუზიარა.

სხვა გამოსწორებები

პროექტი CVE-2026-6460-ისთვის ათზე მეტ მაცნობს ასახელებს, მათ შორის თავად მკვლევარს, და მასვე იმავე გამოშვების კიდევ ხუთ ხარვეზზე აღნიშნავს. 52 ხარვეზიდან 32-ს 8,8 ქულა აქვს, რაც გამოშვებაში უმაღლესი ქულაა. მოწყვლადობის ინდექსის მიხედვით, მხოლოდ ერთი სერვერული ხარვეზი არ მოითხოვს არც შესვლას და არც მომხმარებლის მოქმედებას: CVE-2026-116322 არაავთენტიფიცირებულ კლიენტს PostgreSQL 18 სერვერების გადატვირთვის საშუალებას აძლევს. კლიენტურ ხელსაწყოებშიც გამოსწორდა ხარვეზები: სპეციალურად მომზადებულმა არქივმა შეიძლება pg_restore თავისივე მომხმარებლის სახელით კოდი აუშვას, ხოლო კომპრომიტირებულმა წყაროს სერვერმა psql pg_dump-ის tar გამოსავლის გავლით კოდი აუშვას.

ადმინისტრატორის ნაბიჯები

განაახლეთ სერვერი 18.7, 17.12, 16.16, 15.20 ან 14.25 ვერსიამდე, თქვენი მთავარი ვერსიის შესაბამისად. ამავდროულად ხელახლა ააწყვეთ ან განაახლეთ ყველა C ენის გაფართოება. ძველი გამოშვებებისთვის აწყობილი გაფართოებები მაინც იტვირთება, მაგრამ შეიძლება დაუცველი დარჩეს ამ გამოშვებაში გამოსწორებული ხარვეზების მიმართ. თუ PostgreSQL პაკეტის საკუთარი სერვისის გარეთ მუშაობს, მაგალითად Patroni-ს მართვის ქვეშ, განახლებისთანავე გადატვირთეთ ის. განაახლეთ pg_dump, pg_restore, reindexdb და vacuumdb ყველა მანქანაზე, სადაც ისინი მუშაობს. ნუ გამოიყენებთ ახალ composite_type_mismatch პარამეტრს შემოწმებების გამოსართავად, რადგან პროექტის თქმით ეს უსაფრთხოების რისკებს ქმნის. გაფრთხილება და გამოშვების შენიშვნები გამოსავალს არ გვთავაზობს იმ სერვერებისთვის, რომელთა განახლებაც ჯერ შეუძლებელია.

PostgreSQL 14-ის სიცოცხლის ციკლი დასრულდა, 14.25 კი მისი ბოლო გამოშვებაა. ძველი მთავარი ვერსიებიც დაზარალებულია და განახლება არ მიუღიათ. განახლების შემდეგ შეასრულეთ გამოშვების განცხადებაში მოცემული ხელახალი ინდექსირების ნაბიჯები. თუ ინკრემენტულ სარეზერვო ასლებს იყენებთ, შექმენით ახალი სრული ასლი და შემდგომი ინკრემენტული ასლები მასზე ააგეთ.

წყაროები: The Hacker News

გააზიარე ციფრული გამოცდილება

SiTech

SiTech — AI-გაძლიერებული ვებ დეველოპმენტი

ვქმნით სწრაფ, თანამედროვე ვებსაიტებს და AI-ს ვაერთიანებთ ქართული ბიზნესებისთვის. გაქვთ პროექტი ან კითხვა? სიამოვნებით დაგეხმარებით.