CyberSectr
Menü
← CVE Veritabanı

CVE-2026-86583

Yüksek

Teknik Veri (Otomatik)

CVSS Skoru
8.8
EPSS
CWE
CWE-266
KEV Durumu
Hayır

WordPress için İthalat ve İhracat kullanıcıları ve müşterileri eklentisi, 2.4.17 sürümüne kadar olan tüm sürümlerde, eklentinin kendi ihracat ve yeniden ithalat iş akışı aracılığıyla İzin Yükseltmesine karşı savunmasızdır. Zafiyet, ihracatçının fputcsv() kullanarak CSV hücrelerini NUL bayt (\0) kaçış karakteri ile yazması, ancak ithalatçının aynı dosyayı yalnızca tek bir ayırıcı argümanı ile SplFileObject::fgetcsv() kullanarak ayrıştırmaya çalışması nedeniyle oluşur; bu, PHP'nin varsayılan ters slash kaçış karakterinin uygulanmasına neden olur. İhracat sütun düzeni, display_name alanını role sütununun hemen önüne ve nickname alanını da hemen arkasına yerleştirir; bu nedenle bir saldırgan, WordPress çekirdeği tarafından standart profil sayfası aracılığıyla kaydedilen bu iki profil alanına özel değerler depolayabilir. Kaçış uyuşmazlığı, ayrıştırıcının display_name hücresini role alanına birleştirmesine ve nickname aracılığıyla sütun sayısını yeniden dengelemesine neden olur; bu da import_user işlevinin add_role işlevine ulaştığında, kendi satırında yönetici olarak ayrıştırılmış rolü sağlar. Bu, kimlik doğrulama yapılmış saldırganların Abone düzeyinde veya üstü erişimle yetkilerini Yöneticiye yükseltebilmesine olanak tanır. İstismar için, bir site yöneticisinin eklentinin belgelenen ihracat yeniden ithalat geçişini "Mevcut kullanıcıları güncelle" ve "Mevcut kullanıcılar için rolleri güncelle" ayarlarını "evet" olarak ayarlayarak tetiklemesi gerekir.

Orijinal açıklama (İngilizce)

The Import and export users and customers plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 2.4.17 via the plugin's own export and re-import workflow. The vulnerability exists because the exporter writes CSV cells using fputcsv() with a NUL byte (\0) as the escape character, while the importer parses the same file using SplFileObject::fgetcsv() with only a single delimiter argument, causing PHP's default backslash escape character to be applied instead; because the export column layout places display_name immediately before the role column and nickname immediately after, an attacker can store crafted values in those two profile fields — saved by WordPress core via the standard profile page — such that the escape mismatch causes the parser to merge the display_name cell into the role field and rebalance the column count via nickname, yielding administrator as the parsed role for their own row when it reaches the import_user function's add_role function. This makes it possible for authenticated attackers with Subscriber-level access or above to escalate their privileges to Administrator. Exploitation requires a site administrator to trigger the plugin's documented export re-import migration with both "Update existing users" and "Update roles for existing users" set to "yes".

Bu CVE için henüz editoryal inceleme yapılmadı. Sadece otomatik teknik veri gösteriliyor.