CVE-2026-12047

Aşağı

Təsvir

pgAdmin 4-ün bulud yerləşdirmə modulunda HTML inyeksiyası aşkar edilmişdir. /rds/, /azure/, /google/ və yuxarı səviyyəli /cloud/ blueprint-ləri altındakı verify_credentials, deploy, regions və update-server son nöqtələri (endpoints), AWS / Azure / Google SDK istisna mətnlərini — və onlarla əlaqəli faylın həlli (file-resolution) və verilənlər bazasına commit (database-commit) istisna mətnlərini — HTML-kodlaşdırma olmadan JSON cavab gövdəsinə (info və errormsg sahələrinə) ötürürdü. Cloud Wizard frontendi bu sətirləri html-react-parser vasitəsilə render etdiyi üçün hücumçunun təsir etdiyi istisna mesajı struktur HTML elementlərini birbaşa wizard-ın DOM-una daxil edirdi. Bildirilmiş giriş nöqtəsi /rds/verify_credentials/ yoludur. Autentifikasiya olunmuş pgAdmin istifadəçisi dəyəri <iframe/src=...> payload-u ehtiva edən hazırlanmış access_key göndərir; AWS STS bu etibarnaməni access_key-i olduğu kimi sitat gətirən IncompleteSignature istisnası ilə rədd edir; pgAdmin backend-i həmin mətni JSON info sahəsinə yönləndirir; Cloud Wizard-ın FormFooterMessage komponenti isə onu HTML kimi parse edir. Brauzer iframe-in src ünvanını hücumçu tərəfindən idarə olunan hostdan götürür və kross-domenli iframe daxilində icra olunan JavaScript kodu parent.location-a yazı yazaraq qurbanın pgAdmin tab-ını yönləndirir. İnyeksiya pgAdmin-in öz interfeysində baş verdiyi üçün X-Frame-Options və Content-Security-Policy frame-ancestors bunu önləmir. Əsas təsir özünə yönəlmişdir (payload-u təqdim edən istifadəçi inyeksiyanı görür); digər autentifikasiya olunmuş istifadəçilərə qarşı eskalasiya üçün qurbanın brauzer kontekstində düzgün X-pgA-CSRFToken ilə yanlış formalaşdırılmış etibarnamə sorğusunu göndərə bilən əlavə kross-sayt sorğu saxtakarlığı (CSRF) primitivi tələb olunur. Eyni təmizlənməmiş xətanın JSON-a ötürülməsi nümunəsi bir çox paralel son nöqtələrdə mövcuddur idi — Azure-nun check_cluster_name_availability funksiyasında, SDK xətalarını üzə çıxaran bütün Google son nöqtələrində (verification_ack, projects, regions, instance_types, database_versions, verify_credentials yol-həlli budaqları), deploy_on_rds / deploy_on_azure / deploy_on_google funksiyalarından str(e)-ni ötürən mərkəzi /deploy son nöqtəsində və uğursuz db.session.commit-dən str(e)-ni üzə çıxaran update_cloud_server funksiyasında — bunların hamısı artıq əhatə olunub. Düzəliş, yeni paylaşılan sanitize_external_text köməkçisi (idarəetmə simvollarının silinməsi ilə HTML escape) vasitəsilə hər bir xarici/SDK istisna sətirini son nöqtədə HTML-escape edir; bu köməkçi psycopg3 drayverindən web/pgadmin/utils/text_sanitize.py faylına köçürülüb. Cloud Wizard frontendi əlavə olaraq, backend-dən gələn sətirlər üçün FormFooterMessage-ı sadə mətn (plain-text) rejimində render edir, beləliklə, gələcəkdə hansısa son nöqtədə escape unudulsa belə, dəyər heç vaxt HTML kimi parse edilməyəcək. Bu problem pgAdmin 4-ün 6.6 versiyasından 9.16 versiyasına qədər olan hissəsinə təsir edir.

CiddilikAşağı
CVSS3.5
İstismar ehtimalı—
MəhsulPgadmin 4
Dərc19 iyn 2026
İlk görülmə19 iyn 2026

Necə düzəltmək olar

Yeniləyin
  • pgadmin pgadmin_49.16 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
pgadmin pgadmin_46.6 ≤ v < 9.169.16

Versiyanızı yoxlayın

Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.

Intelligence 360 paketində

Attack Surface Management

Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.

CVE-2026-12047 · Pgadmin 4 · Dark Radar