CVE-2026-19803
KritikTeknik Veri (Otomatik)
- CVSS Skoru
- 9.8
- EPSS
- 1.0%
- CWE
- CWE-94
- KEV Durumu
- Hayır
Yayım tarihi: 7 Kasım 2026
The Printcart Store – Web to Print Product Designer for WooCommerce eklentisi, WordPress için, 2.13.2 sürümüne kadar olan tüm sürümlerde keyfi dosya yükleme zafiyeti içerir. Bu, `nbu_crop_image` AJAX işleyicisinin bir kullanıcı tarafından sağlanan `url` parametresini kabul etmesi ve `Nbdesigner_IO::convert_url_to_path()` işlevinin bu parametreyi yükleme temel dizinine eklemesi, ancak `../` dizilerini normalize etmemesi veya silememesi nedeniyle oluşur. Ardından, hem çıktı dizini hem de çıktı dosyası uzantısı, saldırganın kontrol ettiği aynı yoldan `pathinfo()` işlevi kullanılarak türetilir - `writeImage()` çağrılmeden önce `stripImage()` çağrısı yapılmaz. Bu, kimlik doğrulamış saldırganların, yükleme dizisinin dışında keyfi konumlara saldırganın kontrol ettiği PHP içeriğini yazmasına olanak tanır ve yazılmış dosya daha sonra istendiğinde uzaktan kod çalıştırılmasına neden olur. Bu zafiyet, yalnızca `nbdesigner_upload_popup_style` site seçeneği `a` (Gelişmiş Yükleme Açılır Penceresi) olarak ayarlandığında kullanılabilir; bu, işleyicinin kimlik doğrulamış isteklere kaydedilmesine neden olur. Ancak gerekli `save-design` nonce, tamamen halka açık ön uç `upload-design-file` sayfasında yazdırıldığından, bu yapılandırma etkin olduğunda herhangi bir anonim ziyaretçi tarafından kolayca elde edilebilir.
Orijinal açıklama (İngilizce)
The Printcart Store – Web to Print Product Designer for WooCommerce plugin for WordPress is vulnerable to Arbitrary File Upload in all versions up to, and including, 2.13.2. This is due to the `nbu_crop_image` AJAX handler accepting a user-supplied `url` parameter that `Nbdesigner_IO::convert_url_to_path()` concatenates onto the uploads base directory without normalizing or stripping `../` sequences, and then deriving both the output directory and output file extension via `pathinfo()` from the same attacker-controlled path — with no `stripImage()` call before `writeImage()` is invoked. This makes it possible for unauthenticated attackers to write attacker-controlled PHP content to arbitrary locations outside the uploads directory, resulting in remote code execution when the written file is subsequently requested. This vulnerability is only exploitable when the `nbdesigner_upload_popup_style` site option is set to `a` (Advanced Upload Popup), which causes the handler to be registered for unauthenticated requests; however, the required `save-design` nonce is printed on the fully public frontend `upload-design-file` page, making it trivially obtainable by any anonymous visitor once that configuration is active.
Referanslar
- https://plugins.trac.wordpress.org/browser/printcart-integration/tags/2.8.4/includes/class-util.php#L165
- https://plugins.trac.wordpress.org/browser/printcart-integration/tags/2.8.4/includes/class-util.php#L586
- https://plugins.trac.wordpress.org/browser/printcart-integration/tags/2.8.4/includes/class.advanced.upload.php#L272
- https://plugins.trac.wordpress.org/browser/printcart-integration/tags/2.8.4/includes/class.advanced.upload.php#L284
- https://plugins.trac.wordpress.org/browser/printcart-integration/tags/2.8.4/includes/class.advanced.upload.php#L56
- https://plugins.trac.wordpress.org/changeset?reponame=&old=3747660%40printcart-integration&new=3747660%40printcart-integration
Bu CVE için henüz editoryal inceleme yapılmadı. Sadece otomatik teknik veri gösteriliyor.