
CVE-2026-19089 के लिए शोध भंडार, जो Tyche Softwares द्वारा WooCommerce Product Input Fields में एक रिमोट कमांड निष्पादन भेद्यता है। इसमें अधिकृत प्रयोगशाला परीक्षण के लिए ड्राफ्ट शोध स्क्रिप्ट और नोट्स शामिल हैं।

Product Input Fields for WooCommerce < 2.0.2 - अनधिकृत मनमाना फ़ाइल अपलोड
Tyche Softwares का Product Input Fields for WooCommerce प्लगइन फ़ील्ड की accepted-types सेटिंग खाली छोड़े जाने पर अपलोड की गई फ़ाइल प्रकारों को मान्य नहीं करता (इसका स्वयं का दस्तावेज़ीकरण इसे "accept all files" के रूप में प्रचारित करता है)। एक अनधिकृत अतिथि add-to-cart पर मनमानी फ़ाइल संलग्न कर सकता है, चेकआउट पूरा कर सकता है, और प्लगइन अपलोड निर्देशिका के अंतर्गत ऑब्जेक्ट को पुनः प्राप्त कर सकता है। उन होस्टों पर जो उस ट्री को PHP के रूप में निष्पादित करते हैं, वही पथ रिमोट कोड एक्ज़ीक्यूशन है।
| CVE | CVE-2026-19089 |
| CWE | CWE-434: Unrestricted Upload of File with Dangerous Type |
| CVSS 3.1 | 9.8 Critical (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) |
| Vendor | Tyche Softwares |
| Product | Product Input Fields for WooCommerce (product-input-fields-for-woocommerce) |
| Affected | 2.0.0 से 2.0.1 तक (प्लगइन 2.0.2 से पहले) |
| Patched | 2.0.2 |
| Related | CVE-2024-13359 (1.12.0 तक सीमित AFU) |
| CNA | WPScan |
यह रिपॉज़िटरी केवल अधिकृत परीक्षण के लिए Abraxas Labs का प्रूफ-ऑफ-कॉन्सेप्ट रखती है - विक्रेता प्रकटीकरण, लैब प्रतिकृति, या ऐसा होस्ट जिसका मूल्यांकन करने के लिए आपके पास लिखित अनुमति है।
मैंने क्लाइंट को Product Input Fields 2.0.1, अतिथि चेकआउट सहित Cash on Delivery, और एक वैश्विक File फ़ील्ड जिसके accepted types खाली थे, वाले स्थानीय WooCommerce शॉप के विरुद्ध चलाया। स्क्रिप्ट अपलोड और चेकआउट को स्टेज करती है; यह वेबशेल प्रदान नहीं करती।
File-प्रकार का उत्पाद इनपुट फ़ील्ड स्टोरफ्रंट add-to-cart फ़ॉर्म से alg_wc_pif_global_* / alg_wc_pif_local_* के रूप में बंधा होता है। जब accepted file types खाली होते हैं, तो प्लगइन अतिथि द्वारा पोस्ट की गई किसी भी चीज़ को संग्रहीत करता है। सफल ऑर्डर के बाद फ़ाइल wp-content/uploads/product_input_fields/ के अंतर्गत संरक्षित होती है, आमतौर पर {item_id}_{original_filename} नाम से।
साइटें तब उजागर होती हैं जब ये सभी सत्य हों:
उन परिस्थितियों में प्रभाव वेब उपयोगकर्ता के रूप में मनमानी फ़ाइल राइट है। यदि अपलोड निर्देशिका निष्पादन योग्य है, तो वह साइट टेकओवर है।
क्लाइंट स्टोरफ्रंट पर ही रहता है। इसमें PHP वेबशेल या रिवर्स शेल शामिल नहीं है।
GET करें, PIF फ़ाइल फ़ील्ड नाम और add-to-cart उत्पाद id एकत्र करें।image/png) के साथ add-to-cart पर POST करें। डिफ़ॉल्ट फ़ाइलनाम pifx.php है ताकि लैब देख सके कि प्लगइन ने खतरनाक एक्सटेंशन की अनुमति दी या नहीं। मार्कर निष्पादन योग्य PHP नहीं है।/?wc-ajax=checkout के माध्यम से अतिथि चेकआउट।redirect का अनुसरण करें, फिर SHELL_OK साक्ष्य की खोज में wp-content/uploads/product_input_fields/{1..499}_{name} और POST x को स्वीप करें। [ LIVE ] केवल तब प्रिंट होता है जब वह साक्ष्य वापस आता है।CVE-2026-19089-WooCommerce-Tyche-Abraxas-Labs.py एक छोटा Python 3 क्लाइंट है: रंगीन figlet बैनर, फिर ऊपर के चार चरण। यह केवल उन URL से बात करता है जो आप कमांड लाइन पर पास करते हैं।
requestsHomebrew Python (PEP 668) वाले macOS पर, सिस्टम pip install के बजाय venv का उपयोग करें:
python3 -m venv .venv
.venv/bin/pip install requests
CVE-2026-19089-WooCommerce-Tyche-Abraxas-Labs.py <base_url> <product_url> [shell_name]
.venv/bin/python3 CVE-2026-19089-WooCommerce-Tyche-Abraxas-Labs.py \
https://shop.example \
https://shop.example/product/demo/
तीसरा आर्ग्युमेंट अपलोड किया गया फ़ाइलनाम सेट करता है; डिफ़ॉल्ट pifx.php है।
दो से कम आर्ग्युमेंट के साथ स्क्रिप्ट बैनर और उपयोग प्रिंट करती है, फिर 1 के साथ बाहर निकल जाती है। यह पुष्टि करने का सुरक्षित तरीका है कि क्लाइंट शुरू होता है।
अतिथि चेकआउट और एक उपयोगी गेटवे (क्लाइंट payment_method=cod भेजता है) वाला WooCommerce, Product Input Fields 2.0.2 से पहले, और एक प्रकाशित उत्पाद जिसका File फ़ील्ड किसी भी प्रकार को स्वीकार करता है। 2.0.2+ या कड़ी allow-list वाले फ़ील्ड के विरुद्ध, ऑब्जेक्ट .php अपलोड के रूप में नहीं पहुँचना चाहिए।
इसे किसी भी ऐसे होस्ट पर निर्देशित न करें जो आपका न हो या जिसके परीक्षण के लिए आपके पास लिखित अनुमति न हो।
wp-content/uploads/product_input_fields/ (और कुछ लेआउट पर woocommerce_uploads/alg_uploads/product_input_fields/) का निरीक्षण करें, अप्रत्याशित ऑब्जेक्ट हटाएँ, और wp-admin के लिए सीक्रेट रोटेट करें।केवल अनुसंधान और शैक्षिक उपयोग। इस सामग्री को किसी भी होस्ट के विरुद्ध तब तक न चलाएँ, तैनात न करें, या उपयोग न करें जब तक कि आपके पास इस रिपॉज़िटरी को होस्ट करने वाले पक्ष और लक्ष्य सिस्टम के स्वामी दोनों से स्पष्ट लिखित अनुमति न हो।
Abraxas Labs · abraxaslabs.tech · github.com/abraxas · @abraxas_null