İçeriğe atla
Noroxi
CVE-2026-17351· NVD / CVE Programı· CNA PostgreSQL

pgAdmin 4: AI Assistant read-only transaction bypass via sqlparse/PostgreSQL lexer disagreement (incomplete fix for CVE-2026-12045)

Noroxi değerlendirmesi

Öncelik: İzleyin (aksiyon skoru 37/100)

  • Herkese açık kavram kanıtı (PoC) kodu var (GitHub); sahada sömürüldüğüne dair kayıt yok.
  • Önümüzdeki 30 günde sömürülme olasılığı %0,48 (FIRST EPSS).
  • İnternetten erişebilen herkes tetikleyebilir. Düşük yetkili bir hesap yeterli. Özel bir koşul gerekmez; tekrarlanabilir.
  • Düzeltilmiş sürüm: pgadmin4 (openSUSE:Tumbleweed) 9.17-1.1.

Şimdilik düşük öncelik. pgadmin4 (openSUSE:Tumbleweed) 9.17-1.1 ya da daha yeni sürüme yükseltin.

Kaydın verisinden otomatik üretilir: CVSS (NVD ve CNA), CISA KEV ve SSVC, FIRST EPSS, istismar kaynakları, düzeltme sürümleri. Nasıl hesaplıyoruz

Birincil kaynaklar: NVD · CVE.org · FIRST EPSS

The fix for CVE-2026-12045 in pgAdmin 4 9.16 required the LLM-supplied query passed to the AI Assistant's execute_sql_query tool to parse, via sqlparse, as exactly one non-transaction-control statement before running it inside a BEGIN TRANSACTION READ ONLY wrapper. sqlparse's string-literal lexing can disagree with PostgreSQL's own parser: under standard_conforming_strings = on (PostgreSQL's default since 9.1), a backslash immediately before a quote is an ordinary character to PostgreSQL, but sqlparse treats it as escaping the quote. A payload such as SELECT '\';COMMIT;CREATE TABLE pwn(x int);SELECT 1 --' therefore parses as a single SELECT to sqlparse's validator, while PostgreSQL executes it as four statements: the smuggled COMMIT ends the wrapping read-only transaction, and the trailing ROLLBACK becomes a no-op. This reintroduces the same write/RCE bypass CVE-2026-12045 was meant to close, reachable via the same indirect prompt-injection delivery (an attacker plants the payload in any object the AI Assistant may read; the LLM emits it as a tool call). An initial candidate fix ran the query with psycopg's execute(..., prepare=True), intending to force PostgreSQL's own Parse step (extended query protocol) to reject multi-statement text regardless of sqlparse's classification. This candidate fix does not work as submitted: psycopg3's PrepareManager silently ignores the prepare argument whenever the connection's prepare_threshold is None, which is pgAdmin's default for every server connection (the per-server "Prepare threshold" field is blank unless an administrator explicitly sets it) -- psycopg3 falls back to the simple query protocol, the same multi-statement-capable path the bypass exploits, so the candidate fix closes nothing on any real-world default configuration. The corrected fix sets conn.prepare_threshold = 0 directly on the dedicated, single-use read-only connection the AI Assistant tool opens, structurally forcing the extended query protocol independent of any server-level configuration. Verified against a live PostgreSQL 18 instance: the payload executes successfully under the prepare_threshold=None (default) behavior, and is rejected with "cannot insert multiple commands into a prepared statement" once prepare_threshold=0 is set on that connection. This issue affects pgAdmin 4: from 9.13 before 9.17.

KritikCVSS 9.4 · v4.0—Kavram kanıtı Düzeltme var
Yayın
31 Tem 2026
Güncelleme
5 Ağu 2026
EPSS
%0,5 · 40. yüzdelik

Rapor araçları

JSON

Aksiyon skoru

37

İzleyin

Şimdilik düşük öncelik.

CVSS
37 / 40 · 9.4 / 10
CISA KEV
0 / 30 · Listede değil
EPSS
0 / 30 · %0,5

CISA SSVC kararı

Sömürü
yok
Otomatikleştirilebilir
hayır
Teknik etki
tam

Vulnrichment: CISA'nın karar ağacı girdileri.

CNA ile NVD puanı

NVD
—
CNA · PostgreSQL
9,0
NVD henüz kendi puanını vermedi; gösterilen puan CNA’nın.

CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H

Kaydı açan otoritenin puanı ile NVD’nin bağımsız puanı. İki puan arasındaki fark ciddiyetin tartışmalı olduğunu gösterir.

Bu kayıt değişirse haber alın

  • KEV'de değil: sahada sömürü kaydı yok
  • Kavram kanıtı var, silahlaştırılmış modül yok
  • Düzeltme yayımlandı

Bunlardan biri değişirse günlük e-posta özetinde haber veririz.

CVE-2026-17351 kaydını takip edin

Ne zaman haber verilir

  • CISA KEV'e girdiğinde
  • istismar kodu ortaya çıktığında ya da silahlaştırıldığında
  • kayıt güncellendiğinde (düzeltme sürümü dahil)
  • EPSS bir haftada 20 puan arttığında

Günde bir e-posta özeti (06:00 UTC); webhook bağlarsanız KEV ve silahlaştırılmış istismar anında.

Ücretsiz hesapla ayrıca

WordPress siteniz mi var? WP Lens ile ücretsiz tarayın

  • Stack uyarıları: kullandığınız ürün ve sürümleri ekleyin, onları etkileyen yeni CVE'ler size gelsin
  • Port taraması: günde 5 tam tarama (yalnızca üyelere)
  • Site izleme: 1 site, kesintide anında e-posta
  • Alan adınızı doğrulayın: alt alan adları ve ele geçirme riski her hafta taransın
  • Güvenlik araçlarında saatte 10 tarama (hesapsız günde 3), API anahtarı ve MCP
Tüm ücretsiz araçlar

E-postayla kayıt olun · Hesabınız var mı? Giriş yapın

Ücretsiz hesap, kart istenmez. Takibi istediğiniz an bırakırsınız.

WordPress siteniz mi var? WP Lens ile ücretsiz tarayın

Sürümünüz etkileniyor mu? Kontrol edin

Noroxi analizi

Sizin ortamınızda ne anlama geliyor?

Yukarıdaki değerlendirme kaydın verisinden otomatik üretilir; ortamınızı bilmez. Bu açığın sizde gerçekten sömürülebilir olup olmadığını ve hangi önlemin yeteceğini ekibimiz sizin sistemlerinizde doğrular.

Bu ürünü kullanıyoruz, yardım isteyin

Etkilenen sistemler

Sürümünüz etkileniyor mu?

Ürünü seçip kullandığınız sürümü yazın. Bu kaydın sürüm aralıklarıyla tarayıcınızda karşılaştırılır; sürüm hiçbir yere gönderilmez.

ÜreticiÜrün
pgadminpgadmin 4

Etkilenen sürümler

NVD sürüm aralıkları (katalogdaki ürünler için). Stack’ine sürümle eklersen eşleşme bunlarla yapılır.

  • pgadmin pgadmin 49.13 ve sonrası · 9.17 öncesi

Üreticinin bildirdiği sürümler

Kaydı açan otorite (PostgreSQL) tarafından bildirilen etkilenen sürüm aralıkları. NVD'nin CPE analizinden bağımsızdır ve genellikle ondan önce gelir.

  • pgadmin.org pgAdmin 4

    • 9.13 ve sonrası · 9.17 öncesietkilenir

Paket düzeyi etkilenme

OSV ve GitHub Advisory verisi: ekosistem, paket ve aralık. SBOM eşleşmesi bu tabloyu kullanır.

EkosistemPaketEtkilenen aralıkDüzeltme
openSUSE:Tumbleweedpgadmin49.17-1.1 öncesi9.17-1.1

Aynı birincil ürünün en yüksek skorlu diğer kayıtları.

  • CVE-2024-2044Unsafe Deserialisation and Remote Code Execution by an Authenticated user in pgAdmin 4
    63Bu hafta
  • CVE-2024-3116Remote Code Execution Vulnerability through the validate binary path API in pgAdmin 4
    59Planlayın
  • CVE-2022-4223The pgAdmin server includes an HTTP API that is intended to be used to validate the path a user selects to external PostgreSQL utilities suc
    59Planlayın
  • CVE-2025-2945pgAdmin 4: Remote Code Execution in Query Tool and Cloud Deployment
    52Planlayın
  • CVE-2025-12762Remote Code Execution vulnerability when restoring PLAIN-format SQL dumps in server mode (pgAdmin 4)
    43Planlayın
  • CVE-2026-12046pgAdmin 4: Unauthenticated pickle deserialization in SQL Editor close / update_connection routes enables remote code execution
    38İzleyin

Düzeltme

Hangi sürüme geçmeli

Üretici, paket deposu ve Microsoft kayıtlarından derlenen düzeltme sürümleri. Yükseltmeden önce üreticinin notunu doğrulayın.

Ürün / paketDüzeltilmiş sürümKaynak
opensuse:pgadmin49.17-1.1 · openSUSE:TumbleweedPaket deposu (OSV)

İstismar durumu

Kavram kanıtı mevcut

Kamuya açık bir kavram kanıtı ya da tespit imzası var. İstismar bilgisi dışarıda; yamayı geciktirmeyin.

Kanıt

  • GitHub’da kavram kanıtı deposu ×1

Noroxi istismar kodu barındırmaz ve istismar bağlantısı vermez. Metasploit modül adı ve Nuclei şablon kimliği gösterilir (kod değil, ad); Exploit-DB kayıtları ve PoC depoları yalnızca sayı olarak verilir.

Kamuya açık istismar kanıtı
KaynakTürTarih
GitHub’da kavram kanıtı deposustars:02026-07-31

Araştırma bağlamı

Pentester ve araştırmacı için: saldırı profili, puan anlaşmazlığı, zaman çizelgesi, yama commit’leri, kredi, varyant ve zincir adayları, bug bounty kapsamı. Hepsi mevcut veriden türetilir; istismar kodu içermez.

Zaman çizelgesi

Yayından bugüne: kavram kanıtı, Metasploit modülü, CISA KEV ve düzeltme kaydı. Tarihler kaynakların bildirdiği tarihlerdir.

  1. İlk kavram kanıtı-1 gün
  2. Yayın
  3. Bugün15 Eki 2026+76 gün
EPSS son 120 gün

FIRST EPSS günlük puanı; yalnızca 0,01 ve üstü değişimler kaydedilir (adım grafiği).

Yama ve commit bağlantıları

Referanslardaki commit, PR ve diff adresleri. Patch-diff ve varyant avı için başlangıç noktası; istismar değil, düzeltmedir.

CNA kaydında adı geçen bulan, bildiren ve analistler. Ada tıkla, aynı araştırmacının diğer kayıtlarını gör.

Varyant adayları

Aynı üründe aynı zafiyet sınıfı, 18 ay içinde. Yama kök nedeni kapatmadıysa kardeş hata burada olur.

  • CVE-2026-173460 gün araylapgAdmin 4: SQL injection via unescaped object names in index Statistics and publication/subscription dependency views (incomplete fix for CVE-2026-12044)
    34İzleyin
  • CVE-2026-1204443 gün araylapgAdmin 4: SQL injection in COMMENT ON ... IS '<description>' rendering across dialog templates
    34İzleyin
  • CVE-2026-781581 gün araylapgAdmin 4: SQL injection in Maintenance tool option values leading to remote code execution
    34İzleyin
  • CVE-2026-1205043 gün araylapgAdmin 4: SQL injection in named restore point endpoint
    21İzleyin

Zincir adayları

Aynı üründe kimlik doğrulama atlatma ile yetki isteyen bir açık kısa aralıkla yayımlanmış: birlikte kimlik doğrulamasız bir yola dönüşebilir.

  • CVE-2026-8686348 gün araylapgAdmin 4: Authentication bypass via a client-controlled identity header in Webserver authentication mode
    37İzleyin
  • CVE-2026-173480 gün araylapgAdmin 4: Missing authentication decorator on Constraints, preferences, Debugger and Schema Diff routes allows unauthenticated access in SERVER mode (incomplet
    27İzleyin

Bug bounty kapsamı

Bilinen herkese açık program yok.

Kaynak: bounty-targets-data (HackerOne, Bugcrowd, Intigriti, YesWeHack herkese açık listeleri).

Teknik detay

Saldırı koşulları

  • İnternetten erişebilen herkes tetikleyebilir.
  • Düşük yetkili bir hesap yeterli.
  • Özel bir koşul gerekmez; tekrarlanabilir.

Başarılı olursa

Gizlilik
Bütünlük
Erişilebilirlik
Saldırı vektörü
Ağ
Karmaşıklık
Düşük
Gereken yetki
Düşük
Kullanıcı etkileşimi
P
Kapsam
X

CVSS vektörü

CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

nvd-secondary

Kök neden

Sorgu metni, kullanıcı girdisiyle birleştirilerek oluşturuluyor. Veritabanı, verinin nerede bitip komutun nerede başladığını ayırt edemez.

Hatanın kod karşılığı

CWE-89 sınıfının tamamı

Bu zafiyet sınıfının temsili örneği. Üreticinin kaynak kodu değildir; hatalı kalıbı ve düzeltmesini gösterir.

Hatalı

ts
const owner = req.query.owner;const rows = await db.query(  "SELECT * FROM files WHERE owner = '" + owner + "'");

Düzeltilmiş

ts
const owner = req.query.owner;const rows = await db.query(  "SELECT * FROM files WHERE owner = $1",  [owner]);

Değişiklik günlüğü

  1. Düzeltme✗ → ✓

Takip ettiğiniz kayıtlarda bu değişiklikler bildirim olarak da gelir. →

Referanslar

Tüm referansları göster (2 daha)

Üretici bildirimleri ve resmî kayıtlar. İstismar/PoC bağlantıları bilinçli olarak dışarıda bırakıldı.

Tüm kayıtlar