
CVE-2026-18937 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट और लैब रिप्रोडक्शन पैक, जो Broken Link Checker WordPress प्लगइन के 2.4.12 से पहले के संस्करणों में एक अनऑथेंटिकेटेड RCE है।
abraxaslabs.tech · github.com/abraxas · @abraxas_null · CVE-2026-18937
Broken Link Checker 2.4.11 — अज्ञात
Broken Link Checker WordPress प्लगइन 2.4.12 से पहले के संस्करण में यह सीमित नहीं किया जाता कि plain permalinks का उपयोग करने वाली साइटों पर उपयोगकर्ता इनपुट से कौन-से query variables स्वीकार किए जाएँ, जिससे अनधिकृत उपयोगकर्ता मनमाने PHP global variables को अधिलेखित (overwrite) कर सकते हैं, और जब कोई classic (non-block) सक्रिय हो तो सर्वर पर मनमाना कोड निष्पादित कर सकते हैं।
| CVE | CVE-2026-18937 · CVE.org |
| CWE | CWE-94 |
| CVSS | Critical: 9.0 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H |
| Product | Broken Link Checker |
| Affected | 2.4.11 तक के सभी संस्करण (सम्मिलित) |
| Patched | 2.4.12 और बाद के संस्करण |
| Auth | कोई नहीं (source map देखें) |
| License | GNU Affero GPL v3.0 |
| Lab | केवल 127.0.0.1 · vendor/client disclosure pack, स्कैनर नहीं |
Query variable injection, Webhook::parse_request द्वारा $_GET को merge करना है, न कि कोई ajax action=। HTTP, GET / है जिसमें अतिरिक्त query keys होती हैं।
GET/?page_id=4&shortcode_tags[blcpoc]=poc_witness_18937GET /?page_id=<front page id>&shortcode_tags[blcpoc]=poc_witness_18937Webhook::parse_request (plain permalinks) → $wp->query_vars += $_GETWP::register_globals → $GLOBALS['shortcode_tags']['blcpoc']=poc_witness_18937the_content('[blcpoc]') → poc_witness_18937() → POCWitness18937HTTP body में POCWitness18937 होता है। उस string के बिना सामान्य home HTML, यह नहीं है।
पहले यह करें: Broken Link Checker को 2.4.12 या नए संस्करण में अपडेट करें।
अपग्रेड के बाद सत्यापित करें
CVE-2026-18937-Abraxas-Labs.py को फिर से चलाएँ: mapped witness नहीं दिखना चाहिए।यदि आप तुरंत अपडेट नहीं कर सकते
केवल http://127.0.0.1:8088 (या जिस loopback को आपने bind किया है) को लक्षित करें। इस script को इंटरनेट की ओर निर्देशित न करें।
python3 CVE-2026-18937-Abraxas-Labs.py
सफलता response body में ऊपर दिया गया witness है। सामान्य 200 HTML यह नहीं है।
प्रतिलिपि बनाने के लिए उपयोग किया गया loopback stack। आधिकारिक images, जब तक कि इस फ़ोल्डर में कोई Dockerfile source से build न करता हो।
cd lab
docker compose up --force-recreate
यदि YAML किसी स्थानीय directory को mount करता है (version table से plugin zip / source tag), तो vulnerable product tree को Compose के बगल में bind करें। 127.0.0.1 के अलावा कुछ भी publish न करें।
# CVE-2026-18937 (structured records)
- input: `https://nvd.nist.gov/vuln/detail/CVE-2026-18937`
- CWE: CWE-94
- published: 2026-08-19T06:17:38.847
## NVD description
The Broken Link Checker WordPress plugin before 2.4.12 does not limit which query variables it accepts from user input on sites using plain permalinks, allowing unauthenticated users to overwrite arbitrary PHP global variables, and to execute arbitrary code on the server when a classic (non-block) is active.
## MITRE description
The Broken Link Checker WordPress plugin before 2.4.12 does not limit which query variables it accepts from user input on sites using plain permalinks, allowing unauthenticated users to overwrite arbitrary PHP global variables, and to execute arbitrary code on the server when a classic (non-block) is active.
## Affected
- Unknown Broken Link Checker 0 affected
## References (JSON sources only)
- https://wpscan.com/vulnerability/a23b76eb-107d-4e02-8eae-c3c5fa5b003d/
- https://github.com/advisories/GHSA-c2xc-88v3-37g2
- https://nvd.nist.gov/vuln/detail/CVE-2026-18937
- https://wpscan.com/vulnerability/a23b76eb-107d-4e02-8eae-c3c5fa5b003d
## GitHub advisory
The Broken Link Checker WordPress plugin before 2.4.12 does not limit which query variables it...
The Broken Link Checker WordPress plugin before 2.4.12 does not limit which query variables it accepts from user input on sites using plain permalinks, allowing unauthenticated users to overwrite arbitrary PHP global variables, and to execute arbitrary code on the server when a classic (non-block) is active.
यह disclosure pack GNU Affero General Public License v3.0 के अंतर्गत लाइसेंस प्राप्त है। LICENSE देखें।
यह pack vendor, site owner, और licensed labs के लिए है। Script 127.0.0.1 से बात करता है। जिन systems के आप स्वामी नहीं हैं, उनके विरुद्ध इसका उपयोग Abraxas Labs द्वारा अधिकृत नहीं है। कोई वारंटी नहीं।